Тонирование блоков 26.1.2
Узнайте, как динамически тонировать блок.
Иногда может потребоваться, чтобы внешний вид блоков обрабатывался в игре особым образом. Например, к некоторым блокам, таким как трава, применяется тонировка.
Давайте посмотрим, как можно изменить внешний вид блока.
Для этого примера давайте зарегистрируем блок. Если вы не знакомы с этим процессом, сначала прочитайте о регистрации блока.
java
No lines matched.1
Обязательно добавьте:
- Состояние блока в
/blockstates/waxcap.json - модель в
/models/block/waxcap.json - текстура в
/textures/block/waxcap.png
Если все правильно, вы сможете увидеть блок в игре.

Источники тонировки блоков
Хотя наш блок выглядит нормально в игре, его текстура — в оттенках серого. Мы можем динамически применить цветовую тонировку, как это происходит с листвой в ванильной игре, которая меняет цвет в зависимости от биома.
Fabric API предоставляет BlockColorRegistry для регистрации списка BlockTintSource, которые мы будем использовать для динамической окраски блока.
Используем этот API, чтобы зарегистрировать тонировку так, чтобы наш блок восковика выглядел зелёным, если он размещён на траве, а в остальных случаях — коричневым.
В вашем клиентском инициализаторе зарегистрируйте блок в ColorProviderRegistry вместе с соответствующей логикой.
java
No lines matched.1
Теперь блок будет окрашиваться в зависимости от того, где он размещён.


