1. **Создать несколько моделей**: Создайте несколько моделей жидкости зелья с разными текстурами, представляющими разные цвета. Каждая текстура должна соответствовать определенному значению `color`.
2. **Использовать предикаты для замены моделей**: В JSON-файле модели зелья используйте секцию `overrides` для замены текстуры на основе значения NBT `color`.
Например, если вы хотите, чтобы `color:100` использовал зеленую текстуру, а `color:200` — синюю, ваш JSON-файл модели жидкости может выглядеть так:
{
"parent": "item/generated",
"textures": {
"layer0": "alhimia:item/bottle",
"layer1": "alhimia:item/fluid_default"
},
"overrides": [
{"predicate": {"custom_model_data": 1, "color": 100}, "model": "alhimia:item/fluid_green"},
{"predicate": {"custom_model_data": 1, "color": 200}, "model": "alhimia:item/fluid_blue"}
]
}
3. **Создать текстуры**: Создайте текстуры `alhimia:item/fluid_green` и `alhimia:item/fluid_blue` и укажите их в соответствующих моделях.
Этот подход сработает, если вы можете настроить NBT-теги и предикаты для замены моделей. Если же требуется более динамическое изменение цвета, может потребоваться написание модификации с использованием Forge или Fabric, которая позволит изменять цвет текстуры программно.
{
"parent": "item/generated",
"textures": {
"layer0": "alhimia:item/bottle"
},
"overrides": [
{"predicate": {"custom_model_data":1}, "model": "alhimia:item/fluid"}
]
}
и json жидкости зелья:
{
"parent": "item/generated",
"textures": {
"layer0": "alhimia:item/bottle",
"layer1": "alhimia:item/fluid"
}
}
можно ли это реализовать?