Использование сторонних программ для CPM
Azzarg (commandermeta), переведено ShardDust

Содержание:
- KubeJS (кастом.звуки для модели)
- - - Origins (проигрыш анимации с кастом.ориджинсами-датапаками)
- OSC и использованние CompassOSC (там много чего, посмотрите сами, какие есть модули).
Глава 1. Использование KubeJS для звуковых эффектов.
Этот метод поддерживает ТОЛЬКО версию Forge 1.20.1 !!!
Этот туториал не предназначен для новичков в Customizable Players Models, сначала узнайте основы использования мода, иначе вы тут запутаетесь.
Скачайте мод KubeJS.

Либо зайдите в дискорд и скачайте нужный zip файл с оригинального сообщения ( ссылка ), либо скачайте его из моего тгк ( ссылка ).

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

Откройте папку вашей сборки (не mods, а та, в которой она находится!). Закиньте этот разархивированный файл туда.

Запустите игру и откройте свою модель в редакторе. Создайте новый кубик, который и будет использоваться для звукового эффекта. Сделайте этот куб скрытым по умолчанию (hidden by default). Он будет воспроизводить звук при отображении (галочка visible), но не будет воспроизводить звук, если он сам или его родительские кубы скрыты. Сейчас я покажу вам, как заставить его воспроизводить звук.

Если вы не знаете, какой звук вам нужен, можете быстренько зайти в тест модели в мире (test in game). После запуска игры введите /playsound и выберите подходящий звук из множества, которые может воспроизвести Minecraft или моды. Как только вы найдете понравившийся звук, скопируйте его название (синий текст) для дальнейшего использования.

После выбора звука скопируйте часть названия звука из команды /playsound. Снова откройте редактор и создайте новую кастомную позу (custom poze). Эта поза получит очень странное имя: %SOUNDEVENT%, а затем вставленное название выбранного вами звука.

В новой позе выберите все кубики, которые вы хотите использовать для воспроизведения выбранного звука, и сделайте их видимыми (галочка visible). Это свяжет кубики с кодом soundevent, определяющим, какой звук они будут издавать.

Теперь вы можете редактировать ЛЮБУЮ анимацию, какую захотите, и чтобы эта анимация воспроизводила звук, просто сделайте куб, издающий звук, видимым в этом кадре.

Аналогично работает и с любым другим звуком, добавляйте их столько, сколько хотите.


Теперь вы можете свести с ума своих друзей (и себя) с помощью непрекращающейся какофонии ужасных звуков!
Одна анимация может воспроизводить сразу несколько звуков. Эта анимация, например, атаки включает в себя звуки: kyng, woosh, splat:
Глава 2. Совместимость с кастомными расами Origins.
Отмечу, что вы должны уже уметь писать кастомные расы через датапаки, так как тут для этого туториала не будет.
Предположим, что вы такой же больной, как и я, и написали собственные датапаки для своих моделей. Тогда есть способ заставить способности рас запускать анимацию!
Сначала перейдите в список способностей (powers) и выберите ту, которая должна анимировать вашу модель.

Я выбрал невероятно удобную способность для покемонов стального типа, которая называется «blade attack». Независимо от того, что делает эта способность (в данном случае она проверяет, ничего ли вы держите в руках, а затем дает бонус к урону, если вы попадаете по противнику), вы можете добавить к ней функцию выполнения команды.
⚠️ Копирование моего кода один-в-один, вероятно, не сработает. Origins ОЧЕНЬ придирчив к action types, и точная формулировка функции выполнения команды меняется в зависимости от версии. Обратитесь в дискорд сервер Origins ( -> здесь <- можно найти ссылку на сервер) за помощью в настройке корректной работы вашей команды. Я рекомендую использовать команду /say, чтобы вы могли убедиться, что она работает, прежде чем вмешиваться в анимацию моделей.

Теперь создайте новую анимацию для вашей модели и обязательно дайте ей имя, чтобы вы могли ссылаться на неё в команде. Отметьте галочку «Анимация, активируемая командой» (Command Activated Animation).

Убедитесь, что анимация работает, если вы введете эту команду.
⚠️ ВАЖНО
Если команда анимации запускается из кастомной расы, то при первом запуске она только включит анимацию. При втором запуске она выключит анимацию. По сути, это всегда работает как переключатель (toggle). Если ваша анимация не зациклена, то Origins будет анимировать её только через раз.
Если вы хотите, чтобы ваша анимация воспроизводилась каждый раз при запуске команды, вам нужно создать пустую анимацию переключения (toggle layer) для включения команды и поместить вашу реальную анимацию в setup и finish анимации (то, что проигрывается перед/после анимации) для этого toggle layer.

Если вы всё сделали правильно, ваша анимация должна воспроизводиться каждый раз, когда триггерится команда в способке ориджина! Вы можете увидеть это в действии, посмотрев видео выше (из прошлой главы, где автор атаковал от первого лица, используя сразу три звука), но обратите внимание на paper doll в верхнем углу.
Глава 3: COMPASS OSC
Compass OSC — это программа, которая работает в фоновом режиме во время игры в майнкрафт и отслеживает ваши действия там, а затем запускает код, если замечает, что вы делаете что-то из настроенного заранее. OSC как раз является тем, что эти действия определяет и отправляет данные CPM, чтобы проигрывалась та или иная анимация (или принимала определённое значение, если это value layer).
Сначала создайте в любом месте на вашем компьютере файл с именем OSC.

Теперь заходите сюда: https://github.com/Topodic/CompassOSC/releases
Выберите подходящую для вашего устройства версию CompassOSC и поместите её в папку OSC.

А ещё добавьте папку с названием "modules", чтобы ваша папка OSC выглядела вот так:

