Mods
Nieuwe items, blocks en mechanics, geschreven in Java.
CurseForge
Java × Minecraft
Ik maak Minecraft-mods in Java. Op deze website houd ik bij wat ik bouw en leg ik uit wat ik onderweg leer.
Lees de blogMomenteel aan het bouwen
Ik programmeer in Java en maak mods voor Minecraft. Daarbij werk ik aan nieuwe items, blocks en spelmechanieken.
Deze website wordt mijn logboek. Ik beschrijf hier waar ik aan werk, welke problemen ik tegenkom en hoe ik die oplos. De voorbeelden zijn bedoeld voor andere modmakers en voor mezelf, zodat ik later nog weet hoe iets zat.
Werkend krijgen. Begrijpen waarom. Daarna opschrijven.
Ik werk aan kleine en grotere uitbreidingen voor Minecraft en documenteer de technische keuzes.
Nieuwe items, blocks en mechanics, geschreven in Java.
CurseForgeKleine projecten om API's, rendering en gamegedrag uit te zoeken.
Korte uitleg en voorbeelden van oplossingen die in de praktijk werken.
Korte artikelen over Java, Minecraft en problemen die tijdens het maken van mods voorbijkomen.
Begin met één Minecraft-versie en één modloader. Controleer daarna eerst of de meegeleverde voorbeeldmod zonder aanpassingen start.
Pas vervolgens de mod-id, package-naam en metadata aan. Houd de mod-id kort, gebruik alleen kleine letters en verander hem later niet zomaar: registraties en opgeslagen werelden kunnen ervan afhankelijk zijn.
Voeg pas nieuwe code toe als de ontwikkelclient schoon start. Zo weet je bij een fout of die in de configuratie of in je eigen code zit.
Zet registraties niet verspreid door het hele project. Gebruik aparte klassen voor items en blocks en kies vaste namen voor identifiers.
Een block heeft meestal ook een block-item nodig als het in een inventory moet verschijnen. Daarnaast zijn resources nodig, zoals een blockstate, model, texture en vertaling. Een ontbrekend bestand herken je vaak aan het paars-zwarte model.
Registreer alles tijdens de juiste initialisatiefase van je modloader. De exacte API verschilt, maar de regel blijft hetzelfde: eerst registreren, daarna gebruiken.
Begin bovenaan niet met zoeken naar het woord “error”. Zoek eerst naar Caused by en lees de eerste stacktrace die naar je eigen package verwijst.
Noteer het type fout, de bestandsnaam en het regelnummer. Een NullPointerException zegt bijvoorbeeld alleen dat iets ontbreekt; de relevante regel vertelt welk object dat is.
Verander daarna één ding tegelijk en start opnieuw. Bewaar de volledige log. Alleen de laatste regel delen haalt meestal precies de nuttige context weg.
Wordt vervolgd
Nieuwe mods, technische notities en praktische voorbeelden.
Terug naar boven