July 3
[псд] Xtranims или больше возможностей и условий для анимаций.
пы.сы. Эта статья - это перевод и более понятное расписание гитхаба (https://github.com/Minecomedy/Xtranims) мода. Так как аддон был навайбкоджен, то и большая часть функций, которые я буду помечать, плохо работают или вовсе не работают.
пы.сы от 12.07.26 - Автор модификации выкатил свой собственный видео гайд о работе аддона. (https://www.youtube.com/watch?v=R87LMibh7Jo)
пы.сы.сы Статья будет время от времени обновляться, в зависимости от того, как обновится сама модификация.
Xtranims(https://modrinth.com/mod/xtranims) - свежий аддон CPM для Forge//Fabric//NeoForge от версий 1.20.1 и выше, что добавляет больше условий для анимации, такие как:- Фаза луны, время суток;
- Эффект зелий;
- Биом; (добавлю позднее)
- Погода;
- Статус игрока; (добавлю позднее)
- Стат игрока (добавлю позднее);
- Удержание предмета в руке(считывая НБТ тег предмета).
Кроме условий для анимаций, данный мод дает возможность менять цвет кубов на любой цвет во время игры без изменения модели.
Данный аддон, как и большенство других аддоно для КПМ, является клиент-сайд, из-за чего может быть установлен только у вас, а другие игроки могут не использовать его, но все равно видеть анимации.
По большей части все работает на "триггерах", прописанных в моде или добавляемые самим игроком вconfig/xtranims/.
Триггеры же прописываются в названии анимации. Например,moon_phase_0:werewolf_formилиis_on_fire:HELP.
> Фаза луны и время суток
- [
moon_phase_0] - Full moon; - [
moon_phase_1] - Waning Gibbous; - [
moon_phase_2] - Last Quarter; - [
moon_phase_3] - Waning Crescent; - [
moon_phase_4] - New Moon; - [
moon_phase_5] - Waxing Crescent; - [
moon_phase_6] - First Quarter; - [
moon_phase_7] - Waxing Gibbous; - (не рабочая) [
time_of_day] - Определенный час игрового дня, где 0 - полночь, 6 - рассвет, 12 - день, 18 - сумерки. Ночь начинается в 13.
> Эффект зелий
Для создания анимации при определенном эффекте зелья, используется шаблон "has_[название эффекта]". Названия эффектов есть на англоязычной вики. Но как быть с кастомными эффектами из модов? Тут чуть потруднее.
Мы должны обратиться в конфиг папку -config/xtranims/effects/- где должны создать файл .txt формата. Например,fortune.txtНазвание файла и станет словом триггером для анимации - т.е будетfortune:anim_test.
Внутри же созданного файла мы должны прописатьeffect = mod:mod_effect
> Биом
- (не рабочий)
[biome_temperature]- Триггер от температуры (Value Layer); [biome_is_snowy]- Температура биома < 0.15;[biome_is_dry]- Температура биома > 0.9;[biome_is_ocean]- Биом с названием Ocean;[biome_is_desert]- Биом с названием Desert;[biome_is_forest]- Биом с названием Forest;[biome_is_swamp]- Биом с названием Swamp;[biome_is_jungle]- Биом с названием Jungle;[biome_is_savanna]- Биом с названием Savanna;[biome_is_nether]- В незере;[biome_is_the_end]- В энде;[biome_is_underground]- При высоте Y < 0;- (не рабочий)
[y_level] -Триггер от высоты-64 < Y < 320(Value Layer).
Кроме заготовленных триггеров, можно добавлять свои для модовых биомов или определенных биомов. Все это пишется вconfig/xtranims/biomes/
Имеется два варианта использования:
Вариант А: Четкое совпадение.biome = terralith:highlands
Вариант Б: Совпадение подстроки (любой биом, имеющий в названии определенное слово)biome_contains = highland
biome_is_underground убирает глаза у моделькиmanors_bounty:violet_blue_plains> Погода
У погоды всего два триггера:
> Статус игрока
is_on_fire- Игрок горит;is_sprinting- Игрок бежит;is_sneaking- Игрок приседает;is_swimming- Игрок плывет;is_underwater- Игрок под водой;is_in_water- Игрок в воде;is_in_lava- Игрок в лаве;is_elytra_fly- Игрок летит на элитрах;is_invisible- Игрок невидимый.
is_in_water в действииis_on_fire в действии> Стат игрока
(Не работают, да и тем более часть есть уже в ванильном КПМ функции.)
health_pct- Текущее количество здоровья у игрока (в процентах);food_pct- Голод игрока (В процентах);air_pct- Количество кислорода игрока (В процентах);xp_level- Уровень игрока (До 100);armor_value- Уровень брони игрока (0-20).
> Удержание предмета в руке
В моде уже имеются свою прописанные теги для предметов:
holding_sword- меч;holding_bow- лук;holding_crossbow- арбалет;holding_trident- трезубец;holding_shield- щит;holding_axe- топор;holding_pickaxe- кирка;holding_shovel- лопата;holding_hoe- мотыга;holding_tool- любой инструмент (кирка\мотыга\топор\лопата);holding_book- книга;holding_food- еда;holding_staff- палка;main_hand_empty- основная рука пустая;off_hand_empty- вторая рука пустая;- (не рабочий)
hotbar_slot- выбранный слот инвентаря пустой.
holding_sword с анимаций, что заставляет голову игрока пропасть(НБТ НЕ РАБОТАЕТ, ЖДИТЕ ОБНОВЛЕНИЯ МОДА У АВТОРА. ДЛЯ ГАЙДА ИСПОЛЬЗОВАЛ ЛИЧНУЮ ПЕРЕПИСАННУЮ ВЕРСИЮ)
Но, кроме заготовленных, можно и поставить свои условия. Например, название или CustomModelData на предмете. Для этого нужно в конфиг папке - config/xtranims/animations/ - создать файл с любым триггером.txt. Формат файла:
item = namespace:item_idАйди предмета, обязательный пунктhand = main / off / bothОпционально - рука, в которой находится предметnbt.path operator [value]Условия, при которых оно будет меняться. Одно или несколько, но ВСЕ должны выполняться.
Операторы
- exists - Данный НБТ тег существует на предмете;
- not_empty - Список\\строка не пустые(?);
- has_enchant [id] - Предмет имеет зачарование(ванильное или модовое);
- == [text] - Точное совпадение строки (Чувствительно к регистру(!));
- != [text] - Строка не совпадает;
- > [number] - Число больше
- >= [number] - Число больше либо равно;
- < [number] - Число меньше;
- <= [number] - Число меньше либо равно;
Примеры использования
Алмазный меч с CustomModelData == 1001 превращается на модельке в булавку.
item = minecraft:diamond_sword
tag.CustomModelData == 1001
Предмет с ЛЮБЫМ названием превращается в дубинку DIALOGUE
item = minecraft:diamond_sword
tag.display.Name exists
также подобное работает и для любого зачарования
item = minecraft:diamond_sword
tag.Enchantments exists
> РГБ система
А тут начинается самое сложное. Создание данной фичи на модельке очень баганно и противно.
Мод добавляет кнопку, при помощи которой открывается меню, где можно менять цвета определенных элементов модели без редактирования.
Для того, чтоб сделать это в модельке, нужно у отдельного куба, покрашенного в белый(!) включить Effects\Color Filter и выбрать в нем любой цвет. После этого(в лучшем случае, если не произойдет каких-то ужасов и фокусов из-за вайбкода мода) у вас в config\xtranims\colors\ сгенерируется файл настройки и при нажатии клавиши, что вы должны забиндить в настройках, появится вышепоказанное меню.July 3, 20:36
0 views