Crearea modificărilor folosind modloader

  • Crearea în orice loc convenabil pentru tine un folder gol. Pentru a dezarhiva Minecraft Coder Pack (pe MCP);
  • Pune-un dosar de resurse și bin dosar în borcane, care sunt despachetat anterior, împreună cu MCP;
  • Deschideți folderul bin, și cu ajutorul arhivator deschis minecraft.jar. Ștergeți dosarul META-INF și aruncă toate fișierele ModLoader înapoi la minecraft.jar;
  • Rulați decompile.bat și așteptați până când consola vă solicită să apăsați orice tastă pentru a ieși;
  • Toate jocurile vor fi în fișiere care au apărut după dosarul decompilarea src pe calea: \ src \ Minecraft \ net \ Minecraft \ src.

Scrierea codului start-up Editare

Dacă utilizați Notepad ++ apoi deschide în mod implicit, va deschide fișierul nou 1. Selectați Fișier> Salvare ca.. și de a salva pe calea deja cunoscut \ src \ Minecraft \ net \ Minecraft \ src (în cazul în care sunt stocate toate fișierele). (Dacă nu aveți Notepad ++, trebuie să creați acest fișier. Numele fișierului este introdus mod _ ***. Java.







mod_ - prefix obligatoriu. *** - orice nume (selectați-l mai simplu și fără spații (Exemplu: mod_block)). Și apăsați salvați. Scrierea într-un fișier:

Acesta este un șablon de bază pentru orice moda.

Această linie trebuie să fie prezente în fiecare fișier în partea de sus. Aceasta este o indicație a folderul mod (dacă utilizați ModLoader, toate modurile ar trebui să fie în acest director).

Această măsură este necesară linie atunci când utilizați caracteristicile avansate ale modding pe ele mai târziu.

Aici, în sarcina public void () sunt scrise la blocuri de textură, rețete și multe altele.

întoarce "1.5.2"; - Versiunea ghilimele poate fi schimbat la orice alta. De obicei folosit pentru a se referi la versiunea Minecraft'a.

Compilarea și crearea unui mod finit Editare

Pentru a verifica codul pentru erori, trebuie să rulați fișierul recompile.bat. El a re-compilează jocul. Dacă nu există erori, consola se închide.

După lansarea startclient.bat, apoi executați joc în cazul în care puteți încerca Mod în joc.

Dacă ați creat un mod de gata, și doriți să obțineți gata să lucreze fișiere,

Rulați reobfuscate.bat, script-ul va detecta toate clasele modificate / adăugate și le va transfera în dosarul reobf. Acum, orice Minecraft cu ModLoader stabilit copiați aceste fișiere pentru a minecraft.jar și un set de moda. De asemenea, pentru mods nu se schimba fișierele originale de joc pot fi ambalate în arhivă .zip și plasați un dosar „mods“.

Dacă aveți o eroare atunci când recompilarea Editare

Se întâmplă adesea ca apar erori atunci când recompilarea. În acest caz, este necesar să:

  • Verificați de două ori toate fișierele și să le compara cu codul tutorial
  • Verificați dacă toate și introdus corect numele de cod ale obiectelor (afla mai multe despre ea de mai jos)
  • Verificați întreaga linie de referință recompiler scris
  • În cazul în care nu funcționează, copiați codul pentru dvs. mod și un șir de caractere de referință de compilator și inserați în discuție

Decompilarea cu mods Editare

Uneori, astfel de situații apar atunci când trebuie să schimbați evenimentele, pentru a descoperi, de dragul curiozității și cunoașterea evenimentelor străine etc.

Bine și face, de asemenea, posibil, și mulți, probabil, deja ghicit cum.

Găsim modul corect (necesar la ModLoader), apoi faceți pașii de mai sus, și, într-un deja modificat minecraft.jar pune fișiere mod, și apoi executați deja decompile.bat.

Gata! Acum puteți schimba cu ușurință moda străine.

Doar rețineți că au rețete care urmează să fie introduse, sau după cum urmează:

Simplu kraft Editare

Luați în considerare următoarea linie:

- Rețete în cod;

- Primul „###“ desemnează o linie de bancă de top, următoarele - mijloc și de jos. „#“, Block.dirt - adoptarea simbolului # pentru unitatea de teren. Poate fi folosit în loc de # orice litere și multe simboluri și spațiu înlocuiește cușca goală. rezultat:

Adăugarea de bloc Editare

Vreau doar să spun că vom crea o unitate de bloc nou (va fi numit în joc). Deci, va fi mai ușor decât cred că este setat la infinit ***.

Pentru a începe după pachetul net.minecraft.src, imediat după java.util.Random de import, direct sub el, scrie următorul cod

Aceste linii pot preveni unele probleme la crearea de blocuri.

am pus în aplicare, care creează un bloc (lucru, obiect)

Să examinăm acest loc aparent obscur.

publice ultimul bloc static - Această linie creează de fapt un bloc.

NewBlock - este numele unității noastre, dar nu și în joc! NewBlock folosim în cod. Și de a folosi acest nume trebuie să ne mai des.

BlockNewBlock - în procesul de creare a unui bloc, avem nevoie pentru a crea un fișier special pentru acel bloc. În acest caz, numele acestui fișier va BlockNewBlock.java (dacă porylis în src, ați văzut, probabil, fișiere BlockDirt, BlockSand și așa mai departe).

(160, 0) - 160 - Această unitate ID. Când creați fiecare bloc nou (lucruri, materiale, etc.), asigurați-vă că pentru a schimba ID-ul. Asta este, dacă avem trei blocuri, ID-ul va fi, respectiv, 160, 161, 162. 0 - ID suplimentar (citeste mai multe aici).

setStepSound (Block.soundStoneFootstep) - sunetul produs de mersul pe unele bloc. SoundStoneFootstep trebuie să se schimbe la valorile dorite. Acestea pot fi vizualizate în Block.java (File> Open> Block.java). Pentru simplificare, un tabel cu toate sunetele.

Sunet atunci când se deplasează nicovala

setBlockName ( "NewBlock") - la fel ca și în linia de public static final de bloc NewBlock. Doar copiați numele nostru de cod, și se introduce în ghilimele.

setHardness (4.5F) - timpul necesar pentru a ciocan departe la bloc să-l. Direcționarea că rezistența la sol este egal cu 0.5F.

setResistance (5F) - Această unitate de suprapresiune. De exemplu, la Obsidian (nu a distrus TNT) suprapresiunea este 6000F.

setLightValue (0.375F) - puteți elimina această opțiune. Definește luminozitatea blocului. 1F - lumina de la ambele svetokamnya.

Rezultatul ar trebui sa arate asa

Numele, textura, unitate de ambarcațiuni citare

Acum vine cel mai important lucru. Prin linie







În cadrul acestor paranteze vom scrie în jos calea spre textura, atribuie numele unității este deja în joc, se va adăuga Kraft.

Deci, pentru a începe cu va crea numele blocului nostru în joc

Rețineți că, în (NewBlock, "New Block") NewBlock - aceasta este doar numele nostru bloc de cod. Și în ghilimele, vom bloca numele jocului. Ghilimelele sunt mărci de cod de formatare. Acest lucru înseamnă că, dacă scrie „§6NewBlock“, culoarea numele unității dvs. va fi de aur. Tabelul de mai jos prezintă proprietățile pe care le putem aplica la blocul nostru (doar vizual).

În continuare, vom specifica calea către textura

Deci, "/ texturi / New Block.png". / Texturi este un folder în minecraft.jar, care, după cum vă amintiți este în borcane. Puteți schimba oricând. / New Block.png această imagine 16x16, poziție în acest dosar. Numele și formatul trebuie să se potrivească exact cu codul specificat.

Adică, scriind această linie, vom merge în borcane, bin, deschis minecraft.jar WinRAR și inserați în dosarul texturi (sau orice altceva specificat) această imagine .png.

Și, în sfârșit, favoritul nostru - reteta:

Iată un exemplu de cod finit:

Crearea unui fișier bloc Editare

Creați un nou fișier BlockNewBlock.java în același director src \ Minecraft \ net \ Minecraft \ src. Trimite un mesaj pentru el:

întoarce mod _ *** NewBlock.shiftedIndex -. Ce se va cădea din blocul de la eșec.

retur 1 - Număr bloc drop-down sau obiect.

Vă atrag atenția este

Acest lucru plasează din punct de blocul nostru într-un meniu creativ în joc. După cum vă amintiți, există mai multe file - Materiale, blocuri, etc. Deci .tabBlock adaugă blocul nostru în fila blocuri. Aici este un tabel de valori care pot fi folosite în schimb

Generarea de bloc Editare

Această secțiune este necesară pentru cei care doresc să aibă blocul lor a fost generată în lume (sau dracu '). De exemplu, atunci când crearea minereului.

Generația în lumea obișnuită.

Deci, odată ce o cusatura

pentru (int k = 0; k <5; k++) - k <5 чем больше цифра после <, тем чаще генерируется блок.

int randPosY = random.nextInt (128); - 128 înălțimea blocului. În minereu de diamant 16. Aceasta este, de minereu de diamant generat 16 blocuri de roca de bază

(YourOreBlockName.blockID, 17)) - yourOreBlockName.blockID numele tău de bloc (BlockNew.blockID).

Noi rekompiliruem și căutăm unitatea noastră.

Generația în iad.

Înlocuiți codul scris în sus

Toți parametrii sunt la fel ca și cu generația în lumea obișnuită.

Creați fișiere NetherGenMinable.java și intră în ea (fără schimbare, codul este gata)

Totul este gata, puteți căuta minereu în iad.

Multi-textura Editare

Pentru blocul nostru a avut texturi diferite din diferite părți, este necesar să se schimbe ușor codul.

- toate precum și cu unitatea convențională.

- apoi textura de dedesubt a unității

; - și părți

Mai mult, cu toate ca unitate convențională. Noi încărcați imagini, rekompiliruem și se bucură de unitate multi-textura.

Falling unitate Editare

MOD _ *** toate bine, și introduceți BlockNewBlock.java

extinde BlockSand - această opțiune și să facă blocul nostru să cadă sub formă de copii proprietăți gravitaționale în nisip.

Unitatea este gata. Puteți recompilați și de testare în joc (a se vedea. 1.1 Compilarea și crearea unui mod de gata).

Block inflicts Editare

Vom lucra exclusiv în BlockNewBlock.java.

onEntityCollidedWithBlock - o afecțiune în care jucătorul este aproape de unitatea

par5Entity.attackEntityFrom (DamageSource.cactus, 1); - tip Damage cactus (cactus) în polserdtsa (figura 1).

Acum, când vii la unitatea, veți fi tratate daune la 1 polserdtse.

Unitatea emițătoare de particule Editare

Fișierul de bloc în această linie

Acest cod face ca particulele noastre bloc emit, ca un bloc de piatră roșie.

par1World.spawnParticle ( "reddust" - reddust - tipul de particule corespunzătoare.

Aici va arăta ca aspectul de particule de murdărie în jurul blocului de cod

Tabel particule coduri:

Adăugarea de articole Editare

Ca și în „Block“, pentru comoditate, vom crea newItem obiect.

Pentru o lungă perioadă de timp, nu vom înțelege codul, ca toate realizate la „Block“.

Deci, la fel ca blocul, intre mod public class _ *** extinde BaseMod <и void load мы вставляем строчку, которая создает блок (вещь, предмет)

Aici toți parametrii sunt absolut identice pentru a bloca crearea următorii parametri:

finala Articol - Crearea unui obiect, Bloc final - crearea de unități.

NewItem = new ItemNewItem (5000) și NewBlock = new BlockNewBlock (160, 0) - toate bine aici. ID-ul în subiectul 5000. Nu uita să crească cu fiecare ID subiect.

Mai departe, în blocul sunt funcțiile și asemănarea este doar în .setItemName ( „NewItem“).

Cum pentru a vedea unitatea de creare de cod și subiectul sunt aproape identice.

Iată cum ar trebui să arate codul ca

Numele, textura, ambarcațiunile supuse dreptului

Aici, a se vedea sub-secțiunea „Nume, textura, unitatea de ambarcațiune“, în „Block“. Totul este exact la fel, doar pentru a înlocui NewBlock newItem.

Asta în cele din urmă ceea ce codul arată:

Singura diferență: nu este nevoie să adăugați ModLoader.registerBlock (NewBlock);.

Creați obiect Editare fișier

Creați un nou fișier ItemNewItem.java. Amintiți-vă de noul ItemNewItem (5000), în adăugarea de linie de moda - ItemNewItem și specifică numele noului nostru fișier.

maxStackSize = 64 - Numărul de obiecte într-un slot.

this.setCreativeTab (CreativeTabs.tabMaterials); - adăugarea la fila în reclamă. Consultați „Crearea unui fișier de unitate.“

Subiect gata. Run recompilare, și apoi startclient verifica. Dacă există erori, atunci am citit din nou articol.

Creați produse alimentare Editare

Creați produse alimentare este foarte simplu: este necesar să se înlocuiască definiția codului obiect

6, 1F, adevărat - 6 - cât de mult alimente restabilește restaurări jumatati de puncte de foame (respectiv, numărul 20 restaurează foame), 1F - timp de până la momentul în care un personaj începe să moară de foame din nou, adevărat - fals - poti / nu poate fi domesticit alimente lup.

Crearea instrumentelor adecvate

Acolo, unde am introdus codul pentru a crea bloc și este înscris obiectul

yourSword - nume de cod.

(New ItemSword - crearea sabie.

203, EnumToolMaterial.EMERALD - ID-ul aici și este un lucru foarte important, despre care mai târziu.

setItemName ( "yourSword") - din nou, un nume de cod.

Dar acest lucru nu este sfârșitul, puteți crea propriul material de doar sub scriere existente în litere mari, numele, de exemplu, NEW.

Acum analizează aceste numere ciudate 3, 1561, 8.0F, 3, 10 (în exemplul anterior am luat EMERALD). 3 - nivel de blocuri de fractură ca blocuri semnificative pot fi extrase. 1561 - numărul de utilizări. 8.0F - blocuri de fractură de viteză. 3 - daune mafioti. 10 - șanse de incantare.

În acest exemplu, am creat o sabie. Următoarele linii de a crea sapa lopata, topor alege, respectiv.

MATERIALNAME înlocui dorit sau creat de tine.

Numele, textura, instrumente artizanale Editare

Aici este codul pentru întregul set de instrumente. Scrierea în public void

Asta e tot ce (nu uitați să adăugați o textură).

Acesta este modul în care va arăta complet cod care adaugă un set de elemente:

Dacă doriți ca elementele dvs. | unități vândute locuitorilor, Ministerul Apărării _ *** a scrie

TradeEntry de test = new TradeEntry (Item.gunpowder.itemID, 0.5f, fals, 2, 4); - Item.gunpowder.itemID - atunci dvs. obiect, bloc, etc.

0.5f - o șansă să apară în vânzarea rezidenților

ModLoader.addTrade (1, test); - 1 - un rezident al profesiei
Numerele 2, 4 - este cursul de schimb de vânzare, adică, produsul va fi în vânzare de la 2 la 4 smaralde.
Fals - aceasta înseamnă că rezidentul vinde bunurile pentru tine în mod corespunzător adevărat - aceasta înseamnă că produsul vinde.

Numele unui rezident al profesiei

Comenzi Modificarea existente Editare

Numele tuturor echipelor din joc (și serverul) începe cu comandă.

Cum ar fi deschiderea unui fișier CommandKill.java vom vedea codul

întoarce „ucide“; - ucide - după o / șir de caractere. Putem schimba de dragul concizie, de exemplu, prin k. În acest caz, atunci când intrați în joc / ucide noi să se spună că o astfel de comandă nu există, iar atunci când introduceți / k Run.

publice int getRequiredPermissionLevel () - nu a fost încă dat seama (probabil nivelul de acces, și anume, de exemplu 0, astfel încât pot folosi jucătorii obișnuite, și 2 - Numai administratorii.

var3.attackEntityFrom (DamageSource.outOfWorld, 1000); - efectul de comandă - unități Efectuat 1000 de specii outOfWorld (care se încadrează în gol).

par1ICommandSender.sendChatToPlayer ( „Aoleu care pare a fi rănit ..“); - mesajul citat pe moarte pentru a discuta.

Crearea echipelor lor Editare

MOD a _ ***, așa cum a devenit obișnuit pentru mulți, scrie o clasa publica mod_test extinde BaseMod

Newcommand - numele de cod pentru echipa.

CommandNewCommand - numele fișierului echipei .java.

În sarcină public void () <пишем

Doar indică în loc să newcommand codul numele echipei. Am creat CommandNewCommand.java fișier. Nu este demontată încă codificare Aici este un cod de liane spawn.