Перейти к основному содержимому

Пользовательские модели

Начиная с версии EliteMobs 7.3.12, пользовательские модели были добавлены в EliteMobs через Model Engine и FreeMineCraftModels.

Предисловие

С точки зрения EliteMobs, система пользовательских моделей очень проста, так как единственное, что нужно сделать администраторам - это добавить строку в файл конфигурации NPC или пользовательского босса, указывающую, какую пользовательскую модель использовать. Однако необходимо выполнить правильные шаги с Model Engine и Minecraft, чтобы эта система полностью функционировала, и это не так просто освоить.

Это руководство подробно рассмотрит взаимодействие с Model Engine и Minecraft. Оно не расскажет вам, как использовать Blockbench для создания пользовательских боссов, и не будет вдаваться в подробности о том, как работает Model Engine. Уже существует множество руководств о том, как это сделать, и если вы хотите узнать больше об этих системах, вам лучше обратиться непосредственно к их документации.

FreeMineCraft Models

Если вы хотите узнать, как использовать FMM для работы ваших моделей, вы можете ознакомиться с [этой](../Free Minecraft Models/info.md) страницей wiki.

Минимальные требования

EliteMobs 7.3.12 или новее, Model Engine R2.2.0* или новее, Blockbench**, использование Minecraft Resource Packs.

* Этот плагин может иметь дополнительные зависимости. Проверьте документацию с их стороны. ** Необходим для создания и редактирования пользовательских моделей. Не требуется, если вы просто хотите установить контент без его изменения.

Ручная настройка пользовательской модели

Примечание: Это руководство предполагает, что у вас уже есть действительная пользовательская модель. Они поставляются в формате файлов Blockbench (.bbmodel).

EliteMobs может использовать пользовательские модели для NPC и пользовательских боссов. Процесс для обоих одинаков и выглядит следующим образом:

Шаг 1. Настройка конфигурации EliteMobs

Перейдите к файлу конфигурации пользовательского босса или NPC, который вы хотите изменить, и добавьте следующую строку:

customModel: modelname

Замените modelname на имя вашей модели. Имя - это имя файла пользовательской модели, которую вы используете. Например, файл пользовательской модели тестового босса - это showcase_boss.bbmodel. Таким образом, параметр конфигурации должен быть

customModel: showcase_boss

И это все для EliteMobs! Теперь становится немного сложнее.

Шаг 2. Генерация данных Model Engine

Примечание: В случае сомнений или проблем обратитесь к wiki Model Engine здесь.

  1. Поместите файл пользовательской модели Blockbench (.bbmodel) в каталог (yourServer)/plugins/ModelEngine/blueprints .
  2. Выполните команду /meg reload . Если все сработало правильно, вы должны получить сообщение [Model Engine] X models loaded , где x - это количество зарегистрированных моделей.

Шаг 3. Генерация Resource Pack

Примечание: теперь есть альтернативный, более простой способ выполнить этот шаг по этой ссылке. Однако он немного менее гибкий, чем то, что указано здесь.

Это, возможно, самая сложная часть, если вы хотите, чтобы ваш сервер управлял загрузками. Попробуйте проверить, работает ли система, когда у вас есть resource pack на вашем клиенте, прежде чем искать способы его автоматического распространения!

  1. Перейдите в каталог (yourServer)/plugins/ModelEngine/resource pack и создайте resource pack, используя эти данные, или добавьте папку assets оттуда в assets вашего resource pack
    1. Если вы создаете новый resource pack, вы можете поместить файлы из resource pack в zip-файл, и это будет действительный resource pack, который вы можете распространять. Подробнее.
    2. Если у вас уже есть resource pack, убедитесь, что вы случайно не перезаписываете существующие модели. Подробнее.
  2. Распространите ваш resource pack среди ваших игроков. Только игроки, у которых есть resource pack, смогут видеть пользовательские модели, и это будет выглядеть очень странно и сломанно для всех остальных. Если вы планируете активно использовать это, возможно, вы захотите принудительно использовать resource pack.
    1. (Необязательно) Чтобы позволить игрокам загружать resource pack при входе, вам нужно будет разместить файл где-то в Интернете и изменить поле resource-pack= в server.properties, чтобы оно указывало на этот адрес.*
    2. (Необязательно) Если вы изменяете resource pack, вы захотите использовать опцию resource-pack-sha1=, чтобы сервер мог проверить, нужно ли обновлять resource pack игрока. Чтобы сгенерировать это значение, загрузите ваш resource pack на http://onlinemd5.com/ и убедитесь, что вы выбрали опцию SHA1. Вам придется делать это каждый раз, когда вы обновляете ваш Resource Pack, иначе ваши пользователи не получат обновление.*
    3. (Необязательно) Чтобы заставить игроков использовать resource pack, используйте опцию require-resource-pack=true в server.properties.*

Если вы изменили server.properties, вам нужно будет перезапустить сервер!

* Примечание: В Интернете есть много руководств, которые могут помочь вам настроить это, если эти инструкции вам не помогают.

Объединение resource pack

Если вам нужно объединить ваши resource pack, вы можете сделать это вручную. Но мы рекомендуем использовать онлайн-инструмент, такой как merge.elmakers, для объединения ваших resource pack.

Шаг 4. Надеемся, что это работает

