Minecraft Mods erstellen [ModLoader]

02/21/2012 23:38 kluster#31
Ich hab ein kleines Problem,

und zwar also ich hab mal ein Ingot + Tool erstellt. Ich wollte das man das
Tool mit meinem erstellten Ingot craften kann, dazu bin ich in den RecipeTools
gegangen und danach da meinen Ingot reingeschrieben

Code:
    public RecipesTools()
    {
        recipeItems = (new Object[][]
                {
                    new Object[] {
                        Block.planks, Block.cobblestone, Item.ingotIron, Item.diamond, Item.ingotGold, Item.ingotPlastik
                    }, new Object[] {
                        Item.pickaxeWood, Item.pickaxeStone, Item.pickaxeSteel, Item.pickaxeDiamond, Item.pickaxeGold
                    }, new Object[] {
                        Item.shovelWood, Item.shovelStone, Item.shovelSteel, Item.shovelDiamond, Item.shovelGold
                    }, new Object[] {
                        Item.axeWood, Item.axeStone, Item.axeSteel, Item.axeDiamond, Item.axeGold
                    }, new Object[] {
                        Item.hoeWood, Item.hoeStone, Item.hoeSteel, Item.hoeDiamond, Item.hoeGold
                    }
                });
    }
Und das Problem ist wenn ich recopmliere kommt kein Error aber wenn
startclient starte steht da
Code:
23:32:42 - == MCP 5.6 (data: 5.6, client: 1.1, server: 1.1) ==
23:32:42 - OS : win32
23:32:42 - runmc: 'java.exe -Xincgc -Xms1024M -Xmx1024M -cp "..\bin\minecraft;..\lib;..\lib\*;..\jars\bin\minecraft.jar;..\jars\bin\jinput.jar;..\jars\bin\lwjgl.jar;..\jars\bin\lwjgl_util.jar" -Djava.library.path=..\jars\bin\natives Start'
23:32:43 - Exception in thread "main" java.lang.ExceptionInInitializerError
23:32:43 - 	at net.minecraft.src.Block.<clinit>(Block.java:937)
23:32:43 - 	at net.minecraft.src.TextureWaterFX.<init>(TextureWaterFX.java:13)
23:32:43 - 	at net.minecraft.client.Minecraft.<init>(Minecraft.java:205)
23:32:43 - 	at net.minecraft.src.MinecraftImpl.<init>(MinecraftImpl.java:13)
23:32:43 - 	at net.minecraft.client.Minecraft.startMainThread(Minecraft.java:1984)
23:32:43 - 	at net.minecraft.client.Minecraft.startMainThread1(Minecraft.java:1970)
23:32:43 - 	at net.minecraft.client.Minecraft.main(Minecraft.java:2032)
23:32:43 - 	at Start.main(Start.java:25)
23:32:43 - Caused by: java.lang.NullPointerException
23:32:43 - 	at net.minecraft.src.Item.<init>(Item.java:177)
23:32:43 - 	at net.minecraft.src.Item.<clinit>(Item.java:10)
23:32:43 - 	... 8 more
02/22/2012 02:15 the_cake#32
Quote:
Originally Posted by kluster View Post
Ich hab ein kleines Problem,

und zwar also ich hab mal ein Ingot + Tool erstellt. Ich wollte das man das
Tool mit meinem erstellten Ingot craften kann, dazu bin ich in den RecipeTools
gegangen und danach da meinen Ingot reingeschrieben

Code:
    public RecipesTools()
    {
        recipeItems = (new Object[][]
                {
                    new Object[] {
                        Block.planks, Block.cobblestone, Item.ingotIron, Item.diamond, Item.ingotGold, Item.ingotPlastik
                    }, new Object[] {
                        Item.pickaxeWood, Item.pickaxeStone, Item.pickaxeSteel, Item.pickaxeDiamond, Item.pickaxeGold
                    }, new Object[] {
                        Item.shovelWood, Item.shovelStone, Item.shovelSteel, Item.shovelDiamond, Item.shovelGold
                    }, new Object[] {
                        Item.axeWood, Item.axeStone, Item.axeSteel, Item.axeDiamond, Item.axeGold
                    }, new Object[] {
                        Item.hoeWood, Item.hoeStone, Item.hoeSteel, Item.hoeDiamond, Item.hoeGold
                    }
                });
    }
