2023-02-17 23:30:39 +01:00

80 lines
1.9 KiB
Java

package com.hbm.items.machine;
import com.hbm.items.ItemEnumMulti;
import com.hbm.lib.RefStrings;
import com.hbm.util.EnumUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
public class ItemChemicalDye extends ItemEnumMulti {
@SideOnly(Side.CLIENT) protected IIcon overlayIcon;
public ItemChemicalDye() {
super(EnumChemDye.class, true, false);
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister reg) {
super.registerIcons(reg);
this.overlayIcon = reg.registerIcon(RefStrings.MODID + ":chemical_dye_overlay");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int meta, int pass) {
return pass == 1 ? this.overlayIcon : super.getIconFromDamageForRenderPass(meta, pass);
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass) {
if(pass == 1) {
EnumChemDye dye = EnumUtil.grabEnumSafely(EnumChemDye.class, stack.getItemDamage());
return dye.color;
}
return 0xffffff;
}
public static enum EnumChemDye {
BLACK(1973019, "Black"),
RED(11743532, "Red"),
GREEN(3887386, "Green"),
BROWN(5320730, "Brown"),
BLUE(2437522, "Blue"),
PURPLE(8073150, "Purple"),
CYAN(2651799, "Cyan"),
SILVER(11250603, "LightGray"),
GRAY(4408131, "Gray"),
PINK(14188952, "Pink"),
LIME(4312372, "Lime"),
YELLOW(14602026, "Yellow"),
LIGHTBLUE(6719955, "LightBlue"),
MAGENTA(12801229, "Magenta"),
ORANGE(15435844, "Orange"),
WHITE(15790320, "White");
public int color;
public String dictName;
private EnumChemDye(int color, String name) {
this.color = color;
this.dictName = name;
}
}
}