Jump to content

LanguageRegistry: Same item, different damages


Raeon

Recommended Posts

Hello,

 

I suppose the title explains it all. Any version of itemPda returns "Yellow PDA" instead of their respective colors. Textures and such are working, so why is it not working properly?

 

int c;
for(int a = 0; a < Static.PDA_COLORS.length; a++)
{
c = DamageHelper.getCombinedValue(a, 0, 0);  // This retreives the color data from the damage value
ItemStack stack = new ItemStack(itemPda, 1, c); 
LanguageRegistry.addName(stack, Static.PDA_COLORS[a] + " " /* + Static.PDA_VERSIONS[b] + " " */ + Static.PDA_NAME);
}

 

itemPda:

public static ItemPda itemPda = new ItemPda(5000);

 

PDA_COLORS:

public static final String[] PDA_COLORS = {"White", "Black", "Red", "Blue", "Green", "Yellow"};

 

DamageHelper.(...) is not in the wrong, I have tested it thoroughly. (Besides the colored textures are working and use the same methods.)

 

Thanks in advance.

~ Raeon

Link to comment
Share on other sites

The problem has been resolved. Somehow; I don't need to use the LanguageRegistry in the first place.

Below is the code I implemented to fix this issue.

 

Item class:

@Override
public String getItemNameIS(ItemStack stack)
{
int dmg = stack.getItemDamage(); // Get damage for current stack (important)
int a = DamageHelper.getValueA(dmg); // Custom method
int b = DamageHelper.getValueB(dmg); // Custom method
return Static.PDA_COLORS[a] + " " + Static.PDA_VERSIONS[b] + " " + Static.PDA_NAME; // Glueing the pieces together
}

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

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