Вы можете перейти по этой ссылке https://github.com/Topodic/CompassOSC-Modules/tree/master/pcks, чтобы посмотреть модули, созданные самим разработчиком.
Модули позволяют CompassOSC отслеживать определенные игровые события. В этом списке вы найдете модуль с имитацией физики, модуль, который будет проверять направление вашего движения, модуль, который проверяет, какой предмет вы держите, и многое другое!
Вы также можете искать модули в канале addons в самом дискорд-сервере CPM (на данный момент там есть уже как минимум 2, но в них разобраться сложнее. У меня получилось только с одним. -Даст). Поместите загруженные модули в папку modules.
Далее, скачайте мод CPM OSC Compat:

Вернувшись в редактор, вы увидите новый пункт меню: OSC settings и OSC Animation Wizard. Сначала откройте настройки (settings):

Поставьте галочку у пункта «OSC», затем нажмите расположенную рядом кнопку сохранения:

В этом примере я собираюсь сделать отдельную ходьбу назад, используя модуль "8-way walk". Узнать больше о модулях можно тут:
https://github.com/Topodic/CompassOSC-Modules
Согласно инструкциям, мне нужен переключающийся слой (toggle layer)с названием osc:/walking/backward.
Поскольку ходьба назад — это почти то же самое, что и ходьба вперед, я просто продублирую свой цикл ходьбы, переключу его на слой-переключатель, переименую его, сделаю активируемым командой (!), а затем инвертирую и внесу некоторые незначительные изменения.



Теперь протестируйте или экспортируйте свою модель, а затем запустите CompassOSC.exe, чтобы запустить его в фоновом режиме:

Теперь, пока OSC работает в фоновом режиме, ваши OSC-анимации будут воспроизводиться! Другие игроки на серверах также видят их, даже если не имеют ни CPM OSC Compat мода, ни CompassOSC, так как это полностью клиентская штука. То же самое, как если бы вы вручную включали эту анимацию ходьбы (например) каждый раз, когда идёте назад. OSC просто сам определяет это и включает нужную анимацию.
Перевод страницы с модулями для CompassOSC:
Чтобы использовать эти модули, загрузите сам CompassOSC и поместите файлы .pck оттуда в папку modules. Убедитесь, что для всех анимаций включена активация по команде (!!!). Вы можете скачать каждый из этих модулей, нажав на его английское название (там ссылка на скачивание сразу).
Equipped Gear
Отправляет сообщения типа «true» или «false», когда игрок надел или снял предмет брони или держит определённый предмет (голова, тело, ноги, ступни, основная рука, дополнительная рука) по адресу, зависящему от надетого/снятого снаряжения и его расположения. Ваши анимации должны быть слоями переключения (toggle layers), названными в соответствии со снаряжением, которое они должны включать, например, osc:/wearing/head/chainmail_helmet. Вы также можете указать тип, если хотите или вам нужно различать моды, например, osc:/wearing/main_hand/minecraft/iron_sword.
Кроме того, вы можете использовать теги предметов для активации анимаций, как встроенные теги самого Minecraft, так и пользовательскую систему тегирования, предоставляемую CPM. Например, вы можете создать универсальную анимацию для мечей, помеченную тегом по умолчанию CPM $cpm:item/swords, следующим образом: osc:/wearing/main_hand/tag/cpm/item/swords
The Blinker
Случайным образом отправляет сообщение true или false для управления переключаемым слоем (toggle layer) с названием osc:/is_blinking. Позволяет настроить среднее количество морганий в минуту, продолжительность моргания в игровых тиках и интервал между ними.
Basic Motion Physics
Отправляет множество значений от -1.0 до 1.0 в зависимости от внутриигрового движения по адресам osc:/phys/velocity и osc:/phys/acceleration, а затем значения frontback, rightleft, vertical, bodyYaw, headYaw или headPitch. В настоящее время это простой затухающий осциллятор — по сути, пружина, поэтому он полезен для создания неустойчивых элементов, таких как хвосты или плащи. Имеет конфигурации для различных значений и поддерживает несколько одновременных кастомных пресетов для разной плотности/скорости движения, каждый со своим, выбранным вами идентификатором, например, osc:/phys/velocity/headYawCape или osc:/phys/acceleration/verticalTail (это редактируется в самой программе CompassOSC), и, наконец, (-1.00:1.00) для работы с диапазоном выходных значений. Правильное имя анимации будет выглядеть примерно так: osc:/phys/acceleration/vertical4(-1.00:1.00) (где 4 - это идентификатор пресета). Убедитесь, что анимации представляют собой слои значений (value layers) длительностью 1000 мс и настроены на линейную интерполяцию (linear interpolation), иначе вы можете получить странные результаты (короче, всё сломается).
Автор программы и модуля сделал модель с примером использования этого модуля. Там особенно хорошо видны различия между acceleration и velocity.
Ссылка на модель в дискорде Ссылка на модель в моём тгк
Simple 8-Way Walk
Простая реализация ходьбы, бега и присяда в заданном направлении. В настоящее время используется переключение слоев (toggle layers), так как с кастомными позами, похоже, возникают проблемы. Названия анимаций должны быть отформатированы как osc:/тип движения/направление, где тип движения — это walking, running или sneaking, а направление — это любая из комбинаций: froward, right, left, backward или по диагонали: forward_left, forward_right, backward_left, backward_right. Обратите внимание, что идеально горизонтальное движение в майнкрафте не совсем возможно, так как ваше тело вращается в направлении движения, поэтому вы будете в основном использовать движение вперёд, назад и их диагонали. Примеры названий анимаций: osc:/running/forward_right или osc:/sneaking/backward.