Hiermit mache ich mal eine Weiterführung von diesem
von
, der das Tutorial wohl nicht mehr weiterführt, was ich sehr schade finde. Nunja, da ich auch einiges an Javakenntnissen besitze und bereits seit einem Jahr Mods entwickle, fühle ich mich regelrecht dazu gezwungen, diesen Thread aufzumachen
Jetzt führe ich den Schritt weiter, bei dem the_cake stehen geblieben ist. Items! In den nachfolgenden Zeilen zeige ich dir Code. Am Ende hast du dein eigenes, noch unnützes, Item. Bei TEXTUR_DEINES_ITEMS musst du den Pfad angeben, wo Minecraft später dein Item-Bild findet. Dieses musst du natürlich selbst machen und das am Besten im Format 13x13 in Paint.
mod_DEINITEMNAME
ItemDEINITEMNAME
VERSTEHE DEN CODE
mod_DEINITEMNAME
ItemDEINITEMNAME
Hier gibts's nicht viel zu erklären. Bei MAXIMALE STAPELGRÖSSE fügst du, wie erwähnt, die maximale Stapelgröße ein. Beispiel: 64
mod_DEINITEMNAME
Code:
package net.minecraft.src;
public class mod_DEINITEMNAME extends BaseMod
{
public static final Item DEINITEMNAME = new ItemDEINITEMNAME(DEINE_ITEM_ID).setItemName("IN-GAME NAME");
public void load()
{
DEINITEMNAME.iconIndex = ModLoader.addOverride("/gui/items.png", "/TEXTUR_DEINES_ITEMS.png");
ModLoader.addName(Namehere, "IN-GAME NAME");
}
public String getVersion()
{
return "1.2.5";
}
}
Code:
package net.minecraft.src;
public class ItemDEINITEMNAME extends Item
{
public ItemDEINITEMNAME(int i)
{
super(i);
maxStackSize = MAXIMALE STAPELGRÖSSE;
}
}
mod_DEINITEMNAME
Code:
public static final Item DEINITEMNAME = new ItemDEINITEMNAME(DEINE_ITEM_ID).setItemName("IN-GAME NAME");
- Hier deklarierst du dein neues Item.
- "public" bedeutet, dass es von überall zugreifbar ist.
- "final" bedeutet, dass es fertig ist. "DEINITEMNAME" ist der Name des Items, den du im Rest des Codes immer verwenden wirst.
- Bei "ItemDEINITEMNAME" lässt du die mod_*** Klasse auf deine Item***-Klasse zugreifen, die du nach der mod_*** Klasse erstellt hast. Der Name muss genau übereinstimmen.
- DEINE_ITEM_ID ist wohl klar. Verwende eine unbenutzte Item ID.
- "IN-GAME NAME" ist, wie der Name schon sagt, der In-Game Name deines Items.
Code:
DEINITEMNAME.iconIndex = ModLoader.addOverride("/gui/items.png", "/TEXTUR_DEINES_ITEMS.png");
- DEINITEMNAME ist wieder der Name, den du sonst in der Datei auch verwendest.
- Bei TEXTUR_DEINES_ITEMS kommt der Pfad zu deiner Item-Textur hin. Bedeutet: Wenn du sie in der minecraft.jar später unter /meinmod/meinetextur.png speicherst, muss dort auch /meinmod/meinetextur.png hin.
ItemDEINITEMNAME
Hier gibts's nicht viel zu erklären. Bei MAXIMALE STAPELGRÖSSE fügst du, wie erwähnt, die maximale Stapelgröße ein. Beispiel: 64
Essen! Mit den nachfolgenden Codes kannst du genau so einen klasse Mod wie diesen
machen! [/SCHLEICHWERBUNG] Auch hier musst du bei TEXTUR_DEINES_ITEMS wieder den Pfad zu deinem Item-Bild geben. Bei ESSENSPUNKTE gibtst du die Zahl ein, wie viele Hälften Hunger wiederhergestellt werden. Beispiel: Du gibst die Zahl 5 ein, also bekommt dein Minecraft Character 2,5 Hungerpunkte.
mod_DEINESSENSNAME
VERSTEHE DEN CODE
mod_DEINESSENSNAME
Essen ist im Code eigentlich nur ein Item. Es gibt nur eine winzige Differenz zwischen Item und Essen: Essen heilt deinen Hunger. Das wird in der Deklarationszeile gemacht:
machen! [/SCHLEICHWERBUNG] Auch hier musst du bei TEXTUR_DEINES_ITEMS wieder den Pfad zu deinem Item-Bild geben. Bei ESSENSPUNKTE gibtst du die Zahl ein, wie viele Hälften Hunger wiederhergestellt werden. Beispiel: Du gibst die Zahl 5 ein, also bekommt dein Minecraft Character 2,5 Hungerpunkte.mod_DEINESSENSNAME
Code:
package net.minecraft.src;
public class mod_DEINESSENSNAME extends BaseMod
{
public static final Item DEINESSENSNAME = new ItemFood(DEINE_ITEM_ID, HUNGERPUNKTE, 1F, false).setItemName("IN-GAME NAME");
public void load()
{
DEINESSENSNAME.iconIndex = ModLoader.addOverride("/gui/items.png", "/TEXTUR_DEINES_ITEMS.png");
ModLoader.addName(DEINESSENSNAME, "IN-GAME NAME");
}
public String getVersion()
{
return "1.2.5";
}
}
mod_DEINESSENSNAME
Essen ist im Code eigentlich nur ein Item. Es gibt nur eine winzige Differenz zwischen Item und Essen: Essen heilt deinen Hunger. Das wird in der Deklarationszeile gemacht:
Code:
public static final Item DEINESSENSNAME = new ItemFood(DEINE_ITEM_ID, HUNGERPUNKTE, 1F, false).setItemName("IN-GAME NAME");
- Wie gesagt - ein Item. Wir deklarieren es allerdings nicht über eine eigene Klasse (ItemDEINITEMNAME) sondern einfach über "ItemFood". Das sagt ModLoader, hier gibt's Essen.

