Проблема с созданием брони.

Версия Minecraft
1.7.10
459
13
35
Доброго времени суток.
Я начинающий кодер, только учусь.
У меня проблема с созданием брони, просто на просто не создаётся.

Основной код:
Java:
    public static Item press;

Метод preload:
Java:
        //регестрация
        GameRegistry.registerItem(press, "press");
        //броня
        press = new Press(0, 1).setUnlocalizedName("press").setTextureName("dayz:armor-press");
        //--

Класс с бронёй:
Java:
package com.armor;

import com.base.Base;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;

public class Press extends ItemArmor {
    private String texturePath = "dayz:textures/model/armor/";
    
    public Press(int id, int armorType) {
        super(ArmorMaterial.DIAMOND, id, armorType);
        this.setCreativeTab(Base.tabarmor);
        this.setMaxStackSize(1);
        this.setTextureName();
    }

    public void setTextureName ()
    {
        if(armorType == 0||armorType == 1||armorType == 3){
            this.texturePath += "armor-press_" + 1 + ".png";
        }
        else {
            this.texturePath += "armor-press_" + 2 + ".png";
        }
    }
    
    @Override
    public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, String type){
        return this.texturePath;
    }
}
 
Решение
не очень понял.
У тебя:
Java:
//регестрация
GameRegistry.registerItem(press, "press");
//броня
press = new Press(0, 1).setUnlocalizedName("press").setTextureName("dayz:armor-press");
//--
А должно типа так:
Java:
//броня
press = new Press(0, 1).setUnlocalizedName("press").setTextureName("dayz:armor-press");
//регестрация
GameRegistry.registerItem(press, "press");
//--

timaxa007

Модератор
5,831
409
672
@MagTemTenebrius, у меня пример брони с моделью.
@Developer, сначала создаешь объект предмета, а потом его регистрируешь, если наоборот (как ты показываешь), то у тебя будет краш с тем, что ты регистрируешь null.
 
459
13
35

timaxa007

Модератор
5,831
409
672
не очень понял.
У тебя:
Java:
//регестрация
GameRegistry.registerItem(press, "press");
//броня
press = new Press(0, 1).setUnlocalizedName("press").setTextureName("dayz:armor-press");
//--
А должно типа так:
Java:
//броня
press = new Press(0, 1).setUnlocalizedName("press").setTextureName("dayz:armor-press");
//регестрация
GameRegistry.registerItem(press, "press");
//--
 
Сверху