Posted December 15, 20168 yr Hey there, So I have this 'dust' Item here that uses IItemColor to get a color from a list so it a bit more flexible with other mods, and just easier / cleaner implementation. However, I have run into an issue: It wont display the colors. I have no clue what I'm doing wrong, so I'll go ahead and post here... So here is the item: public class ItemDust extends ItemBase implements IColorProvidingItem { public static final Dusts[] ALL_DUSTS = Dusts.values(); public ItemDust(String name){ super(name); this.setHasSubtypes(true); } @Override public int getMetadata(int damage){ return damage; } @Override public String getUnlocalizedName(ItemStack stack){ return stack.getItemDamage() >= ALL_DUSTS.length ? StringUtil.BUGGED_ITEM_NAME : this.getUnlocalizedName()+"_"+ALL_DUSTS[stack.getItemDamage()].name; } @Override public EnumRarity getRarity(ItemStack stack){ return stack.getItemDamage() >= ALL_DUSTS.length ? EnumRarity.COMMON : ALL_DUSTS[stack.getItemDamage()].rarity; } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, NonNullList list){ for(int j = 0; j < ALL_DUSTS.length; j++){ list.add(new ItemStack(this, 1, j)); } } @Override protected void registerRendering(){ for(int i = 0; i < ALL_DUSTS.length; i++){ PlentifulMisc.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), "inventory"); } } @SideOnly(Side.CLIENT) @Override public IItemColor getColor(){ return new IItemColor(){ @Override public int getColorFromItemstack(ItemStack stack, int pass){ return stack.getItemDamage() >= ALL_DUSTS.length ? 0xFFFFFF : ALL_DUSTS[stack.getItemDamage()].color; } }; } } IColorProvidingItem (due to implementing the vanilla, the server cant load due to the class not being @SideOnly) public interface IColorProvidingItem{ @SideOnly(Side.CLIENT) IItemColor getColor(); } The Texture is White, so the color should be applied. Registration code is the same for most items. Thanks, Relatively new to modding. Currently developing: https://github.com/LambdaXV/DynamicGenerators
December 15, 20168 yr Where do you register each IItemColor ? You have to register them before Minecraft can use them. Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
December 15, 20168 yr Author Oh, where and how would I register it? Never used this system before. Relatively new to modding. Currently developing: https://github.com/LambdaXV/DynamicGenerators
December 15, 20168 yr Author Nevermind, figured it out... Thanks. Relatively new to modding. Currently developing: https://github.com/LambdaXV/DynamicGenerators
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.