Замена текстур/моделей ванильных блоков или блокировка изменения текстур/моделей ресурспаками

Версия Minecraft
1.8.9
API
Forge
204
7
25
Задача. Любым способ убрать возможность изменять текстуру блоков листвы. В самой простой реализации с проверкой это кажется не сложно, но вылазит прикол:
- ресурс-паком изменяется json модель блока листвы и там указывается новый путь к текстуре типа /mypack/blocks/listva228.png

нужно както это побороть, мудохаюсь уже 3й день и 0 результата.

Спасибо
 
В 1.8.9 должен быть аналогичный класс, надо токо найти
В 1.12.2 есть такой класс, с него по идее начинается поиск ресурса
Можно хукнуться в начало метода и для определенных аргументов юзать избранный ресурспак вместо ванильной логики выбора от последнего1754924209994.png
 
Для тех кто будет искать ответ на этот вопрос, нужен вот такой хук + стандартные модели/текстуры

Java:
@Hook(injectOnExit = true)
    public static ResourceLocation getModelLocation(ModelLoader ml, ResourceLocation model) {
        if (model.getResourceDomain().equals("minecraft") && model.getResourcePath().contains("_leaves")) {
            return new ResourceLocation("mcb", model.getResourcePath().replace("block","locked_leaves")+".json");
        }
        return new ResourceLocation(model.getResourceDomain(), model.getResourcePath() + ".json");
    }
 
Осталась 1 проблема - чтото не так с текстурами предметов(блоков)
[11:53:49] [Client thread/ERROR] [FML]: Model definition for location minecraft:birch_leaves#inventory not found
[11:53:49] [Client thread/ERROR] [FML]: Model definition for location minecraft:jungle_leaves#inventory not found
[11:53:49] [Client thread/ERROR] [FML]: Model definition for location minecraft:eek:ak_leaves#inventory not found
[11:53:49] [Client thread/ERROR] [FML]: Model definition for location minecraft:dark_oak_leaves#inventory not found


1754989028869.png
 
модели для предметов(в папке models/item) нужно продублировать так же как для блоков
 
Назад
Сверху