[1.7.10]Как сделать предмет, который бы красился как кожаная броня?

На 1.7.10 я без понятия, но на 1.6.4 я знаю (пока-что кроме самой брони которой на игроке [либо понять и использовать метод, либо создавать кастомную модель брони, чтобы можно было красить]).
 
Пример (можно взять от яиц спавна, но) код от моих комб (если не обязательна броня):
Код:
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {return true;}//Это даёт рендерить два слоя для текстур.

public Icon getIcon(ItemStack is, int pass) {
if (is.getTagCompound() != null) {//Если есть какой-то тег
if (pass == 0) {//Первый слой
return icon_a;//первый слой
} else {//Остальные слои
return icon_b;//второй слой
}
} else {
return itemIcon;//в остальных случаях, но он у меня только для иконки вкладки
}
}

@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack is, int pass) {
if (is.getTagCompound() != null && is.getTagCompound().hasKey("HexColor1") && is.getTagCompound().hasKey("HexColor2")) {//Если есть какой-то тег, и мои теги
if (pass == 0) {//Первый слой
return is.getTagCompound().getInteger("HexColor1");//цвет первого слоя, типа 0xFFFFFF
} else {//Остальные слои
return is.getTagCompound().getInteger("HexColor2");//цвет второго слоя, типа 0xFFFFFF
}
} else {
return 16777215;//Это типа в остальных случаях, это типа белый цвет
}
}

@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister ir) {
super.registerIcons(ir);
itemIcon = ir.registerIcon("modid:apis/honeycombs_icon");//Иконка для вкладки
icon_a = ir.registerIcon("modid:apis/honeycombs_a");//Первый слой иконки
icon_b = ir.registerIcon("modid:apis/honeycombs_b");//Второй слой иконки
}
Ну надеюсь, хоть как-то помогло.
[merge_posts_bbcode]Добавлено: 30.09.2014 20:21:58[/merge_posts_bbcode]

Код:
@SideOnly(Side.CLIENT) private Icon icon_a;
@SideOnly(Side.CLIENT) private Icon icon_b;
icon_a и icon_b нужно создать, itemIcon стандартно есть.
 
Мне кажется ты его неправильно понял. Ему нужно чтоб итемстак красился в определенный цвет. Ведь так?
Это сделать очень просто. Есть такой метод:
    public int getColorFromItemStack(ItemStack is, int pass) {
        return Color.RED.getRGB();
    }
В нем ты должен возвращать цвет итемстака. Поскольку тебе дают сам итемстак, можно всячески издеваться. Я к примеру, в зависимости от типа ключа крашу его в определенный цвет.
@Override
    public int getColorFromItemStack(ItemStack is, int p) {
        if(is.hasTagCompound() && is.getTagCompound().hasKey("type")) {
            String s = is.getTagCompound().getString("type").trim().toLowerCase();
            if(s.equals("magic"))
                return Color.MAGENTA.getRGB();
            else if(s.equals("tech"))
                return Color.GREEN.getRGB();
            else if(s.equals("mixed"))
                return Color.YELLOW.getRGB();
            return Color.RED.getRGB();
        } else return Color.RED.getRGB();
    }
 
Я же даже показал как я это использую в спойлере, ну конечно работает.
 
Назад
Сверху