
Ratatouille
Библиотека для модов doctor4t с утилитами рендеринга, кастомной броней, плюшевыми игрушками и косметикой для поддержки. Упрощает создание сложных визуальных механик.
Ratatouille - это библиотека для Майнкрафт, созданная разработчиком doctor4t (Dr. Plant despair). Она предназначена в первую очередь для его собственных модов, но многие её возможности пригодятся и другим авторам. Помимо чисто технических утилит, сюда входят и забавные фишки вроде плюшевых игрушек с пищалками и поддержка кастомной косметики для тех, кто поддерживает автора на Ko-Fi или YouTube.
Если вы когда-нибудь пытались добавить в Майнкрафт броню с собственной 3D-моделью, то знаете, сколько возни с рендер слоями, фичер-рендерерами и миксинами. Ratatouille решает эту проблему: достаточно одного вызова метода - и кастомная броня сама появляется на игроке, стенде-броне и мобах, включая отображение в руке от первого лица. Аналогично с эффектами частиц и звуками при ударах предметами.
Основные возможности
Библиотечные утилиты
- Утилиты рендеринга - частично взяты из Lib с Лодестоуна (Сэмми), но актуализированы под последние версии.
- Кастомизация косметики - если вы делаете мод на косметические предметы, можете использовать готовую систему настройки.
- Кастомные звуки и частицы для предметов - прописываете звук при ударе - и он работает.
- Отображение фич в руке от первого лица - достаточно реализовать интерфейс
RendersArmInFirstPerson, и ваш фичер-рендерер будет виден игроку. - Кастомная модель брони - регистрируется одной командой, без создания слоёв, миксинов и прочих танцев с бубном. Подробная инструкция есть ниже.
Дополнительные плюшки (Goodies)
- Плюшевые игрушки RAT - их три: RAT Maid, Folly и Mauve. Они пищат при взаимодействии. А если поставить на них нотный блок, то звук пищалки будет воспроизводиться как музыкальный инструмент.
- Раздача предметов мобам - в креативе с шифтом можно надеть на любого моба шмотки и оружие. А если ударить его пустой рукой в том же режиме - моб сбросит всё экипированное.
- Для подписчиков и донатеров - иконка рядом с именем, цветной ник и плюшевые головы, которые можно надеть через экран косметики (шифт + ПКМ плюшкой не по блоку).
Важные моменты по настройке брони
Если вы планируете использовать кастомный ателье (custom model armor util), вот как это работает на практике.
- Создайте модель в Blockbench и экспортируйте её как Java Entity. Имена групп в модели жёстко заданы:
helmet,body_chestplate,right_arm_chestplate,left_arm_chestplate,body_leggings,right_leg_leggings,left_leg_leggings,right_leg_boot,left_leg_boot. Добавлять подгруппы можно, удалять - нельзя. - Расширьте класс
CustomArmorModelDefinitionи вставьте сгенерированный код в методaddModelParts. Там же пропишите текстуру (проще всего - статическийIdentifier). - Зарегистрируйте броню вызовом
CustomModelArmorUtil.registerCustomArmorв клиентской инициализации. Ему нужно передать ID, условия отображения (ItemSetDisplayConditionsподойдёт для простых сетов), экземпляр вашей модели, ширину и высоту текстуры.
Всё остальное - создание текстурных данных, слоя модели и прикрепление к рендерам игрока/стенда/моба - делается автоматически. Результат вы увидите сразу.
Работа с фоновыми звуками
Для тех, кто хочет добавить атмосферные звуковые петли (например, гул в определённом блоке или биоме), есть AmbienceUtil.
- Фоновый звук -
AmbienceUtil.registerBackgroundAmbienceзадаёт звук, категорию, предикат (условие для проигрывания) и время затухания. - Звук от блока -
AmbienceUtil.registerBlockEntityAmbience- то же самое, но привязано к типу блочной сущности.
Тоже удобно: не нужно писать отдельный миксин на звуковой движок.
Подключение в проект
Для Gradle (версия Fabric) добавьте репозиторий Ladysnake и зависимость:
repositories {
maven {
name = 'Ladysnake Mods'
url = 'https://maven.ladysnake.org/releases'
}
}
dependencies {
modImplementation 'dev.doctor4t:ratatouille:[версия]'
}
Замените [версия] на актуальную (проверяйте на CurseForge или Modrinth).
Итог
Ratatouille - это скорее инструмент для создателей контента, чем мод для обычного игрока. Если вы делаете мод с кастомной бронёй или косметикой - это спасёт кучу времени. А если просто скачиваете, чтобы получить плюшевые игрушки и косметику для донатеров - ну, тоже приятно. На сервере для подписчиков такие фишки смотрятся очень органично.
Скачайте Ratatouille и добавьте в сборку, если используете моды от doctor4t - без неё они просто не запустятся.
