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 In den Spoilern befinden sich die Tutorials, über dem Code immer, wie du die Klasse nennen musst. (Das mit den Klassen wurde alles bei the_cake erklärt)
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
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";
}
}
ItemDEINITEMNAME
Code:
package net.minecraft.src;
public class ItemDEINITEMNAME extends Item
{
public ItemDEINITEMNAME(int i)
{
super(i);
maxStackSize = MAXIMALE STAPELGRÖSSE;
}
}
VERSTEHE DEN CODE 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.
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
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";
}
}
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:
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 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.
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.
Code:
Character.valueOf('#'), Block.stone
bedeutet, dass das Zeichen "#" für Stein steht.
Code:
Character.valueOf('@'), Block.dirt
"@" steht also für Dreck!
Code:
Character.valueOf('%'), Item.ingotIron
Und "%" steht also für einein Eisenbarren. Und aus diesen 3 Parts setzt sich der Rezept Code zusammen.
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.
Code:
ModLoader.addSmelting(INPUT-ITEM, new ItemStack(OUTPUT-ITEM, MENGE DES OUTPUT-ITEMS));
VERSTEHE DEN CODE
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!
Es bleibt wie gesagt nicht bei Items + Essen. Ich füge heute vermutlich das Tutorial für die Crafting / Schmelz Rezepte hinzu und möglicherweise noch irgendein Anderes.
Naja, ich finde bis jetzt versteht man hier null,
Sprich ein c&p Thread/Sources.
Zudem warum sollte die Datei 13x13Pixel haben, wenn das default tp 16x16 ist?
Ps. Ich glaube the_cake macht nur aus Zeitlichen Gründen grade nicht weiter.
Nein, er hat irgendwo mal geschrieben, dass alle seine Codes und Tutorials auf seinem MacBook waren, das nun eine defekte Platte hat. Und schau dir mal die Items an, die Meisten haben 13x13. Blöcke werden 16x16 standardmäßig gerendert, jup.
Zum C&P Teil: Ich wollte eigentlich die Codes erklären, aber hier interessieren sich vielleicht 90% aller User für Codes um danach cool zu wirken, dass sie was eigenes entwickelt haben. Wozu soll ich dann für die restlichen 10% Codeerklärungen schreiben und Bilder machen? Wie rentiert sich das bitteschön?
/edit: Wie der Herr gewünscht hat.. Habe nun bei Items einen Part namens "VERSTEHE DEN CODE" hinzugefügt, den ich bei Essen und den nachfolgenden Parts auch machen werde. Es wird nun aber viel länger dauern, bis ich ein neues Tutorial schreiben kann, da ich eben für 10% elitepvpers ein Understanding Part schreibe, der bei dem überübernächsten Teil "Rüstung" mindestens 100 Zeilen umfassen wird.
Ich habe ihn gefragt, ob ich seinen Teil des Tutorials übernehmen dürfe, worauf ich keine Antwort erhalten habe. Daher habe ich diesen Teil aufgelassen und mache hier meine eigenen Tutorials, die bei ihm nicht vorkommen. Dafpr brauche ich keine Einverständnis. Schau dir mal an, wie viele "Mehr FPS in Minecraft" Tuts es hier gibts. Hat jeder beim Anderen nach einem OK gefragt?
Crafting Rezept Tutorial ist drin. Ofenrezepte kommen nachher.
Minecraft has stopped running because it encountered a problem.
--- BEGIN ERROR REPORT d643ab55 --------
Generated 12.07.12 15:29
Minecraft: Minecraft 1.2.5
OS: Windows 7 (amd64) version 6.1
Java: 1.7.0_05, Oracle Corporation
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
LWJGL: 2.4.2
OpenGL: AMD Radeon HD 6700 Series version 4.2.11733 Compatibility Profile Context, ATI Technologies Inc.
java.lang.NullPointerException
at net.minecraft.src.CraftingManager.addRecipe(Crafti ngManager.java:398)
at net.minecraft.src.ModLoader.addRecipe(ModLoader.ja va:412)
at net.minecraft.src.mod_EgyptRelic.load(mod_EgyptRel ic.java:14)
at net.minecraft.src.ModLoader.init(ModLoader.java:85 6)
at net.minecraft.src.ModLoader.addAllRenderers(ModLoa der.java:157)
at net.minecraft.src.RenderManager.<init>(RenderManag er.java:85)
at net.minecraft.src.RenderManager.<clinit>(RenderMan ager.java:12)
at net.minecraft.client.Minecraft.startGame(Minecraft .java:424)
at net.minecraft.client.Minecraft.run(Minecraft.java: 786)
at java.lang.Thread.run(Thread.java:722)
--- END ERROR REPORT f10d0a13 ----------
Mein Code sieht wie folgt aus :
Code:
package net.minecraft.src;
public class mod_EgyptRelic extends BaseMod
{
public static final Item EgyptRelic = new Item(201).setItemName("EgyptRelic");
public void load()
{
//Texture
EgyptRelic.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/item/EgyptRelic.png");
//Name
ModLoader.addName(EgyptRelic, "Egypt Relic");
//Crafting Recipe
ModLoader.addRecipe(new ItemStack(EgyptRelic, 4), new Object []
{
"#",
Character.valueOf('#'),Block.EgyptRelicBlock
});
}
public String getVersion()
{
return "1.2.5";
}
}
Du sagtest, dass das Mainboard defekt ist. & Items sollten am 01.07 bei dir kommen, heute haben wir den 12.07. - Nunja, ich werde diese Tutorials auch weiterführen. Wie esagt, es gibt auch abermillionen Wie bekomme bekomme ich mehr FPS Tutorials auf elitepvpers, daher denke ich mal, dass zwei Mod Tuts kein Problem sein werden.
Außerdem werden unsere beiden Tutorials vermutlich nie das Gleiche beinhalten - mal hast du was Anderes anzubieten, mal ich. Von daher wären das gute Additionen
Ich hab ja kein Problem damit das mein Ich ja nicht. Finde es ja ok. Dan habe ich mehr zeit an meinen Minecraft ModMaker weiter zu coden. :-) Werde das Tut auch noch weiter führen wenn du irgendeinen Code brauchst kann ich ihn dir auch geben np.
Dein eigener Minecraft-Server! 05/07/2012 - Minecraft - 3 Replies Liebe Community,
wollten Sie schon immer einen eigenen Minecraft-Server haben? Mussten aber immer zu viel bezahlen oder gab es nicht die Möglichkeit mit PaySafeCard zu zahlen? Dann sind sie bei qloc.de (Gameserver, Rootserver mieten - günstige Gameserver, Vserver - TS3 Server) genau richtig!
Denn wir bieten Ihnen eine nagel neue Reihe der Intel Quad Core i7 Servern.
Was bieten wir Ihnen?
- einen Minecraft GameServer mit maximal 100 Slots und maximal 8GB Ram.
- alle GameServer laufen...
uGamed HOSTING | 24/7 Online | *GÜNSTIG* DEIN EIGENER MINECRAFT SERVER 02/14/2012 - Trading - 0 Replies Richtige Sektion? Ich hoffe doch! Wenn nicht, verschieben bitte!
Informationen:
- Control Panel «uGamedHost (Start, STOP, Reload etc)
- Eigene Plugins hochladen!
- FTP Zugriff
- Unendlich viel Speicherplatz für Backups