Jump to content

Recommended Posts

Posted

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

Posted

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

 

Posted
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.

Posted

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.

Posted

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 

Posted

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. 

 

Posted

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • When I first heard about Bitcoin back in 2018, I was skeptical. The idea of a decentralized, digital currency seemed too good to be true. But I was intrigued as I learned more about the technology behind it and its potential. I started small, investing just a few hundred dollars, dipping my toes into the cryptocurrency waters. At first, it was exhilarating to watch the value of my investment grow exponentially. I felt like I was part of the future, an early adopter of this revolutionary new asset. But that euphoria was short-lived. One day, I logged into my digital wallet only to find it empty - my Bitcoin had vanished without a trace. It turned out that the online exchange I had trusted had been hacked, and my funds were stolen. I was devastated, both financially and emotionally. All the potential I had seen in Bitcoin was tainted by the harsh reality that with decentralization came a lack of regulation and oversight. My hard-earned money was gone, lost to the ether of the digital world. This experience taught me a painful lesson about the price of trust in the uncharted territory of cryptocurrency. While the technology holds incredible promise, the risks can be catastrophic if you don't approach it with extreme caution. My Bitcoin investment gamble had failed, and I was left to pick up the pieces, wiser but poorer for having placed my faith in the wrong hands. My sincere appreciation goes to MUYERN TRUST HACKER. You are my hero in recovering my lost funds. Send a direct m a i l ( muyerntrusted ( @ ) mail-me ( . )c o m ) or message on whats app : + 1 ( 4-4-0 ) ( 3 -3 -5 ) ( 0-2-0-5 )
    • You could try posting a log (if there is no log at all, it may be the launcher you are using, the FAQ may have info on how to enable the log) as described in the FAQ, however this will probably need to be reported to/remedied by the mod author.
    • So me and a couple of friends are playing with a shitpost mod pack and one of the mods in the pack is corail tombstone and for some reason there is a problem with it, where on death to fire the player will get kicked out of the server and the tombstone will not spawn basically deleting an entire inventory, it doesn't matter what type of fire it is, whether it's from vanilla fire/lava, or from modded fire like ice&fire/lycanites and it's common enough to where everyone on the server has experienced at least once or twice and it doesn't give any crash log. a solution to this would be much appreciated thank you!
    • It is 1.12.2 - I have no idea if there is a 1.12 pack
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.