1. diel - Minecraft Modding - Úvod
Vitajte u 1. dielu môjho nového seriálu o základoch modovania Java hry s názvom Minecraft. Naučíme sa tu základné veci napr. Pridanie blocku do hry až po pokročilejšie programovanie TileEntity. Dnes si vytvoríme prostredie pre modovania. (Všetko v OS Windows 7.)
Vytvorenie prostredia pre Modding
MinecraftForge
Je v skratke systém riadenia módov, pridáva zdrojovú prílohu (source
attachment = Môžeme sa pozrieť na telo napr. Metódy, triedy ... Proste vieme
ako pracuje) pre Minecraft. Je to MinecraftForge_src na Minecraft
verziu 1.7.10 a zvoliť si v "Download Recommended" možnosť "src" (symbol:
</>). Súbor extrahujeme, premenujeme na meno nášho modu a pomocou Shift
+ RightClick v extrahovaných priečinku zvolíme možnosť Tu otvoriť
Príkazové okno, do okna zadáme príkaz gradlew
setupDecompWorkspace eclipse. Počkáme, až nám vypíše
build Succesfully a potom môžeme príkazové okno
zavrieť.
Keď rozbehneme eclipse, v možnosti Select / Switch Workspace
nájdeme našu extrahovaný zložku, otvoríme ju a zvolíme adresár
eclipse.
- V Main nastavíme Project na Minecraft a MainClass nastavíme na GradleStart, čo je trieda na spustenie.
- V Arguments vložíme do Program Arguments
kod: --version 1.6 --tweakClass cpw.mods.fml.common.launcher.FML Tweaker
--accessToken FML
a do VM Arguments tento kod:
-Xincgc -Xmx1024M -Xms1024M -Dfml.ignoreInvalidMinecraftCertificates = true
- Working Directory nastavíme na Other, a vložíme tento kod: $ {workspace_loc}.
Gratuluji, nyní pokud zvolíte možnost Client, měl by vám najet Minecraft (if problém, use comments). Ještě jsem však opomenul říci, že MinecraftForge používá “cracknutý“ Minecraft, díky této výhodě se nemusíme pořád přihlašovat, pokud program spustíme.
Vytvorenie projektu nášho modu
V Eclipse si vytvoríme nový Java Project, nazveme ho názvom nášho modu - "SaltMod", pretože bude všetko zo soli. A to je všetko, môžeme dať Finish. Vytvorí sa nám project, v ktorom nájdeme source folder. Teraz by sme chceli do nášho modu dať nejakú triedu main hádam, avšak nie je potrebné ju písať vďaka hodným chlápkům z MinecraftForge, stačí len otvoriť project Minecraft, otvoriť source folder src / main / java, kde nájdeme package com.example.examplemod v ňom triedu ExamleMod .java a celý package vrátane triedy presunúť do nášho source podadresára bude. Teraz na nás vyskočí celá rada chýb.
- Premenujeme package = Alt + Shift + R podľa vzoru: cs.some_name.mod_name.main
- Premenujeme triedu na Main.java
- Teraz k tým chybám: Keďže náš project nevie, kde je niekde nejaký block, item atď., Musíme mu to povedať: => Klik pravým tlačidlom na náš project => Build Path => Configure Build Path => Project => Add a vyberieme Project Minecraft => OK => OK
Teraz všetky chyby zmizne, ak nie skúste Refresh (F5) + Save (Ctrl + S). Fajn, takže teraz náš project vie o tom Minecraft projectu, avšak to neplatí obrátene, (To znamená, že ak by sme to teraz spustili, náš mod (v našom projekte) by to nenačetl) tým pádom musíme nastaviť v Run Configurations (zase to zelené tlačidlo) v našom Client => CLASSPATH => Use Entries => Add Projects, vyberieme ten náš a Odznačte tie dve voľby dole, pretože to nepotrebujeme. Teraz môžeme zvoliť Run. Ak nám najazdený Minecraft hlási v ľavom dolnom rohu 4mods loaded, 4mods active, tak je všetko správne a môžeme pokojne spať. : D
Public static final String MODID
Je nutné nastaviť unikátne ID modu, s ktorým Minecraft pracuje a závisí na ňom všetky blocky, itemy, všeobecne objekty, pretože každý objekt má vo svojom ID tiež ID modu (Napr .: "DopravniProstredkyMod: Bager"). Vysvetlím to asi tak, že keby sme mali mod, ktorého MODID = "DopravniProstredkyMod", ktorý by pridával napr. Item Bager, vytvorili by sme si svet, schovali Bager do truhly, vypli MC a teraz zmenili MODID na "DopravniProstredkyMod2", a loadli by sme svet :
Forge zistil, že tu má object neexistujúce, neplatné ID, pretože ID bager sa zmenilo na "DopravniProstredkyMod2: Bager". (Takže ho zo sveta vymaže (ponúkne zálohu)). K tomu urobiť novú verziu je tu String VERSION.Public static final String VERSION
Je verzia modu, tým pádom ak chceme urobiť novú verziu modu, nebudeme prepisovať MODID ako predtým, ale zmeníme VERSION. Keďže bude mať object stále rovnaké MODID, nezmizne (object) a všetko bude v pohode.
Mcmod.info
Je textový súbor, v ktorom sú uložené nejaké tanga. Iste ste už na tento súbor narazili, ak ste boli zvedaví a nahliadli do Minecraft src priečinka src / main / resources. Ak chceme tento súbor premiestniť, jednoducho presunieme src zložku do nášho projectu. Ok, stále ešte niečo chýba, musíme napísať MODID nášho modu do mcmod.info, aby Minecraft vedel, k akému modu patrí. Keď ho otvoríme:
[ { "modid": "examplemod", "name": "Example Mod", "description": "Example placeholder mod.", "version": "${version}", "mcversion": "${mcversion}", "url": "", "updateUrl": "", "authorList": ["ExampleDude"], "credits": "The Forge and FML guys, for making this example", "logoFile": "", "screenshots": [], "dependencies": [] } ]
Tu si samozrejme môžete vyhrať. Teraz chceme nájsť, kde sa zobrazí, spustíme Minecraft, klikneme na tlačidlo Mods (pridáva Forge) a tu nájdeme svoj mod, klikneme na neho a čo vidíme? To, čo sme napísali do mcmod.info.
Tak a je koniec úvode, v druhom diele sa pozrieme na Block, Item, a celkové rozpoloženie tried v duchu <acronym title="Objektovo orientované programovanie">OOP.</acronym>