Und das Problem ist wenn ich recopmliere kommt kein Error aber wenn
startclient starte steht da
Code:
23:32:42 - == MCP 5.6 (data: 5.6, client: 1.1, server: 1.1) ==
23:32:42 - OS : win32
23:32:42 - runmc: 'java.exe -Xincgc -Xms1024M -Xmx1024M -cp "..\bin\minecraft;..\lib;..\lib\*;..\jars\bin\minecraft.jar;..\jars\bin\jinput.jar;..\jars\bin\lwjgl.jar;..\jars\bin\lwjgl_util.jar" -Djava.library.path=..\jars\bin\natives Start'
23:32:43 - Exception in thread "main" java.lang.ExceptionInInitializerError
23:32:43 - 	at net.minecraft.src.Block.<clinit>(Block.java:937)
23:32:43 - 	at net.minecraft.src.TextureWaterFX.<init>(TextureWaterFX.java:13)
23:32:43 - 	at net.minecraft.client.Minecraft.<init>(Minecraft.java:205)
23:32:43 - 	at net.minecraft.src.MinecraftImpl.<init>(MinecraftImpl.java:13)
23:32:43 - 	at net.minecraft.client.Minecraft.startMainThread(Minecraft.java:1984)
23:32:43 - 	at net.minecraft.client.Minecraft.startMainThread1(Minecraft.java:1970)
23:32:43 - 	at net.minecraft.client.Minecraft.main(Minecraft.java:2032)
23:32:43 - 	at Start.main(Start.java:25)
23:32:43 - Caused by: java.lang.NullPointerException
23:32:43 - 	at net.minecraft.src.Item.<init>(Item.java:177)
23:32:43 - 	at net.minecraft.src.Item.<clinit>(Item.java:10)
23:32:43 - 	... 8 more
Also ich sehe schonmal das du dein Item.ingotPlastik hinzugefügt hast allerdings glaub ich das du einen Mod mit dem MCP Coden willst ohne modloader. Deshalb kann ich dir nicht genau sagen wo der Fehler liegt ich vermute aber das du vergessen hast ihn der Item.ingotPlastik etwas umzustellen Schau einfach mal ihn die Item.diamond.java da steht bestimmt etwas drin. Ich empfehle dir außerdem mit modloader zu arbeiten. Da du ohne modloader bereits vorhandene datein überschreibst bzw. Die mods inkompatibel werden. Außerdem gibts dazu ein Tutorial ihn diesen Beitrag :-) Tipp dir fehlt noch das Tool das du Carsten willst also z.b Item.axePlastik
02/22/2012 03:17 kluster#33
ja erstens ich hatte mal den tool drin gehabt aber hat auch nicht funktionier.
Normalerweise mache ich mit Modloader.
02/22/2012 10:47 the_cake#34
Ja du brauchst wenn du ein neues Tool machen willst brauchst du auch eine ItemXXX.java
Außerdem Must du ihn der Item.java dein Tool reinschreiben und zwar nicht mit
New Item sondern so


Code:
Public Static final Item Plastik;
Static{
Plastik = New ItemXXX(Item id, material.XXX);
}
02/22/2012 15:46 kluster#35
ich habe jetz mal mein mod ordner verschoben und mache ein neues ordner wo ich mal dein tutorial befolge und kucke ob ich es hinkriege.
02/22/2012 16:52 the_cake#36
Ok video anleitungen werden gerade hochgeladen kann aber etwas dauern
02/23/2012 02:14 kluster#37
the cake hab das problem gelöst undzwar bei die Item.java datei

