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

Jak dodawać nowe recepty na craft/spalanie do Minecraft


Rekomendowane odpowiedzi

Opublikowano (edytowane)

Jak tworzyć własne recepty w Minecraft!

 

Dzisiaj zrobimy własnego moda do Minecrafta :D

 

Potrzebne rzeczy:

 

Dekompilator Minecraftowych jarów

Notepad++ (niekoniecznie, jednakże w nim najlepiej się edytuje zdekompilowane pliki.)

 

Macie tutaj link do dekompilatora:

 

To jest ukryta treść, proszę

 

SKAN:

 

To jest ukryta treść, proszę

 

Zapewne, kiedy modowaliście manualnie Minecrafta, po otworzeniu pliku minecraft.jar przez WinRara, pokazywało wam się mnóstwo plików .class, które po otworzeniu w przykładowym notatniku, były nieczytelnym zbiorem znaków? Dzięki dekompilatorowi możemy je przekształcić w proste do modyfikacji, i całkowicie czytelne pliki .java.

 

Obsługa dekompilatora

 

Wypakowywujemy pliki do dowolnego folderu, i wrzucamy zawartość folderu .minecraft, z folderu %appdata%, do folderu jars, razem z naszym Launcherem. [uWAGA: Musimy sie upewnić, że minecraft jest "czysty" (czyli bez żadnych modów, ani upiększeń, najlepiej tuz po update].

 

Uruchamiamy plik decompile.bat

 

 

01bc68cf4c18c3823098e83c07609e8110477.jpg

 

 

... I w ten sposób mamy gotowe do edycji pliki .java, które znajdują sie w folderze src (a dokładniej musimy przebrnąć przez foldery src/minecraft/net/minecraft/src, żeby dobić się do tych plików, które są dla nas istotne, innych folderów nie ruszamy).

 

 

be3a5c02d882971d3f5c19cedec550b210342.jpg

 

 

Jak widać na ss'ie, jest tego sporo. Ale nas obowiązują tylko 2 pliki:

 

FurnaceRecipes.java

CraftingManager.java

 

Pierwszy odpowiada za recepty spalania, drugi za craftingu.

 

No dobrze, bierzmy się za programowanie. Najepszy program do tego to Notepad++, ponieważ wyświetla te pliki bardziej uporządkowane (kolory, itp.), niż normalny Notatnik.

 

Dodawanie recept Craftingu

 

Wszystkie te pliki są napisane w javie, jednakże do takich prostych rzeczy jak dodawanie recept, nie jest nam to potrzebne (sam praktycznie nie znam javy, więc... :))

 

Otwieramy plik CraftingManager.java (znajduje się tuż po plikach Component[...].java, i Container[...].java), i widzimy sporo kodu:

 

 

To jest ukryta treść, proszę

 

 

 

Jednakże, spośród tego bajzlu, nas interesuje jedynie ten fragment kodu:

 

 

 

To jest ukryta treść, proszę

 

 

No, a teraz objaśnienie, na przykładzie jednej recepty:

 

To jest ukryta treść, proszę

 

W pierwszej linijce jest

To jest ukryta treść, proszę

Nas interesuje tylko to co jest w nawiasach, czyli

To jest ukryta treść, proszę

Tutaj mamy napisane, do stworzenia czego jest ta recepta. Czyli Item.bed, to Łóżko (przyda nam się tutaj znajomość angielskich nazw przedmiotów z Minecrafta)

 

W drugiej linijce jest sama recepta. I teraz jedna z trudniejszych rzeczy: Pisanie recept. Na samym początku widnieje

To jest ukryta treść, proszę

To jest rozmieszczenie przedmiotów na stole do craftu (UWAGA: Puste pole oznaczamy spacją!). Ale wciąż nie wiemy do czego są te 'X' i '#' - jest to napisane w dalszej części linijki:

To jest ukryta treść, proszę

 

I teraz tak: Character.valueOf('#'), Block.cloth mówi nam co znaczy '#'. W tym wypadku to wełna. W naszej recepcie w miejsce tego '#', możemy wstawić dowolną literę, czy znak.

