Используем много текстур для одного предмета или блока
Сегодня мы создадим различные текстуры для предмета, блока и моба. Способ весьма интересный, очень пригодится RPG-серверам. Расскажу вкратце, как это работает: в ресурспаках есть файлы для настройки отображение текстуры и в них можно указывать вариации текстур, поэтому можно сделать много альтернатив текстуре.
Вот пример, используется один и тот же ID блоков, но текстура для каждого блока выставляется в случайном порядке
Мы будем работать уже по готовому ресурс-паку, т.к. я показываю принцип работы самого механизма, а не создания с нуля ресурс-пака. Обязательно нужен OptiFine. Создадим сначала блок с различным вариациями.
Переходим в assets/minecraftminecraft/mcpatcher/ctm/hard_materials/stonebrick/,
ниже мы видим много .png файлов и файлов с расширением .properties. Для работы с различным настройками рекомендую ознакомиться с материалом. У каждого блока есть свои настройки, например, у каменного кирпича называется файл block98a.properties. Мы добавим свою конфигурацию к этому блоку. В первой строчке у нас стоит tiles — это значит, какие мы будем файлы использовать из папки, я добавлю два файла с белым и темным фоном, и сохраню их в png формате, и назову их 1; 2. Заменю цифры на 1-2 в строчке tiles.

По данному примеру мы можем увидеть, что можно добавлять текстуры разного цвета и они будут работать вместе.
Теперь добавим новую текстуру для моба. Заходим в resource/assets/minecraft/mcpatcher/mob/, сделаем текстуры идентичные текстурам блока. Сделаем именно не замену, а добавим уже несколько текстур к существующем, чтобы увеличить разнообразие. Перейдем к файлу chicken.properties и заменяем skins.1 строчку на 1-8, позже добавляем наши текстуры с названием chicken7.png и chicken8.png.

Как мы видим наши текстуры работают и можно создавать большое количество вариаций.
Теперь перейдем к броне, как это работает: есть стандартная текстура, но она может замениться если будет другое название. В данном случае у нас больше возможностей, так как мы можем сделать ещё больше вариаций просто заменив название предмета.

Вот пример, один и тот же предмет, но с разным названием.
Заходим в resource/assets/minecraft/mcpatcher/cit/armor, добавим собственную броню, я использую текстуру из интернета. Скопирую файл chainmail.properties и переименую его в mineleak.properties, далее nbt.display.Name ставим название из текстуры которую вы добавили, ipattern:*mineleak*, ipattern — указывается предметы из matchItems, далее в звездочках указывается измененное имя. Теперь выдаем себе измененную броню командой /i 305 1 name:mineleak.

Вот что вышло.
Напоследок покажу весьма интересную вещь, которая работает с количеством одного предмета. Перейдем в resource/assets/minecraft/mcpatcher/cit/items/coins и сделаем дубликат папки gold, назовем red_ore. Я создам 16 текстур отличающихся количеством в нем красных точек, каждая новая текстура называется 1-16 и заменяем имеющееся. Расскажу как это работает на примере файла 1coin.properties, matchItems — ID предмета, stackSize — количество данного предмета, tile — текстура, nbt.display.Name — тоже самое, что и с броней работает, только когда происходит замена имени предмета. Вводим команду в игре /i 371 1 name:red_coin и /i 371 16 name:red_coin, чтобы увидеть разницу в текстурах.

По статье вы можете понять, что для одного и того же предмета можно создавать много текстур, только заменив название. Для многих серверов это даст свободу в действиях.