bin ich mal z.b zu meinem Pickaxeplastik gegangen da stand (new Itemaxe obwohl es Itempickaxe heißen sollte :D
02/23/2012 17:11 the_cake#38
Achso ok ja dann Du kannst auch ein eigenes Tool machen und zwar so wenn du ihn ItemPickaxe.java und z.B Item.Axe.java schaust siehst du folgendes

ItemPickaxe.java

ItemAxe.java

Wenn du nun z.B ein item haben willst das von beiden Items die Eigenschaft hat must du es ungefähr so machen

PickAxe.java

Würde Dan ungefähr so ausschauen das Heist also man kann ganz einfach unten bei den Blöcken die Eigenschaft des Tools bestimmen. Hier die liste

Code:
       blocksEffectiveAgainst = (new Block[]
                {
                    Block.planks, Block.bookShelf, Block.wood, Block.chest, Block.stairDouble, Block.stairSingle, Block.pumpkin, Block.pumpkinLantern,Block.cobblestone, Block.stairDouble, Block.stairSingle, Block.stone, Block.sandStone, Block.cobblestoneMossy, Block.oreIron, Block.blockSteel, Block.oreCoal, Block.blockGold,
                    Block.oreGold, Block.oreDiamond, Block.blockDiamond, Block.ice, Block.netherrack, Block.oreLapis, Block.blockLapis, Block.oreRedstone, Block.oreRedstoneGlowing, Block.rail,
                    Block.railDetector, Block.railPowered
                });
Das sind all die Blöcke die das Tool abbauen kann bzw. für das es gedacht ist.
02/23/2012 17:20 kluster#39
ja danke für die Antwort habe das gemacht wie du und hat auch geklappt aber
ich habe ein kleines problem bei meinem armor wenn ich ingame gehe sehe ich
das armor vom leder obwohl ich es von meinem plastik eingestellt habe.
02/23/2012 18:52 the_cake#40
Amor Tutorial wurde hinzugefügt

Und einige Item Aktionen
02/24/2012 14:15 kluster#41
Hey the_cake ich habe ein anderes Problem undzwar ich wollte mein Mod mal
testen und bin dazu auf reobfuscate gegangen und als er geladen hat stand da viele Sachen für die ich sehr komfisch fand, zeige ich gleich unten. Als ich Minecraft.exe gestartet habe und auf meine Welt kurz mit Kreativmodus gegangen war und runterscrollte war nur die Tools vorn, Plastik und Copper obwohl noch Silver sein sollte.



Noch ein Info: bei Eclipe wenn ich den client starte funktioniert alles super nur
halt bei den reobfuscate bekomme ich denke fehler ??
02/24/2012 15:55 the_cake#42
Also bevor du reobfuscate nutzt Must du recompilen die Daten sind Dan im reobf Ordner
Kleine Info noch du Must alle class datein die im reobf Ordner sind ihn ein zip Archiv packen. Auch alle Bilder müssen ihn den zip Ordner. Dein Log ist kein Fehler da steht nur das alles geklappt hat.
Also nochmal
Mod fertigstellen
-------------------
1.Recombilen
2.Reobfuscate nutzen
3.Ihn den reobf Ordner gehen
4.Dort alle Bilder einfügen also die du erstellt hast für items/Blöcke
5.Alle datein/Bilder aus den reobf ordner ihn ein zip ordner Kompromieren
6.Das zip Archiv unter
- %appdata% .minecraft ihn den mods Ordner legen
- oder den Inhalt aus dem zip Archiv ihn die minecraft.jar ziehen
7.Wichtig modloader Mus installiert sein.
8.META-INF löschen der ihn der minecraft.jar ist

Später kommt ein Tutorial zum erstellen von Blöcken mit mehreren Texturen und Aktionen Bsp Speed Block Jump Block
02/24/2012 16:01 kluster#43
aso ich hab einfach die sachen aus dem reobf ordner in den minecraft.jar gemacht. jetz klappt alles, aber als ich ingame gegangen war und auf "e" gedrückt habe waren meine sachen nicht in der liste von to many items dabei warum?
02/24/2012 16:10 the_cake#44
Hast du davor Recompilt wen nein Dan hast du nicht die Daten erneuert.

Du kannst zwar mit Eclipse das Game direkt starten aber bevor du Reobfuscate nutzt musst du Recompilen sonst nimmt er die Daten die du als letztes Recompilt hast
02/24/2012 16:28 kluster#45
also ich habe alles gemacht wie du es gesagt hast und bin ingame gegangen 1. Ich habe 3 erze aber ingame waren nur 2, (2. habe auch 3 tools davon waren ingame 1 und 1 ingot, was mach ich falsch :D?

was ich da jetz sage gilt nur für die tomanyitems liste die erze und tools sind ingame da. nur in der liste von tomanyitems nicht