Posted January 19, 201510 yr Hi, I'm trying to add some extra wool into the game. I want to set the ItemBlock and Block's name based on what color it is (e.g. Black Wool instead of just Wool). The only way I can think of doing this is to have different unlocalized names for each color, but this seems quite inefficient. Is there a better way I can do this? Thanks!
January 19, 201510 yr Author I'm probably misunderstanding you, but doesn't that require me to somehow get the localized name of the block, because I need to replace characters in the localized name?
January 19, 201510 yr Author Thanks for your help, but I I've done something wrong. My items are now named "Unnamed" with the following code in my ItemBlock class: @Override public String getItemStackDisplayName(ItemStack itemStack) { return itemStack.getDisplayName().replace("@", StatCollector.translateToLocal("pandm.color" + itemStack.getItemDamage())); } This is my lang file: tile.pandm:BlockModWool.name=Special @ Wool pandm.color.0=Black pandm.color.1=Blue pandm.color.2=Brown pandm.color.3=Cyan pandm.color.4=Grey pandm.color.5=Green pandm.color.6=Light Blue pandm.color.7=Lime pandm.color.8=Magenta pandm.color.9=Orange pandm.color.10=Pink pandm.color.11=Purple pandm.color.12=Red pandm.color.13=Silver pandm.color.14=White pandm.color.15=Yellow
January 20, 201510 yr I think you have all missed something very simple, when you register your blocks you you specify a item class to associate with it for itemstacks (the second param) GameRegistry.registerBlock(woolslab1, MetaItem.class, "woolslab1"); here is my meta item class public class MetaItem extends ItemBlockWithMetadata{ public MetaItem(Block blk) { super(blk,blk); } @Override public String getUnlocalizedName(ItemStack stack) { return getUnlocalizedName()+stack.getItemDamage(); } } then add the names to the lang file and its done
January 20, 201510 yr You could also call translate more than once. private String[] names={"color.black","color.white", /*...*/}; translate("wool.name") + translate(names [item.getItemDamage ()]); 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.
January 20, 201510 yr Which is basically what I said, but not limited to the english language. Other languages might have the color behind the "Wool", who knows. Touche. 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.
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.