- Soweit wurde alles im Tutorial "Items" erklärt, außer HUNGERPUNKTE: Hier musst du die Anzahl angeben, wie viele Hälften Hunger geheilt werden sollen. Das Maximum hier ist also 20, für 10 Hungerpunkte. Möchtest du 4 Hungerpunkte heilen, so gebe die Zahl 8 an. Möchtest du 2,5 Hungerpunkte heilen, so gebe die Zahl 5 an.
- 1F ist das Sättigungslevel. Das können wir bei 1F lassen. Du kannst den Float 1F auch ändern zu bspw. 0.5F, es wird aber keine große Änderung auf dein Spiel haben.
- Der Boolean ganz am Ende (false) definiert, ob ein Wolf dein Essen essen kann. Steht hier false, kann er es nicht essen. Steht hier true, kann ein Wolf es essen.
Crafting Rezepte
Schmelz/Ofen-Rezepte
Crafting Rezepte sind ein bisschen umständlich, aber hast du es einmal verstanden - sind sie bestimmt sehr nützlich!
Den Code unten fügst du einfach in deine mod_*** Datei ein, an irgendeine Stelle. Am Besten unter die Textur-Deklaration (ModLoader.addOverride(.....)), zur Übersicht.
Wie du siehst - sehr umständlich! Das obige Rezept sähe so aus:
VERSTEHE DEN CODE
Ich erkläre dir nun erstmal, wie du nun dein eigenes Rezept machst. Den Code können wir in drei Parts unterteilen. Einmal:
Zweitens:
und Drittens:
In Part 1 sagst du Modloader, was aus deinem Rezept später wird. Beispiel: (new ItemStack(Block.Obsidian, 8) würde bedeuten, dass aus deinem Rezept später 8 Obsidian-Blöcke entstehen.
In Part 2 kommt das eigentliche Rezept. Für jedes Material benötigst du ein eigenes Zeichen. Diese Zeichen können alle möglichen auf deiner Tastatur sein. Was nur wichtig ist: Jedes Material brauch sein EIGENES Zeichen! Die Erste von Anführungszeichen-umsetzte Zeichenkombination "#@#" ist für die oberste Reihe des 3x3 Crafting Felds. Das danach "%%%" steht für die zweite Reihe. Und der Zeichencode danach "@#@" steht für die unterste Reihe des 3x3 Crafting Felds.
In Part 3 sagen wir ModLoader, welches Zeichen für was steht.
bedeutet, dass das Zeichen "#" für Stein steht.
"@" steht also für Dreck!
Und "%" steht also für einein Eisenbarren. Und aus diesen 3 Parts setzt sich der Rezept Code zusammen.
Code:
ModLoader.addRecipe(new ItemStack(DAS_ITEM_WAS_DU_ERHÄLST, MENGE_DES_ITEMS_WAS_DU_ERHÄLST), new Object [] {"#@#", "%%%", "@#@", Character.valueOf('#'), Block.stone, Character.valueOf('@'), Block.dirt, Character.valueOf('%'), Item.ingotIron});
VERSTEHE DEN CODE
Ich erkläre dir nun erstmal, wie du nun dein eigenes Rezept machst. Den Code können wir in drei Parts unterteilen. Einmal:
Code:
ModLoader.addRecipe(new ItemStack(DAS_ITEM_WAS_DU_ERHÄLST, MENGE_DES_ITEMS_WAS_DU_ERHÄLST)
Code:
, new Object [] {"#@#", "%%%", "@#@"
Code:
, Character.valueOf('#'), Block.stone, Character.valueOf('@'), Block.dirt, Character.valueOf('%'), Item.ingotIron});
In Part 2 kommt das eigentliche Rezept. Für jedes Material benötigst du ein eigenes Zeichen. Diese Zeichen können alle möglichen auf deiner Tastatur sein. Was nur wichtig ist: Jedes Material brauch sein EIGENES Zeichen! Die Erste von Anführungszeichen-umsetzte Zeichenkombination "#@#" ist für die oberste Reihe des 3x3 Crafting Felds. Das danach "%%%" steht für die zweite Reihe. Und der Zeichencode danach "@#@" steht für die unterste Reihe des 3x3 Crafting Felds.
In Part 3 sagen wir ModLoader, welches Zeichen für was steht.
Code:
Character.valueOf('#'), Block.stone
Code:
Character.valueOf('@'), Block.dirt
Code:
Character.valueOf('%'), Item.ingotIron
Schmelz/Ofen-Rezepte
Diese sind schnell gemacht und sind nicht so komplex wie die Crafting Rezepte. Auch hier fügst du den Code unten einfach in deine mod_*** Klasse ein.
VERSTEHE DEN CODE
Easy.
Code:
ModLoader.addSmelting(INPUT-ITEM, new ItemStack(OUTPUT-ITEM, MENGE DES OUTPUT-ITEMS));
Easy.
- ModLoader.addSmelting ist einfach für ModLoader der Hinweis, dass ein Ofenrezept folgt.
- Bei INPUT-ITEM sagst du dem Code, was man in den Ofen rein tun muss.
- Bei OUTPUT-ITEM sagst du, was später rauskommt.
- Bei MENGE DES OUTPUT-ITEMS definierst du die Menge, die raus kommt.
... hier ist Baustelle! Dich erwartet hier noch Vieles mehr! Von eigenen Crafting Rezepten und Schmelz-Rezepten über Biomen bis zu... EIGENEN DIMENSIONEN! Für jedes Minecraft Update gibt's auch ein Tutorial Update. Stay tuned!






