
JsonEM
Активный0.0
Установок
Последнее обновление
Версии
JsonEM (Json Entity Models)
Библиотека для разработчиков модов, создателей ресурспаков и авторов модпаков, позволяющая создавать и редактировать модели существ с помощью JSON.
Внимание: несовместимо с форматом OptiFine!
Создание эталонных моделей существ
Если вам нужно получить JSON-версии всех моделей существ (ванильных или из модов) для последующего редактирования через ресурспаки или использования в качестве примеров, выполните следующие действия:
Запустите игру и откройте файл конфигурации по пути .minecraft/config/jsonem.properties
. Измените вторую строку файла на dump_models=true
. Перезапустите игру и перейдите в папку .minecraft/jsonem_dump
. В этой папке вы найдете все зарегистрированные модели существ в формате JSON, организованные как ресурспак. Используйте этот формат при редактировании или добавлении моделей через ресурспак.
Редактирование моделей в Blockbench
Для работы с моделями в Blockbench установите плагин из этого репозитория.
Скачайте файл jsonem_models.js
из GitHub-репозитория. В Blockbench перейдите в Файл > Плагины
и в верхней части диалогового окна нажмите значок Загрузить плагин из файла
. Выберите файл jsonem_models.js
. Перейдите в Файл > Создать
и выберите JsonEM Java Entity Model
для начала редактирования. Также можно использовать Файл > Открыть модель
для импорта JSON-файла модели JsonEM, например, тех, что были получены из игры. Для экспорта вашей модели для использования с JsonEM перейдите в Файл > Экспорт > Экспорт JsonEM Java Entity Model
и сохраните файл.
Для создателей ресурспаков и модпаков
Выполните описанные выше шаги для получения всех моделей существ из вашей игры или модпака. При редактировании ресурсов вашего ресурспака или модпака добавляйте JSON-файлы моделей существ в том же формате, в котором они представлены в папке с полученными моделями.
Для разработчиков модов
JsonEM позволяет создавать TexturedModelData для ваших существ полностью с использованием JSON. В этом руководстве показано, как создать модель для существа-куба из этого туториала с помощью JSON.
Добавьте мод следующим образом (версии можно найти здесь):
repositories {
maven { url "https://api.modrinth.com/maven" }
}
dependencies {
// Замените <version> на нужную версию
modImplementation "maven.modrinth:jsonem:<version>"
include "maven.modrinth:jsonem:<version>"
}
Зарегистрируйте слой модели существа для вашего существа через JsonEM вместо Fabric API (исключает необходимость в кодово-генерируемом TexturedModelData):
void onInitializeClient() {
[...]
JsonEM.registerModelLayer(MODEL_CUBE_LAYER); // ID слоя: "entitytesting:cube", Имя слоя: "main"
}
Добавьте файл модели в ресурсы вашего мода, содержащий данные модели вашего существа:
Пример: assets/entitytesting/models/entity/cube/main.json
{
"texture": {
"width": 64,
"height": 64
},
"bones": {
"cube": {
"transform": {
"origin": [0, 0, 0]
},
"cuboids": [
{
"uv": [0, 0],
"offset": [-6, 12, -6],
"dimensions": [12, 12, 12]
}
]
}
}
}
Убедитесь, что кость "cube"
в файле выше доступна под тем же именем в вашей модели существа:
public CubeEntityModel(ModelPart modelPart) {
this.base = modelPart.getChild("cube"); // В оригинальном туториале использовалось неуказанное поле EntityModelPartNames.CUBE
}