Kako napraviti mod za Minecraft?
Da biste kreirali modove u Minecraftu, morate imati barem osnovno znanje o radu s aplikacijama i programiranju općenito.
Modove za Minecraft možete kreirati pomoću API-ja ili bez njega. API je sučelje za programiranje aplikacija koje vam omogućuje rad s gotovim klasama, funkcijama, procedurama, strukturama i konstantama za korištenje u drugim programima. Najpopularniji API za Minecraft je Minecraft Forge. Korištenje Forgea za kreiranje modova u igri zahtijeva korištenje ovog API-ja za samu igru, što značajno komplicira sam gameplay, ali u isto vrijeme omogućuje instaliranje aplikacija bez sukoba s vašim modifikacijama i s modovima drugih igrača. To je nemoguće postići bez API-ja.
Priprema za stvaranje modova u igri je sljedeća:
- Preuzmite najnoviju verziju Jave.
- Instalirajte Java SE Development Kit.
- Preuzmite Eclipse IDE za Java Developers i postavite njegovu kopiju na svoju radnu površinu.
- Preuzmite Minecraft Forge.
- Premjestite sve programe u jednu mapu na radnoj površini i pokrenite install.cmd.
- Nakon pokretanja Eclipsea, navedite mapu koju ste prethodno stvorili kao radni prostor.
Nakon toga možete nastaviti izravno na stvaranje moda. Morat ćete proći kroz sljedeće korake:
- Stvaranje osnovne datoteke koja navodi naziv, ID i verziju modifikacije;
- Izrada bloka;
- Stvaranje kapljice;
- Generiranje blokova;
- Stvaranje višenamjenskih struktura;
- Višeblok strukture;
- Izrada predmeta;
- Izrada alata itd.
Počevši od malih nogu, postupno ćete razumjeti osnovne principe stvaranja modova za Minecraft, a možete čak dodati i vlastite modove na poslužitelj kako biste ih pokazali svojim prijateljima. Ako stvaranje modova još nije na vama, pročitajte članak
Mnogi igrači sanjali su o programu koji bi mogao stvarati izmjene. Zahvaljujući programeru Pilo, svatko može preuzeti MCreator za Minecraft 1.7.2 i 1.7.10 i početi stvarati vlastite modifikacije bez dubokog znanja programiranja. Stvorite nove blokove, stvari, postignuća, nove vrste postojećih blokova, rulje, biome, hranu, alate, biljke, automobile i još mnogo toga. Bilo koja ideja može se lako implementirati pomoću programa MCreator 1.7.10/1.7.2.
Stvorite različite vrste modifikacija
Ovaj vam program omogućuje stvaranje raznih vrsta izmjena, uključujući slojeve (kao u modu mini karte), automobile, strukture, dimenzije, setove alata, oružje (mačevi, puške) i više.
Intuitivno sučelje
MCreator nudi prikladan način za postavljanje stavki u izbornik. Programer samo treba premjestiti stvari i elemente na radnu površinu pomoću miša.
Izrada recepata i kapi
Pišite recepte i poklone jednako jednostavno kao i izrada u igri. Koristite filtre za pretraživanje ogromnog popisa stvari u Minecraftu. MCreator može eksportirati slike recepata tako da se mogu postaviti na stranicu.
Za iskusne programere
Iskusni programeri će voljeti mogućnost uređivanja izvornog koda modifikacije u sučelju jednostavnom za korištenje. Uređivač programa MKreator ima isticanje sintakse, automatsko dovršavanje i druge stvari koje su ugodne programeru. Podržana je integracija s Eclipse.
Ovaj članak opisuje proces stvaranja izmjena za Minecraft pomoću Forgea i Eclipsea. Za izradu jednostavnih modifikacija ne morate biti profesionalac, ali barem osrednje razumijevanje principa programskog jezika Java je poželjno. Ako naiđete na bilo kakva pitanja ili probleme dok radite izmjene koje ovdje nisu pokrivene, molimo vas da ih objavite na stranici za razgovor.
Tablica spremnosti | ||
---|---|---|
Lekcija | 1.6+ | 1.7+ |
Blok | Spreman | Spreman |
Artikal | Spreman | Spreman |
Zanat | Spreman | Spreman |
Kompilacija | Spreman | Spreman |
Generacija | Nije planirano | Spreman |
Proxy i instanca | Nije planirano | Spreman |
mob | Nije planirano | Spreman |
Blokovi s modelom | Nije planirano | Može biti |
Dodati. Lekcije | Ukupno: 2 | Ukupno: 12 |
Prvi koraci
Prvo napravimo najvažniju stvar: instalirajte Javu i Eclipse. Bez obzira na verziju Minecrafta za koju želite stvoriti mod, ovi su koraci isti.
Java JDK
Najvažnija stvar za pisanje bilo čega u Javi su, naravno, same Java biblioteke.
Možete ih preuzeti s web stranice Oracle. Idite na ovu stranicu i kliknite ikonu Java na lijevoj strani. Pomaknite se prema dolje na stranici koja se malo otvori, odaberite da se slažete s licencnim ugovorom (Accept License Agreement), te na dnu prve liste odaberite stavku koja odgovara vašem operativnom sustavu i preuzmite. Nakon preuzimanja jednostavno instalirajte klikom na Dalje. Nakon instalacije morate postaviti instalacijsku stazu na varijable okruženja Windows. Da biste to učinili, idite na izbornik Svojstva računala (⊞ Win + PauseBreak ili Moje računalo -> Svojstva -> Napredne postavke sustava -> Varijable okruženja). Pronađite sistemsku varijablu Path, označite je i kliknite Uredi. Na samom kraju retka Vrijednosti dodajte stazu do JDK/bin odvojenu točkom i zarezom, na primjer, C:\Program Files\Java\jdk1.7.0_45\bin . Zatim kliknite OK tri puta.
Nema potrebe brisati META-INF u minecraft.jar i minecraft_server.jar
1. Napravite mapu (Na primjer: MCP Forge) i tamo raspakirajte sadržaj arhive s MCP-om.
2. Kopiraj mapu bin i resources iz klijenta u mapu ../MCP Forge/jars/, sa servera nam treba samo minecraft_server.jar.
3. Raspakirajte arhivu s Forge-src u mapu MCP Forge
4. Otvorite mapu ../MCP Forge/forge/ i pokrenite datoteku install.cmd. Čekamo završetak dekompilacije..
(P.S. Ako želite da imate već gotov MCP s Forgeom, npr. ako ste ga slučajno izbrisali ili nešto drugo, onda: Kada dekompilacija završi, pokrenite igru i pustite je da preuzme lib, a zatim dodajte ovaj MCP Forge u arhivu, na primjer ovako (mcp Forge 1.5.1)
5. “Instalirajte” i pokrenite Eclipse, tijekom pokretanja bit ćete “pitani” za mapu s projektom, odredite stazu: ../MCP Forge/eclipse/
6. Dakle, otvorili smo projekt, sada (Obično s lijeve strane nalazi se Package explorer) gledamo koju biblioteku "jede" (U prozoru Package explorer "otvorite Minecraft projekt" i ako postoji linija “JRE System Library”, onda je sve u redu, ali ako je linija “JRE System Library”, zatim desnom tipkom miša (Right-click), odaberite Properties, zatim se otvara prozor u kojem je odabrano okruženje za izvršavanje, odaberite JavaSE-1.7 u njemu i kliknite U redu.
7. Dakle, pripreme su spremne.
Kako možete početi pisati mod?
Prvo moramo napraviti “bazu”, odnosno glavnu “mapu” u kojoj će biti pohranjena naša “baza” i sve ostalo.
1. Idite na Eclipse, pogledajte mapu Minecraft u Package Exploreru, otvorite je i desnom tipkom miša kliknite mapu src, odaberite New->Package. U otvorenom prozoru, u retku Naziv, označavamo naziv mape u kojoj će sve biti pohranjeno (Na primjer, uzmite: mods.testmod.src) i kliknite Ok.
2. Kliknite desnom tipkom miša na našu mapu (mods.testmod.src), zatim New -> Class. U retku Naziv označite naziv naše datoteke (Na primjer: TestModBase) i kliknite Završi.
3. Promijenite putanju, ali nemojte uklanjati modove, ovako, na primjer mods.NewItemMod.src.
4. U novim verzijama trebate uvesti “Puno” svega, da to učinite brže u Eclipseu pritisnite “ctrl + shift + o”, i brzo će sve uvesti, a ako se pojavi prozor onda odaberite uvoz koji vam je potreban.
5. Ako ne radite u Eclipseu, onda će vam biti puno teže, pa je bolje prijeći na njega, pokazat će vam gdje je greška, i koji su importi potrebni, a nećete postavljati glupa pitanja u komentarima.
paket mods.testmod.src;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.network.NetworkMod.SidedPacketHandler;
import cpw.mods.fml.common.SidedProxy;
@Mod (modid = "TestMod", name = "Test Mod", verzija = "0.0.1")
@NetworkMod(clientSideRequired = true, serverSideRequired = false, versionBounds = "1.0.0")
javna klasa TestModBase (
@Instanca("TestModID")
javna statička instanca TestModBase;
@U tome
{
}
@PreInit
javni void preLoad(FMLPreInitializationEvent događaj)
{
}
@PostInit
javni void postLoad(FMLPostInitializationEvent događaj)
{
}
}
U našoj datoteci TestModBase
Nakon natpisa:
javna klasa TestModBase (
Unesite ovaj redak:
public static final Block testBlock = new TestBlock(2020).setUnlocalizedName("testBlock");
Raščlanjivanje:
public static final Block "testBlock" - testBlock naziv našeg bloka u kodu (ne u igri)
new TestBlock(2020) - TestBlock naziv našeg bloka u kodu (ne u igri), 2020 ID bloka
setUnlocalizedName("testBlock") - ("testBlock") naziv našeg bloka u kodu (ne u igrici)
Nakon natpisa:
@U tome
javno prazno opterećenje (događaj FMLInitializationEvent)
{
Unesite ovaj redak:
GameRegistry.registerBlock(testBlock);
LanguageRegistry.addName(testBlock, "Testni blok");
Raščlanjivanje:
(testBlock) - naziv našeg bloka u kodu (ne u igri)
(testBlock, "Test Block") - testBlock je naziv našeg bloka u kodu (ne u igri), "Test Block" je naziv našeg bloka u igri.
Napravite datoteku testBlock i u nju unesite sljedeći kod:
paket mods.testmod.src;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
javna klasa TestBlock proširuje Block (
javni TestBlock(int par1)
{
super(par1, Material.ground);//Materijal
this.setCreativeTab(CreativeTabs.tabTools);//Dodaj u oglas
}
//Registrirajte teksturu
@Nadjačaj
{
}
}
U našoj datoteci TestModBase
Nakon natpisa:
javna klasa TestModBase (
Unesite ovaj redak:
public static Item testItem = new TestItem(2021).setUnlocalizedName("testItem");
Raščlanjivanje:
public static final Item "testItem" - testItem je naziv naše stavke u kodu (ne u igri)
new TestItem(2021) - TestItem naziv našeg artikla u kodu (ne u igri), 2021 ID artikla
setUnlocalizedName("testItem") - ("testItem") naziv našeg artikla u kodu (ne u igrici)
Nakon natpisa:
@U tome
javno prazno opterećenje (događaj FMLInitializationEvent)
{
Unesite ovaj redak:
LanguageRegistry.addName(testItem, "Test Item");
Raščlanjivanje:
(testItem, "Test Item") - testItem je naziv našeg predmeta u kodu (ne u igri), "Test Item" je naziv našeg predmeta u igri.
Napravite datoteku testItem i u nju unesite sljedeći kod:
paket mods.testmod.src;
import net.minecraft.item.Item;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
javna klasa TestItem proširuje stavku
{
javni TestItem(int par1)
{
super(par1);
setCreativeTab(CreativeTabs.tabTools);
}
//Registracija teksture za stavku malo se razlikuje od bloka
@Nadjačaj
javni void registerIcons(IconRegister par1IconRegister)
{
}
}
@Nadjačaj
javni void registerIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon("testmod:testBlock");
}
("testmod:testBlock"), testmod je "naziv mape" u kojoj će biti "mapa s teksturom", testBlock je naziv naše teksture. Ovo je naš položaj teksture:
\Tutorial Forge 1.5.1\mcp744\src\minecraft\mods\testmod\textures\blocks\testBlock.png
@Nadjačaj
javni void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("testmod:testItem");
}
("testmod:testItem"), testmod je "naziv mape" u kojoj će biti "mapa s teksturom", testItem je naziv naše teksture. Ovo je naš položaj teksture.