Heute starten wir eine Reihe von Artikeln für Anfänger, die ihnen helfen sollen, das Minecraft-Modding zu meistern und es vor allem so schnell und sinnvoll wie möglich zu machen. Im Prinzip kann jeder von uns Lektionen finden und mit der Erstellung von Mods beginnen, denn nach dem Zufallsprinzip kann man fast alles machen, auch wenn es nicht ganz richtig und schön ist. Dieses Tutorial schützt Sie davor, auf einen Rechen zu treten und hilft Ihnen, so schnell und bequem wie möglich loszulegen.
Es ist darauf hinzuweisen, dass Minecraft-Mods sind in Java geschrieben. Hier wird es keine praktischen Editoren geben. Sie müssen mindestens über minimale Java-Kenntnisse oder Erfahrung mit anderen Programmiersprachen und deren Grundlagen verfügen. Als letzten Ausweg besteht ein großer Wunsch, all dies zu lernen. Wenn Sie nicht dumm Beispiele kopieren, sondern versuchen zu verstehen, wie es funktioniert, dann wird Sie der Erfolg auf jeden Fall erwarten.
Fast jeder, der jemals Minecraft-Mods installiert hat, ist mit der Forge-Modifikation vertraut, da die meisten Mods ihre Anwesenheit in Ihrem Spiel erfordern. In diesem Artikel erstellen wir Mods speziell für Forge.
Warum Schmieden? Stellen Sie sich vor, Sie müssten Ihren Fernseher/Computer/iPhone/Large Hadron Collider reparieren (Zutreffendes unterstreichen), haben aber nur einen Hammer und Nägel zur Hand. Natürlich holen wir einen verstaubten Werkzeugkasten hervor, der Zangen, Pinzetten und eigentlich alles andere enthält, was das Herz begehrt. In unserem Fall ist Forge die gewünschte Toolbox.
Zuerst müssen wir das JDK (Java Development Kit) herunterladen.
Der Artikel ist exklusiv für die Website verfügbar. Das Kopieren und Nachdrucken von Informationen ist nur mit schriftlicher Zustimmung des Autors gestattet.
Es ist nicht erforderlich, META-INF in minecraft.jar und minecraft_server.jar zu löschen
1. Erstellen Sie einen Ordner (zum Beispiel: MCP Forge) und entpacken Sie dort den Inhalt des Archivs mit MCP.
2. Kopieren Sie den Ordner „bin“ und „resources“ vom Client in den Ordner „../MCP Forge/jars/“. Vom Server benötigen wir nur „minecraft_server.jar“.
3. Entpacken Sie das Archiv mit Forge-src in den MCP Forge-Ordner
4. Öffnen Sie den Ordner ../MCP Forge/forge/ und führen Sie die Datei install.cmd aus. Wir warten auf den Abschluss der Dekompilierung.
(P.S. Wenn Sie möchten, dass Sie bereits ein fertiges MCP mit Forge haben, zum Beispiel, wenn Sie es versehentlich gelöscht haben oder etwas anderes, dann: Wenn die Dekompilierung abgeschlossen ist, starten Sie das Spiel und lassen Sie es die Bibliothek herunterladen und dann hinzufügen dieses MCP Forge ins Archiv, zum Beispiel so (mcp Forge 1.5.1)
5. „Installieren“ und starten Sie Eclipse. Beim Start werden Sie nach dem Ordner mit dem Projekt „gefragt“, geben Sie den Pfad an: ../MCP Forge/eclipse/
6. Also haben wir das Projekt geöffnet, jetzt (normalerweise gibt es auf der linken Seite einen Paket-Explorer) schauen wir uns an, welche Bibliothek es „frisst“ (im Paket-Explorer-Fenster „Öffne das Minecraft-Projekt“ und ob es eine Zeile gibt „JRE System Library“, dann ist alles in Ordnung, aber wenn die Zeile „JRE System Library“ lautet, dann klicken Sie mit der rechten Maustaste (Rechtsklick), wählen Sie Eigenschaften, dann öffnet sich ein Fenster, in dem die Ausführungsumgebung ausgewählt wird, wählen Sie JavaSE-1.7 hinein und klicken Sie auf OK.
7. So, die Vorbereitungen sind fertig.
Wie fängt man an, einen Mod zu schreiben?
Zuerst müssen wir eine „Basis“ erstellen, also den Haupt-„Ordner“, in dem unsere „Basis“ und alles andere gespeichert werden.
1. Gehen Sie zu Eclipse, sehen Sie sich den Minecraft-Ordner im Paket-Explorer an, öffnen Sie ihn, klicken Sie mit der rechten Maustaste auf den src-Ordner und wählen Sie Neu->Paket. Im geöffneten Fenster geben wir in der Zeile „Name“ den Namen des Ordners an, in dem alles gespeichert wird (zum Beispiel: mods.testmod.src) und klicken auf „OK“.
2. Klicken Sie mit der rechten Maustaste auf unseren Ordner (mods.testmod.src) und dann auf Neu -> Klasse. Geben Sie in der Zeile „Name“ den Namen unserer Datei an (z. B. TestModBase) und klicken Sie auf „Fertig stellen“.
3. Ändern Sie den Pfad, aber entfernen Sie keine Mods, zum Beispiel mods.NewItemMod.src.
4. In neuen Versionen müssen Sie „viel“ von allem importieren. Um es in Eclipse schneller zu machen, drücken Sie „Strg + Umschalt + O“, und alles wird schnell importiert. Wenn ein Fenster erscheint, wählen Sie den gewünschten Import aus.
5. Wenn Sie nicht in Eclipse arbeiten, wird es für Sie viel schwieriger, daher ist es besser, darauf umzusteigen. Es zeigt an, wo der Fehler liegt und welche Importe erforderlich sind, und Sie müssen nicht nachfragen Blöde Fragen in Kommentaren.
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“, Version = „0.0.1“)
@NetworkMod(clientSideRequired = true, serverSideRequired = false, versionBounds = "1.0.0")
öffentliche Klasse TestModBase (
@Instance("TestModID")
öffentliche statische TestModBase-Instanz;
@Drin
{
}
@PreInit
public void preLoad(FMLPreInitializationEvent-Ereignis)
{
}
@PostInit
public void postLoad(FMLPostInitializationEvent-Ereignis)
{
}
}
In unserer TestModBase-Datei
Nach der Inschrift:
öffentliche Klasse TestModBase (
Geben Sie diese Zeile ein:
öffentlicher statischer finaler Block testBlock = new TestBlock(2020).setUnlocalizedName("testBlock");
Parsing:
öffentlicher statischer finaler Block „testBlock“ – testBlock der Name unseres Blocks im Code (nicht im Spiel)
neuer TestBlock(2020) – TestBlock der Name unseres Blocks im Code (nicht im Spiel), 2020-Block-ID
setUnlocalizedName("testBlock") - ("testBlock") der Name unseres Blocks im Code (nicht im Spiel)
Nach der Inschrift:
@Drin
öffentliches Leereladen (FMLInitializationEvent-Ereignis)
{
Geben Sie diese Zeile ein:
GameRegistry.registerBlock(testBlock);
LanguageRegistry.addName(testBlock, "Test Block");
Parsing:
(testBlock) – der Name unseres Blocks im Code (nicht im Spiel)
(testBlock, „Test Block“) – testBlock ist der Name unseres Blocks im Code (nicht im Spiel), „Test Block“ ist der Name unseres Blocks im Spiel.
Erstellen Sie eine Datei testBlock und geben Sie den folgenden Code ein:
Paket mods.testmod.src;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
Die öffentliche Klasse TestBlock erweitert Block (
öffentlicher TestBlock(int par1)
{
super(par1, Material.ground);//Material
this.setCreativeTab(CreativeTabs.tabTools);//Zum Creative hinzufügen
}
//Registrieren Sie die Textur
@Override
{
}
}
In unserer TestModBase-Datei
Nach der Inschrift:
öffentliche Klasse TestModBase (
Geben Sie diese Zeile ein:
öffentliches statisches Element testItem = new TestItem(2021).setUnlocalizedName("testItem");
Parsing:
öffentliches statisches finales Item „testItem“ – testItem ist der Name unseres Items im Code (nicht im Spiel)
new TestItem(2021) – TestItem der Name unseres Artikels im Code (nicht im Spiel), 2021 Artikel-ID
setUnlocalizedName("testItem") - ("testItem") der Name unseres Artikels im Code (nicht im Spiel)
Nach der Inschrift:
@Drin
öffentliches Leereladen (FMLInitializationEvent-Ereignis)
{
Geben Sie diese Zeile ein:
LanguageRegistry.addName(testItem, "Test Item");
Parsing:
(testItem, „Test Item“) – testItem ist der Name unseres Artikels im Code (nicht im Spiel), „Test Item“ ist der Name unseres Artikels im Spiel.
Erstellen Sie eine Datei testItem und geben Sie den folgenden Code ein:
Paket mods.testmod.src;
import net.minecraft.item.Item;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
Die öffentliche Klasse TestItem erweitert Item
{
öffentliches TestItem(int par1)
{
super(par1);
setCreativeTab(CreativeTabs.tabTools);
}
//Die Texturregistrierung für ein Element unterscheidet sich geringfügig von der für einen Block
@Override
öffentliches LeereregisterIcons(IconRegister par1IconRegister)
{
}
}
@Override
öffentliches LeereregisterIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon("testmod:testBlock");
}
(„testmod:testBlock“), testmod ist der „Name des Ordners“, in dem sich der „Ordner mit der Textur“ befinden wird, testBlock ist der Name unserer Textur. Dies ist unsere Texturplatzierung:
\Tutorial Forge 1.5.1\mcp744\src\minecraft\mods\testmod\textures\blocks\testBlock.png
@Override
öffentliches LeereregisterIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("testmod:testItem");
}
(„testmod:testItem“), testmod ist der „Name des Ordners“, in dem sich der „Ordner mit der Textur“ befindet, testItem ist der Name unserer Textur. Dies ist unsere Texturplatzierung.
Wir haben also einen Ordner mit den folgenden Dateien darin:
Jetzt müssen Sie den Befehl gradlew eclipse ausführen. Wenn Sie Windows haben, können Sie mit der rechten Maustaste auf den leeren Bereich klicken innen diesen Ordner, während Sie die Umschalttaste gedrückt halten. Dann gibt es im erscheinenden Kontextmenü den Eintrag „Befehlsfenster öffnen“. Wählen Sie dieses Element aus und die Konsole wird sofort geöffnet.
Geben Sie in der Konsole gradlew eclipse ein.
Öffnen Sie nun Eclipse. Es macht keinen großen Unterschied, wo sich der Arbeitsbereich befindet. Öffnen Sie oben auf dem Bildschirm das Menü „Datei“ und wählen Sie „Importieren“. Wählen Sie in der angezeigten Liste „Gradle > Gradle-Projekt“ aus.
Überspringen Sie das Gradle-Einführungsfenster, indem Sie auf die Schaltfläche „Weiter >“ klicken, falls diese angezeigt wird.
Geben Sie im nächsten Fenster den Ordner mit den entpackten Dateien an. Klicken Sie auf „Fertig stellen“.
Öffnen Sie das Menü „Fenster“ oben auf dem Bildschirm und wählen Sie „Ansicht anzeigen > Andere ...“.
Wählen Sie im angezeigten Fenster „Gradle > Gradle-Aufgaben“ aus.
Es öffnet sich ein Fenster mit Gradle-Aufgaben. Gradle ist ein beliebtes automatisches Build-System, das vorgefertigte Programme aus Quellcode zusammenstellt und viele andere notwendige Dinge erledigt, aber Routine Geschäft Genau diese Dinge nennt man Aufgaben/Aufgaben/Aufgaben - Aufgaben. Wir haben gerade das Aufgabenfenster geöffnet.
Es sieht ungefähr so aus:
Für einen Testlauf öffnen Sie das Menü „Ausführen“ oben auf dem Bildschirm und wählen Sie „Konfigurationen ausführen“. Öffnen Sie im links erscheinenden Fenster den Reiter „Java-Anwendung“ und wählen Sie Client oder Server aus. Klicken Sie dann auf die Schaltfläche „Ausführen“.