TheKuli Posted April 1, 2015 Share Posted April 1, 2015 (edited) Hallo, Ich habe ein kleines Problem beim Einfügen eines Items mit Forgemods.... Er will und will die Textur nicht laden. Das Item ist in MC zu sehen , aber halt nur als schwarz-lila karierter Block. In meinem Fall heisst dieses neue Item "Jewel" und ja, ich bin ein Anfänger in dem Gebiet. Hab mich nur an Youtube Videos gehalten und was kommt raus.... naja... Also hier nochmal nen bisschen Quelltext: ModMain.java: package de.thekuli.mod1; import de.thekuli.mod1.item.Jewel; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.registry.GameRegistry; @Mod(modid = ModMain.MODID, version = ModMain.VERSION) public class ModMain { public static final String MODID = "TKMod1"; public static final String VERSION = "1.0"; public static Item jewel; @EventHandler public void preinit(FMLPreInitializationEvent event) { jewel = new Jewel().setUnlocalizedName("Jewel").setCreativeTab(CreativeTabs.tabMaterials) ; } @EventHandler public void init(FMLInitializationEvent event) { registeritems(); } @EventHandler public void postinit(FMLPostInitializationEvent event) { } //RegisterItem public void registeritems(){ GameRegistry.registerItem(jewel, "jewel"); Minecraft.getMinecraft() .getRenderItem() .getItemModelMesher() .register(jewel, 0, new ModelResourceLocation("TKMod1" + ":Jewel", "inventory")); }; } Jewel.java package de.thekuli.mod1.item; import net.minecraft.item.Item; public class Jewel extends Item { public Jewel() { super(); } } Jewel.json { "parent": "builtin/generated", "textures": { "layer0": "TKMod1:items/jewel" }, "display": { "thirdperson": { "rotation": [ -90, 0, 0 ], "translation": [ 0, 1, -3 ], "scale": [ 0.55, 0.55, 0.55 ] }, "firstperson": { "rotation": [ 0, -135, 25 ], "translation": [ 0, 4, 2 ], "scale": [ 1.7, 1.7, 1.7 ] } } } Ordnerstruktur: Bitte helft mir, ich möchte das Problem so schnell wie möglich fixen ;D Edited April 8, 2015 by TheKuli Link to comment Share on other sites More sharing options...
Headshooter Posted April 1, 2015 Share Posted April 1, 2015 (edited) Ich bin mir nicht sicher: aber könnte das Problem daran liegen, dass du manchmal Jewel[bsp.: Zeile: 3,50] Zeile und jewel[bsp.: Zeile: 25,52] schreibst?Zumindestens entstehen so Fehler bei C++(CLI), weil da auf Groß-/Kleinschreibung geachtet wird. P.S: Ich werde mir den Quelltext später genauer anschauen! Edited April 1, 2015 by Headshooter Link to comment Share on other sites More sharing options...
TheKuli Posted April 1, 2015 Author Share Posted April 1, 2015 (edited) Das werde ich mal ausprobieren, mal sehn ob es klappt... EDIT(01.04.): Leider ist das nicht die Lösung, wäre die einfachste gewesen... EDIT(02.04.): Ich glaube, es liegt an dem folgendem Befehl: GameRegistry.registerItem(Jewel, "Jewel"); in Zeile 48 in ModMain.java . Denn wenn man diesen herausnimmt, kommt kein Fehler, zwar auch kein Item aber wenn ich andere bei dem Register rausnehme ausser dem mit GameRegistry kommt ein Fehler, was ich schonmal "gut" finde. Ich hoffe das hilft ein bisschen Edited April 2, 2015 by TheKuli Link to comment Share on other sites More sharing options...
Marktfraid Posted April 9, 2015 Share Posted April 9, 2015 Die Groß-/Kleinschreibung muss auf jeden Fall einheitlich sein. Also schreibe immer "jewel". Nur die Klasse Jewel heißt natürlich weiterhin Jewel und der Konstruktor heißt auch Jewel) Also: public static Item jewel; jewel = new Jewel().setUnlocalizedName("jewel").setCreativeTab(CreativeTabs.tabMaterials); GameRegistry.registerItem(jewel, "jewel"); Minecraft.getMinecraft() .getRenderItem() .getItemModelMesher() .register(jewel, 0, new ModelResourceLocation("TKMod1" + ":jewel", "inventory")); jewel.json Und dann veränderst du noch die Ordnerstruktur. "TKMod1" muss komplett klein geschrieben werden. Also im assets Ordner den TKMod1 Ordner umbennenen in "tkmod1". In der jewel.json schreibst du TKMod1 auch komplett klein. Hoffe es funktioniert dann. Link to comment Share on other sites More sharing options...
TheKuli Posted April 9, 2015 Author Share Posted April 9, 2015 Danke für die Hilfe Jetzt funktioniert es ;D Das nächste mal guck ich besser nach groß und Kleinschreibung. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now