Po przecinku mamy napisane, za jaki blok odpowiada to '#'. Przy zmianie tego, musimy zwrócić uwagę na to, że jeśli znak ma odpowiadać za blok, to jego nazwa ma wyglądać tak:

 

Block.[nazwa bloku]

 

A kiedy za przedmiot:

 

Item.[nazwa przedmiotu]

 

teraz o ułożeniu przedmiotów na stole do craftu.

 

Kiedy tworzymy receptę, musimy określić jak mają być ułożone przedmioty na stole. I do tego służy ta część kodu:

To jest ukryta treść, proszę

Jeśli zapełnimy 3 pola ("XXX"), wtedy będą przedmioty ułożone w rządku poziomo. Jeśli wszystkie pola sa zapełnione, to powinno to wyglądać tak (znaki oczywiście mogą być inne):

To jest ukryta treść, proszę

W recepcie, nasze 'Z' odpowiada za najwyższy rządek, 'X' za środkowy, a 'Y' za najniższy.

czyli jeśli chcemy zrobić żeby przedmioty były ułożone w rządku pionowo, to musi być tak:

To jest ukryta treść, proszę

W ten sposób przedmioty ułożone w rządku stworzą przedmiot opisany w recepcie.

 

I ostatnia rzecz: ilość wytworzonych przedmiotów:

Wystarczy zmodyfikować cyfrę zaznaczoną na czerwono:

 

addRecipe(new ItemStack(Item.bed, 1), new Object[] {

"###", "XXX", Character.valueOf('#'), Block.cloth, Character.valueOf('X'), Block.planks

});

 

Warunek: Możemy wstawić liczbę w zakresie od 1 do 64

 

Teraz wiemy tyle, że wystarczy nam do stworzenia recepty!! Miłej zabawy!

 

A dla leniwych... gotowiec do modyfikacji:

 

 

To jest ukryta treść, proszę

 

Poniższą instrukcję możemy kopiować, w celu uzyskania większej ilości przedmiotów potrzebnych do zcraftowania przedmiotu:

 

Character.valueOf('[twój znak]'), [block/Item.nazwa bloku/przedmiotu]

 

także, jeśli jest nam niepotrzebne, możemy usunąć jedną lub dwie poniższe instrukcje (jeśli do craftu przedmiotu wystarczy ułożyć przedmioty w jednym lub dwóch poziomych rządkach):

 

"[wstaw tu swoje rozmieszczenie bloków]"

 

 

I pamiętaj o podmienieniu wszystkich instrukcji w nawiasach kwadratowych, a także usunięciu samych nawiasów!

 

 

 

Dodawanie recept spalania

 

W celu dodania recepty, otwieramy plik FurnaceRecipes.java

 

Teraz, szybkie objaśnienie:

 

To jest ukryta treść, proszę

 

Nas interesują 2 instrukcje:

To jest ukryta treść, proszę

 

Tutaj już nie trzeba kombinować. Wystarczy zmienić tę pierwszą (zaznaczona na zielono w poniższym kodzie) żeby zmienić blok, który wrzucamy do spalenia, i zmienić tę drugą (zaznaczona na czerwono), żeby zmienić blok, który wychodzi po spaleniu

 

addSmelting(Block.oreIron.blockID, new ItemStack(Item.ingotIron));

 

A oto gotowiec:

 

 

To jest ukryta treść, proszę

 

 

 

Ale to jeszcze nie koniec! Mamy wprawdzie własne recepty, jednakże nie możemy ich wrzucić do gry, ani sprawdzić czy działają. I przychodzi nam z pomocą nasz dekompilator!

 

Żeby sprawdzić zmiany, jakie dokonaliśmy, możemy wrócić do głównego folderu dekompilatora, i uruchomić plik StartClient.bat. Wtedy nam uruchamia się normalna gra, z naszymi zmianami.

 

A teraz - jak zpowrotem skompilować naszego moda!

Po prostu uruchom plik recompile.bat!

Zmodyfikowane pliki powinny być w folderze Jars

 

 

Tak więc, miłego modowania!

Edytowane przez PhoenixPL

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...