Posted December 7, 201410 yr good days changes to this version at first seemed to me to give me an easy way to do complex things, but now I'm pretty annoyed with what and found well to set a texture to an item you must first create the class without the this.settexture tag, second you must create a file .json pointing to the texture file you want to mount, third must create texture in png format, for you must register this texture whith this item seting the metadata number zero for default whith Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(MercenaryModItems.potato , 0 , new ModelResourceLocation("modmercenario:"+"potato" , "inventory")); and this must be done in the init() section of the principal class of the mod , not preinit but init don´t posinit but wen you create multiplex items the textures get mixed and the you have the pala_carbon_carbon spade whit the texture of the charcoalCompreso and thus for the rest. i discovered that the order in which the objects in the itemmodfile affects the order in which the texture is loaded, so i create a custom tab then send all my items to that custom tab to see the order in which minecraft hass establish the ids and then put the objects in that order in my modItems class. witch solves the problem of textures mixed. the second feature / bug I found is that for minecraft accept a .json a png texture must be a registered item with exactly the same name as the json which means that for minecraft accept the potato.json must be an item named exactly potato I wanted to create a meta potato with different textures implying different json file named potato0.json potato1.json potato2.json pointing to the three textures but minecraft just get the texture from potato.json ignoring the others. adding mi moditemsfile to clarificate the thing whit the textures mixed package mercenarymod.items; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.EnumHelper; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import mercenarymod.blocks.MercenaryModBlocks; import mercenarymod.Mercenary; public final class MercenaryModItems{ //materiales 9 public static Item carbonoMercenario; public static Item inertebarradeCarbon; public static Item hierroAlrojo; public static Item nokiaMercenaria; public static Item obsidianaMercenaria; public static Item coalCompreso; public static Item charcoalCompreso; public static Item aceroMercenario; public static Item barradeAcero; public static Item espada_carbon_carbon; public static Item hacha_carbon_carbon; public static Item pica_carbon_carbon; public static Item hoe_carbon_carbon; public static Item pala_carbon_carbon; public static Item multitextura; public static Item papa; public static void init(){ // if this is not the order in which minecraft set the id numbers the textures get mixed aceroMercenario = new mercenarymod.items.materiales.aceroMercenario(); // Item Id=4096 barradeAcero = new mercenarymod.items.materiales.barradeAcero(); // Item Id=4097 inertebarradeCarbon= new mercenarymod.items.materiales.inertebarradeCarbon(); // Item Id=4098 hierroAlrojo = new mercenarymod.items.materiales.hierroAlrojo(); // Item Id=4099 coalCompreso = new mercenarymod.items.materiales.coalCompreso(); // Item Id=4100 charcoalCompreso = new mercenarymod.items.materiales.charcoalCompreso(); // Item Id=4101 obsidianaMercenaria = new mercenarymod.items.materiales.obsidianaMercenaria(); // Item Id=4102 nokiaMercenaria = new mercenarymod.items.materiales.nokiaMercenaria(); // Item Id=4103 carbonoMercenario = new mercenarymod.items.materiales.carbonoMercenario(); // Item Id=4104 espada_carbon_carbon = new mercenarymod.items.espadas.espada_carbon_carbon(); // Item Id=4105 hacha_carbon_carbon = new mercenarymod.items.hachas.hacha_carbon_carbon(); // Item Id=4106 pica_carbon_carbon = new mercenarymod.items.picas.pica_carbon_carbon(); // Item Id=4107 hoe_carbon_carbon = new mercenarymod.items.hoe.hoe_carbon_carbon(); // Item Id=4108 pala_carbon_carbon = new mercenarymod.items.palas.pala_carbon_carbon(); // Item Id=4109 multitextura = new mercenarymod.items.multitextura.multitextura(); // Item Id=4110 papa = new mercenarymod.items.alimentos.papa(3); // Item Id=4111 } //################################################################################################################################################################################################ }//fin de la classe
December 8, 201410 yr Author well i have pictures to show its happend this is the rigth order whit the rigth textures loaded notese the firsitem name modmercenario_aceroMercenario which i take the icon for the tab https://www.dropbox.com/s/20x37i8l10ovt8q/texturaBien.png?dl=0 then i exchange positions in the MercenaryModItems class to look like this barradeAcero = new mercenarymod.items.materiales.barradeAcero(); // Item Id=4097 aceroMercenario = new mercenarymod.items.materiales.aceroMercenario(); // Item Id=4096 and now the textures are exchanged even the tab icon is afected barradeAcero has now the texture of aceroMercenario , and aceroMercenario has the texture for barradeAcero https://www.dropbox.com/s/y1wuajmzkxlfogk/texturaInterCambiada.png?dl=0
December 8, 201410 yr I wanted to create a meta potato with different textures implying different json file named potato0.json potato1.json potato2.json pointing to the three textures but minecraft just get the texture from potato.json ignoring the others. That's because the metadata is handled INSIDE the json file. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 8, 201410 yr Author can you give me an example , when i look in the minecraft code coal and charcoal has diferents jsons named coal.json and charcoal.json the same goes for the inks
December 8, 201410 yr Having not worked with 1.8, I unfortunately can't tell you. I'm basing my information off what I've gleaned from reading the forums and maybe I'm wrong. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 8, 201410 yr Author is become two post for the same issue i got the thread for the multiitem / sub item in http://www.minecraftforge.net/forum/index.php/topic,25827.0.html i gto something new there
December 8, 201410 yr Author if i have a set of items created in the forge i have like nine, and then you remove some of this then ids get messed up in the world, the relation texture <==> itemid get messed up and or you get mixed items whit wrong texture or some items will not load any texture although everithing is rigth whit the json the textures and the testuse register class how do you solved ? dont now, but if you fireup the minecraft and create another world in this world the textures go back to work normal
December 13, 201410 yr Author this is another feature /bug founded and the reason for many post on the forum say mi iteblock dont load texture. let say a create an item named unlocalizated name = "aceromercenario" and do create it in a class named aceroMercenario.java so i created a json named aceroMercenario.json to load aceromercenario.png as you can see now the spotable trouble are the names. minecraft base its search in the unlocalizated name, in this case it shall not load the texture because it is lokking for a json named exactly whit the unlocalizated name of the item but i name my json whith the item whith a case diferent name. the easy way to solve this is set everything to lowercase names the other thing you can do is register the wrong_named.json whith the item using ModelBakery class example my unlocalizated name is "aceromercenario" but my item is register in my modItems class like "aceroMercenario" aceroMercenario = new mercenarymod.items.materiales.aceroMercenario(); the wrong_named json is aceroMercenario.json so i do register the wrong_named json whith my item in the textures class or the preinit of main class using modelbakery ModelBakery.addVariantName(MercenaryModItems.aceroMercenario, new String[]{"modmercenario:aceroMercenario"}); then, Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(MercenaryModItems.aceroMercenario, 0, new ModelResourceLocation("modmercenario:aceroMercenario" , "inventory")); and now the texture loads I must add for the blocks you can set manualy the texture to use in the inventory, for the block in the world il will always look for a json whit the unlocalizated name of the block so if a i do Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(MercenaryModBlocks.multicara), 0, new ModelResourceLocation("apple" , "inventory")); it loads the apple texture and shows the block in inventory whit the apple, but when you put the block on the world it still take the textures from models/block/multicara.json there must be somewhere a method to force the block to load a custom json whit diferent name.
December 13, 201410 yr Thanks for sharing your insights, I did not use the same resourcelocation / variant name for getItemModelMesher().register() and ModelBakery.addVariantName() After using the same name for both, it actually did load the texture, but only the same texture for all my 15 metadata-variant blocks [Edit:] Ok all the same texture was my error. It's working now \o/ Thanks!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.