Minecraft Modding
Учебник по созданию Minecraft модов
mode_editРедактировать

Создание предметаlink

Основаlink

Создадим класс для нашего предмета.

public class ItemKey extends Item
{
    public ItemKey(String name)
    {
        this.setRegistryName(name);
        this.setUnlocalizedName(name);
    }
}

Регистрацияlink

Создадим класс ItemsRegister.

public class ItemsRegister
{
    public static Item KEY = new ItemKey("key");

    public static void register()
    {
        setRegister(KEY);
    }

    @SideOnly(Side.CLIENT)
    public static void registerRender()
    {
        setRender(KEY);
    }

    private static void setRegister(Item item)
    {
        ForgeRegistries.ITEMS.register(item);
    }

    @SideOnly(Side.CLIENT)
    private static void setRender(Item item)
    {

    }
}

Как Вы уже могли заметить, то теперь вместо GameRegistry используется ForgeRegistries, который делит регистрацию предметов, сущностей, блоков и т.д.

Далее нам нужно добавить в CommonProxy, в метод preInit такую строку кода ItemsRegister.register();.

Теперь можете запустить Minecraft нажав на кнопку run и посмотреть свой предмет в живую. Чтобы получить предмет пропишите /give @p tut:key. Вместо tut у Вас должен быть modid вашего мода! Вместо key у Вас должно быть регистрируемое имя вашего предмета.

Предмет от первого лица Предмет от третьего лица

Модельlink

Для начала добавим такой код в ItemsRegister, в метод setRender

Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));

Теперь Вы должны создать модель предмета, Вы можете создать как плоскую модель, примером может послужить яблоко или объёмную модель. Вот пример плоской модели:

{
  "parent": "item/generated",
  "textures": {
    "layer0": "tut:items/key"
  }
}

Объёмная модель

Если ваша текстура к модели берётся из самого Minecraft, то tut:(modid) прописывать не надо! В примере с объёмной моделью я решил использовать текстуру золотого блока из Minecraft. Текстуру необходимо добавить по пути:

└── src    
    └── main
        └── resources
            └── assets
                └── tut
                    └── textures
                        └── items

tut - modid нашего мода. key - регистрируемое имя нашего предмета.

Когда ваша модель готово, добавьте её по пути:

└── src    
    └── main
        └── resources
            └── assets
                └── tut
                    └── models
                        └── item

Добавим в ClientProxy, в метод init такой код ItemsRegister.registerRender();.

И вот, что в конечном итоге у нас может получится.

Предмет с моделью от первого лица Предмет с моделью от третьего лица

Ivasik
Автор
mcmodding.ru v1.1.1