Отсутствие отображения текстур для новых яблок

Версия Minecraft
1.8.8
API
Vanilla (без API)
Добрый день.

Я здесь новенький и далеко не профи в редактировании Майнкрафт.
Не использую Forge и другие платформы для создания модов.Использую лишь MCP 9.18

Вроде,до этого особых проблем в добавлении контента не было,однако появилась идея добавить зелёные и жёлтые яблоки.
Довольно неплохой вариант для разнообразия ванильного контента.
Добавил новые строки в item.java:

Item.java:
        registerItem(432, "apple_green", (new ItemFood(4, 0.3F, false)).setUnlocalizedName("appleGreen").setCreativeTab(CreativeTabs.tabFood));
        registerItem(433, "apple_yellow", (new ItemFood(4, 0.3F, false)).setUnlocalizedName("appleYellow").setCreativeTab(CreativeTabs.tabFood));

Написал для них отдельные названия в en_US.lang:

en_US.lang:
item.appleGreen.name=Green Apple
item.appleYellow.name=Yellow Apple

Ну а так-же добавил текстуры яблок + .json файлы.

Для зелёного яблока:
apple_green.json:
{
    "parent": "builtin/generated",
    "textures": {
        "layer0": "items/apple_green"
    },
    "display": {
        "thirdperson": {
            "rotation": [ -90, 0, 0 ],
            "translation": [ 0, 1, -3 ],
            "scale": [ 0.55, 0.55, 0.55 ]
        },
        "firstperson": {
            "rotation": [ 0, -135, 25 ],
            "translation": [ 0, 4, 2 ],
            "scale": [ 1.7, 1.7, 1.7 ]
        }
    }
}

Ну и,логично,для жёлтого яблока:
apple_yellow.json:
{
    "parent": "builtin/generated",
    "textures": {
        "layer0": "items/apple_yellow"
    },
    "display": {
        "thirdperson": {
            "rotation": [ -90, 0, 0 ],
            "translation": [ 0, 1, -3 ],
            "scale": [ 0.55, 0.55, 0.55 ]
        },
        "firstperson": {
            "rotation": [ 0, -135, 25 ],
            "translation": [ 0, 4, 2 ],
            "scale": [ 1.7, 1.7, 1.7 ]
        }
    }
}

Решил проверить это в самой игре.Да,новые предметы появились и даже в нужном для меня меню с едой,однако:

2026-04-05_13.24.45.png2026-04-05_13.25.14.png

Как видно на скриншотах,игра будто игнорирует .json файлы для новых яблок и использует блок ошибки.

У меня было несколько попыток исправления:

1)Сначала проверял,правильно ли названы файлы,в правильном месте ли они лежат.Всё в порядке!

2)Попробовал вообще скопировать новым яблокам код из apple.json.Как итог - ничего не поменялось


У меня такое чувство,что Майнкрафт просто не видит эти новые .json файлы,игнорирует их
А как считаете вы?Можете помочь в этой ситуации,пожалуйста?

Заранее благодарю!
 
А зачем изобретать велосипед, если есть API? Щас чай не 2012
 
Игра не ищет твои текстуры сама, она обращается к ItemModelMesher, который хранит хранит модели в двух видах: Item-ModelResourceLocation и Item-IBakedModel(Вообще, хранит он не класс Item, а индекс предмета с метадатой). Это значит, что тебе нужно самостоятельно добавить свою модель в кеш ItemModelMesher. Делается это через net.minecraft.client.renderer.RenderItem. В этом классе, в конструкторе, будет метод с нужной тебе регистрацией.

Java:
public RenderItem(TextureManager p_i46552_1_, ModelManager p_i46552_2_, ItemColors p_i46552_3_)
    {
        this.textureManager = p_i46552_1_;
        this.modelManager = p_i46552_2_;

        if (Reflector.ItemModelMesherForge_Constructor.exists())
        {
            this.itemModelMesher = (ItemModelMesher)Reflector.newInstance(Reflector.ItemModelMesherForge_Constructor, p_i46552_2_);
        }
        else
        {
            this.itemModelMesher = new ItemModelMesher(p_i46552_2_);
        }

        this.registerItems(); // <- Вот этот метод. Название может отличаться
        this.itemColors = p_i46552_3_;
    }
Ну а в нем регистрация не сложная:
Java:
this.registerItem(Item, String); // Предмет, уникальное имя
 
Назад
Сверху