Представляем Morph: Улучшенный и Трансформированный
также известный как MEAT
Полностью переписанный с нуля (Ещё одна переработка?!), Morph возвращается для версий 1.16.5+! Новые анимации! Новые системы! Новые механики (вроде как)!
Уничтожьте моба, приобретите его и превращайтесь в него по желанию.
Как и раньше:
[ ] - клавиши открывают/перемещают по селектору (удерживайте SHIFT для горизонтальной навигации).
` (чаще известная как ~) - добавляет морфа в избранное в селекторе и открывает радиальное меню избранного.
Наш коллега по сообществу luckyu19 составил список черт (traits) и способностей (abilities), доступных в моде, и указал, какие мобы ими обладают. Список можно найти здесь.
К сожалению, мод не завершён с точки зрения контента.
У меня были планы по добавлению полноценной прогрессии через способность Biomass, которая должна была быть доступна по умолчанию. Однако из-за ограничений по времени и личных обязательств я решил завершить разработку этого мода и выпустить "Классический" режим. Классический режим — это Morph, каким мы его знаем и любим: уничтожь существо, стань им, используй его способности. Большинству пользователей, знакомых со старым Morph (эпохи до 1.12.2), принцип работы мода будет знаком, но я всё же кратко изложу запланированные изменения ниже.
Поскольку мод не завершён, в классический режим проникли элементы режима по умолчанию (например, конфиги), которые не действуют. Это будет исправлено позже. Примеры:
Привязки клавиш:
- Biomass - Biomass ещё не реализован, но занимает привязку для открытия меню.
- Abilities (Способности) - Это относится к активным способностям, предназначенным для использования с Biomass, и поэтому они также отключены. Пассивные способности и черты, такие как медленное падение, дыхание под водой, творческий полёт и т.п., существовавшие в Morph для MC 1.12.2, присутствуют в моде. К сожалению, в игре также нет возможности узнать, какие мобы обладают какими чертами и способностями.
Известные проблемы:
Версия 10.2.0:
- Мобы из модов отображаются как свиньи: Свиньи являются "запасным" существом (fail-catch) для Morph. Подробности ниже.
- Некоторые моды (вероятно, Optifine) препятствуют отрисовке GUI Morph. Всё остальное в моде работает, кроме этого.
Некоторые мобы выглядят некорректно.
Чтобы решить проблему дублирования мобов, существовавшую в старом Morph, я теперь удаляю все нерелевантные данные NBT. Для указания Morph, какие данные NBT следует сохранять в морфе, требуются NBT модификаторы.
Для мобов, отображающихся как "Invalid Morph Pig" (Недействительный морф-свинья), возникновение ошибки возможно из-за проблем с кодом, и их не удаётся создать. Разработчикам модов необходимо исправить это на своей стороне. (Для разработчиков:) Сущности, расширяющие IAngerable, должны исправить MC-189565, проверяя world.isRemote перед приведением к ServerWorld при чтении данных NBT, аналогично тому, как Forge исправляет 6 классов, реализующих этот интерфейс. Если это не решает проблему, вероятно, есть другая ошибка, возникающая на стороне клиента при создании моба с данными NBT.
Для мобов, которые отображаются как правильный тип, но с неверной текстурой/моделью, потребуются специальные NBT модификаторы, чтобы Morph мог корректно захватить их данные NBT. Подробности о создании таких файлов ниже.
Добавление совместимости с модами
Для добавления совместимости с мобами из модов или модифицированными возможностями Morph требует (до) трёх типов JSON файлов: Hand Info (Информация о руке), Mob Data (Данные моба), NBT Modifiers (NBT модификаторы). Эти файлы размещаются в /config/morph/
Hand Info создаётся с помощью Tabula. Импортируйте моба из мода, а затем экспортируйте новый JSON Hand Info. Шаги проведут вас.
Mob Data создаётся командой "/morph resources generate mob". Это покажет ваших морфов через GUI, где можно добавить и изменить черты морфа.
NBT Modifiers создаются командой "/morph resources generate nbt [сущность]". Вам понадобится живая сущность, а не морф. Либо посмотрите на нужную сущность, либо используйте цель, например @e[type=<тип>]. Откроется GUI, где можно изменить ключи NBT и сравнить внешний вид моба с его морфом.
Дополнительная информация
Запланировано:
Режим по умолчанию (Default Mode):
Режим по умолчанию добавляет способность Biomass, которая будет доступна после достижения Нижнего мира и требует одновременного наличия эффектов иссушения (wither) и регенерации. Это разблокирует для игроков возможность поглощать/потреблять биомассу других мобов, что в конечном итоге приведёт к улучшениям и разблокировкам (таким как способность к морфингу и вместимость).
Активные способности (Active Abilities):
Morph теперь разделяет старую систему способностей на Черты (Traits) и Способности (Abilities). Использование способностей будет требовать затрат Biomass. Большинство из них будут пассивными, другие - активными. Большинство этих способностей придётся разблокировать с помощью Biomass, чтобы дать игрокам применение для Biomass и ощущение прогрессии. Все способности старого Morph были переписаны для этого, и в будущем их станет больше. Это также должно упростить разработчикам модов добавление поддержки для их мобов.
Поддержка классического режима в будущем:
Поскольку JSON файлы используются совместно режимами, обновления для режима по умолчанию будут включать и классический режим. Это означает, что со временем классический режим также получит больше черт/способностей. Время покажет!
О файлах данных JSON:
Morph извлекает стандартный пакет поддержки мобов (аналогично Hats/Googly Eyes) в папку /config/morph/. Они разделены на "biomass", "hand", "mob" и "nbt".
"biomass" в настоящее время не используется, но синхронизируется между сервером и клиентами. Эти файлы будут завершены позже.
"hand" обозначает, какая часть модели является рукой сущности, и отображает её на клиенте (когда ничего не держите). Только клиент. Как упоминалось, для генерации можно использовать Tabula.
"mob" обозначает все черты и способности моба, а также (будущую) стоимость в Biomass для каждой. Они не синхронизируются между клиентами и сервером. Их десериализованные версии можно найти здесь. Чтобы добавить отображения для конкретного моба, используйте упомянутую выше команду.
"nbt" обозначает, какие данные NBT следует сохранить/изменить для уничтоженных мобов. Только серверу нужны эти файлы. Они создаются по классу сущности, модификаторы для суперклассов наследуются автоматически. Десериализованную версию этих файлов можно найти здесь. Используйте упомянутую выше команду для помощи в создании.
Если вы создали новые файлы, их можно перезагрузить с помощью команды /morph или через внутриигровой конфиг Morph. Если вы создали какие-либо файлы, поделитесь ими на официальном Discord-сервере! Как и прежде, я полагаюсь на вклад сообщества в поддержку мобов из сторонних модов, я не могу сопоставить их всех самостоятельно, поэтому ваш вклад поможет многим другим лучше насладиться модом!