Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[INNE][Java] Pisanie własnego X-Ray'a & FullBright!


Gaw3l

Rekomendowane odpowiedzi

Opublikowano

Witam.

Chciałbym Wam dziś pokazać jak napisać własnego "iks-reja" do Minecraft SSP & SMP. Dodatkiem będzie tzw. fullbright, czyli rozjaśnianie bloków (no more torches :D). Omijam tu takie kwestie jak dekompilacja klienta, ponieważ te wątki były już wielokrotnie poruszane w poprzednich poradnikach mojego autorstwa.

 

Block.java

 


public float getBlockBrightness(IBlockAccess iblockaccess, int i, int j, int k)
{
	return iblockaccess.getBrightness(i, j, k, lightValue[blockID]);
}

 

Zamiast pozwolić klientowi na obliczenie jasności bloku, ustawmy stałą wartość.

Jak? return iblockaccess.getBrightness(i, j, k, lightValue[blockID]); -> return 1000F;

 


public int getMixedBrightnessForBlock(IBlockAccess iblockaccess, int i, int j, int k)
{
	return iblockaccess.getLightBrightnessForSkyBlocks(i, j, k, lightValue[blockID]);
}

 

Najprościej mówiąc, powtórzmy ostatnią czynność. :)

Jak? return iblockaccess.getLightBrightnessForSkyBlocks(i, j, k, lightValue[blockID]); -> return 1000;

 


 


public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
{
	if(l == 0 && minY > 0.0D)
	{
		return true;
	}
	if(l == 1 && maxY < 1.0D)
	{
		return true;
	}
	if(l == 2 && minZ > 0.0D)
	{
		return true;
	}
	if(l == 3 && maxZ < 1.0D)
	{
		return true;
	}
	if(l == 4 && minX > 0.0D)
	{
		return true;
	}
	if(l == 5 && maxX < 1.0D)
	{
		return true;
	} else
	{
		return !iblockaccess.isBlockOpaqueCube(i, j, k);
	}
}

 

Jak sama nazwa metody/funkcji wskazuje, (shouldSideBeRendered) decyduje ona o renderowaniu ścian bloków. Nam zależy na wyświetlaniu tylko tych 'cenniejszych', także zedytujemy sobie ten kawałek w taki sposób:

 

 

public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
{
	return blockID == 14 || blockID == 15 || blockID == 16 || blockID == 56 || blockID == 73 || blockID == 74;
}

 

Wszystkie ID bloków można znaleźć na http://www.minecraft....com/idlist.htm, tutaj wypisałem tylko te podstawowe. Jeżeli chcecie jakieś dodać - zróbcie to, oddzielając każdy operatorem "||".

 

Zapisać, zrekompilować, uruchomić reobfuscate.bat i wsadzić do klienta. ;)

 

Ogólnie to wyjaśniłem całość bardzo powierzchownie, jeżeli ktoś chce dopisać toggle'a albo zapytać się dokładniej o jakąś część kodu - śmiało.

 

Zabrania się kopiowania bez zgody autora poradnika.

Opublikowano

Odświeżam.

Jeden z najlepszych poradników na forum( oczywiście dotyczący javy )

Następny super poradnik.

Korzystałem z ostatniego i wszystko udało mi się zrobić, teraz a nawet zaraz wypróbuję ten i dam znać.

 

Ja właśnie chciałem się zapytać o toggle i o to czy będę mógł ewentualnie umieścić swojego cheat'a na podstawie

twojego tutorial'u na mpcforum.Oczywiście będzie wzmianka o tobie i o twych tutorialach, w końcu od Ciebie się uczę.

 

Dodam jeszcze że od zera do modera trochę nie jest w moim stylu ;)

Wolę tworzyć cheaty

 

 

Co do toggla, trochę go nie ogarniam, więc co mam zrobić?

MCP wersja 1.0.0

1325541807-U460344.png

|Member|Pro User|

Opublikowano

@up

Po to żeby nie było więcej osób typu ,,Zrób mi a ja ściągne".

Każdy może chce coś osiągnąć, a to że ty nie masz perspektyw do

rozwijania się w językach to twoja osobista sprawa.

 

Gdyby nie ludzie typu Gaw3l nie było by cheatów na tym świecie.

1325541807-U460344.png

|Member|Pro User|

Opublikowano

Może ktoś zdoła pomóc.

Mam błąd.

 

W edycji block.java jest

hhttp://screenshooter.net/2941349/iecllsq

 

A w konsoli wywala

http://screenshooter.net/2941349/qnrsctl

 

Przeinstalowałem jave sdk, nie pomogło.

Używam notepad ++, podczas reobfuscate również

takie coś, nie wiem czy to błąd

http://screenshooter.net/2941349/kqktpox

 

Myślę że mi pomożesz Gaw3l ;)

 

ps.Po usunięciu strzałek zostaje jeden błąd

 

 

 

A i zauważyłem że w pierwszym kodzie do 1000 dodałeś F

a w drugim już nie, chyba przypadkowo.

Wina mojego komputera? ;/

Ten ostatni kod zaedytowałem normalnie, nawet działa.

Na single mam czarne bloki

 

Doszedłem sam, strzałka to była zamiana a nie dodanie..

Logiczne myślenie ;) Głowiłem się godzine.

 

Jeszcze tylko proszę o instrukcje toggle

1325541807-U460344.png

|Member|Pro User|

Opublikowano

Z głowy czy z neta?

 

Cały poradnik oparty tylko i wyłącznie na moim własnym doświadczeniu.

Raha, pod pisanie toggle'ów dodam osobny poradnik. ;)

  • 5 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...