Предполагая, что все было сделано правильно, теперь вы должны видеть пользовательскую модель на вашем боссе или NPC. Вы можете создать их с помощью команд:

  • Пользовательский босс: /em spawncustom filename.yml
  • NPC: /em spawnnpc filename.yml

Затем вы можете удалить их с помощью команды /em remove.

Создание и адаптация пользовательских моделей для EliteMobs

EliteMobs может использовать любую модель, которая считается действительной для Model Engine, что означает, что с ней можно сделать практически все.

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

Эти имена анимаций устанавливаются в Blockbench на вкладке анимаций. Вы можете переименовать их в любое время, что означает, что вы можете адаптировать любые существующие модели для работы с EliteMobs.

Анимации

Обратите внимание, что этот раздел все еще расширяется, так как эта система все еще очень новая. По мере поступления запросов на функции будет добавляться больше.

idle

idle - это правильное имя анимации для существ, которые не находятся в бою и не двигаются. EliteMobs не изменяет стандартную систему анимации idle, используемую Model Engine.

walk

walk - это правильное имя анимации для существ, которые двигаются. EliteMobs не изменяет стандартную систему анимации idle, используемую Model Engine.

attack

Существует три типа анимаций атак:

attack

attack - это правильное общее имя анимации для случаев, когда босс атакует.

attack_melee

attack_melee - это правильное имя анимации для атак, выполняемых, когда пользовательский босс атакует существо, используя стандартную атаку ближнего боя Minecraft. Переопределяет attack . Обратите внимание, что анимация воспроизводится после нанесения урона. Это, к сожалению, ограничение на данный момент. Поэтому старайтесь делать анимацию очень быстрой.

attack_ranged

attack_ranged - это правильное имя анимации для атак, выполняемых, когда пользовательский босс создает снаряд. Переопределяет attack. Обратите внимание, что анимация воспроизводится после выстрела снаряда. Это, к сожалению, ограничение на данный момент. Поэтому старайтесь делать анимацию очень быстрой.

damaged

damaged - это правильное имя анимации для анимации получения урона, которую воспроизводит пользовательский босс при получении урона.

death

death - это правильное имя анимации для анимации смерти. EliteMobs не изменяет стандартную систему анимации idle, используемую Model Engine.

powers

Примечание: этот сегмент все еще находится в разработке. Ниже представлены функции в том виде, в каком они запланированы.

Каждой способности в EliteMobs может быть назначена анимация. Анимация всегда начинается, когда способность активируется, и в настоящее время не предусмотрено дополнительных триггеров в процессе использования способности. Некоторые способности, такие как неуязвимости, ничего не будут делать, так как у них нет триггеров, и они являются просто пассивными свойствами боссов.

Чтобы назначить анимацию способности, анимация должна иметь то же имя, что и файл способности elitemobs.

Например, чтобы добавить анимацию к способности zombie necronomicon, анимация должна называться zombie_necronomicon.yml . Она начнет воспроизводиться, как только способность будет активирована, и закончится, когда анимация закончится, если она не настроена на зацикливание, или когда способность завершится.

Импорт пользовательских моделей из подземелий

Шаг 1. Обычный импорт

При импорте zip-папки упаковщика подземелий, содержащей пользовательские модели, пользовательские модели автоматически перемещаются в (yourServer)/plugins/ModelEngine/blueprints, и Model Engine автоматически перезагружается для генерации соответствующего resource pack и файлов Model Engine.

Шаг 2. Генерация Resource Pack

Если вы находитесь в сети, когда перезагружаете EliteMobs для импорта файлов, EliteMobs автоматически опубликует сообщение в чате, на которое вы можете нажать, чтобы сгенерировать resource pack EliteMobs. Альтернативно, вы можете выполнить команду /em generateresourcepack, чтобы сгенерировать его.

Выполнение этой команды копирует все файлы resource pack в папку exports EliteMobs неразрушающим способом. Это означает, что если вы распакуете resource pack в папку exports, используя имя resource pack elitemobs_resource_pack для вашей папки resource pack, EliteMobs не удалит ни один из файлов там, если только файл с таким же именем не будет получен от ModelEngine (за исключением pack.meta и pack.png). Таким образом, вы можете обновлять ваш resource pack, не теряя модели, которые вы ранее поместили в него.

Наконец, EliteMobs архивирует resource pack в папке exports, и этот файл готов для распространения.

После этого EliteMobs также предлагает обновить код SHA1 для вашего resource pack.

Шаг 2.5. Обновление SHA1

Код SHA1 в файле server.properties используется для того, чтобы сообщить клиентам, устарел ли их resource pack, и заставить их обновить его при необходимости. Этот код может быть сгенерирован через EliteMobs, нажав на опцию в чате, которая появляется после шага 2, или выполнив команду /em updateresourcepack

Имейте в виду, что это обновляет ваш файл server.properties с правильным кодом SHA1 для zip-файла resource pack в папке exports. Если вы удалите его или измените zip-файл после выполнения команды, это не будет работать.

Шаг 3. Сделайте файл общедоступным

Разместите файл в выбранном вами месте. Некоторые люди используют для этого Google Drive или Dropbox. Лучше всего размещать этот файл самостоятельно, если у вас есть такая возможность. Некоторые плагины могут также помочь вам разместить его непосредственно с вашего Minecraft-сервера. Если вы найдете подобный плагин, который работает, сообщите MagmaGuy в Discord, и эта статья будет обновлена с этой информацией.