BLACK FRIDAY! Slevy až 80 % jsou všude. Tak je nepropásni a přejdi do rostoucího IT oboru!
BF Sales

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 setupDecompWor­kspace 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.

Teraz, keď sme úspešne importovali project vytvorený cez MinecraftForge do Eclipse, musíme nastaviť Run Configurations, aby Eclipse vedel, akú triedu z tej hromady má vybrať. Takže prejdeme na Možnosti zeleného play tlačidla s názvom Run => Run Configurations => New Run Configuration (Takýto papier s plusíkem). Pomenujeme si ho treba Client a teraz ho musíme nastaviť:
  • 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.com­mon.launcher.FML Tweaker --accessToken FML

    a do VM Arguments tento kod:

    -Xincgc -Xmx1024M -Xms1024M -Dfml.ignoreIn­validMinecraf­tCertificates = true

  • Working Directory nastavíme na Other, a vložíme tento kod: $ {workspace_loc}.
Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!

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.e­xamplemod 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.

  1. Premenujeme package = Alt + Shift + R podľa vzoru: cs.some_name.mod_na­me.main
  2. Premenujeme triedu na Main.java
  3. 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 .: "DopravniPros­tredkyMod: Bager"). Vysvetlím to asi tak, že keby sme mali mod, ktorého MODID = "DopravniPros­tredkyMod", ktorý by pridával napr. Item Bager, vytvorili by sme si svet, schovali Bager do truhly, vypli MC a teraz zmenili MODID na "DopravniPros­tredkyMod2", a loadli by sme svet :

Forge zistil, že tu má object neexistujúce, neplatné ID, pretože ID bager sa zmenilo na "DopravniPros­tredkyMod2: 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 OOP.


 

Všetky články v sekcii
Minecraft Modding
Článok pre vás napísal Matěj Černý
Avatar
Ako sa ti páči článok?
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v Javě, C++, zajímá se o OpenGL.
Aktivity (1)

 

 

Komentáre

Avatar
Tomas Řáda
Člen
Avatar
Tomas Řáda:19.8.2018 14:27

Powered By MCP:
http://modcoderpack.com/
Searge, ProfMobius, Fesh0r,
R4wk, ZeuX, IngisKahn, bspkrs
MCP Data version : unknown


FAILURE: Build failed with an exception.

  • What went wrong:

Task 'setupDecompWor¡kspa­ce' not found in root project 'mc mod V.1.00'. Some candidates are: 'setupDecompWor­kspace'.

  • Try:

Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 48.767 secs

Co mám dělat ? :)

 
Odpovedať
19.8.2018 14:27
Avatar
Matěj Černý
Redaktor
Avatar
Odpovedá na Tomas Řáda
Matěj Černý:23.8.2018 7:58

Typo: Task 'setupDecompWo­rikspace' is not 'setupDecompWor­kspace'

 
Odpovedať
23.8.2018 7:58
Avatar
dez1nd
Člen
Avatar
Odpovedá na Tomas Řáda
dez1nd:23.8.2018 11:34

Co takhle přepsat setupDecompWor¡kspa­ce na setupDecompWor­kspace.

 
Odpovedať
23.8.2018 11:34
Avatar
kikismine
Člen
Avatar
kikismine:19. novembra 16:44

Prosím pomoc mi fakt jsem zkusil úplně všechno :-(

FAILURE: Build failed with an exception.

  • What went wrong:

Could not determine java version from '15.0.1'.

  • Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Odpovedať
19. novembra 16:44
Kikis
Avatar
Samuel Hél
Tým ITnetwork
Avatar
Odpovedá na kikismine
Samuel Hél:19. novembra 18:58

Asi bych zkusil nainstalovat starší verzi Javy, například Java 8 nebo 11. Ty novější Javy moc tyto vývojové nástroje nepodporují.

 
Odpovedať
19. novembra 18:58
Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!
Avatar
kikismine
Člen
Avatar
Odpovedá na Samuel Hél
kikismine:20. novembra 11:56

joo už vím v čem je problém já potřebuju nainstalovat JDK 8 ne 15 protože mám JRE 8 ale nejde stáhnou -_- nevíte někdo kde se dá stáhnou JDK 8 protože u Oracle se potřebuju zaregistrovat a opravdu to nejde..
prosím help

Odpovedať
20. novembra 11:56
Kikis
Avatar
kikismine
Člen
Avatar
Odpovedá na Samuel Hél
kikismine:20. novembra 12:16

Jo a taky JDK 11 nejde nainstalovat :-(

Odpovedať
20. novembra 12:16
Kikis
Avatar
kikismine
Člen
Avatar
kikismine:20. novembra 13:37

JOOOOOO konecne nainstaloval jsem tooo JDK 8..

Odpovedať
20. novembra 13:37
Kikis
Avatar
kikismine
Člen
Avatar
kikismine:20. novembra 13:37

Uz prokracuji podle navodu
:)

Odpovedať
20. novembra 13:37
Kikis
Avatar
kikismine
Člen
Avatar
kikismine:21. novembra 15:18

Ale nejde mi eclipse pise mi to ze soubor neexistuje :((((( !!

Odpovedať
21. novembra 15:18
Kikis
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!