Crypt: Mimic
Активный0.0
Установок
Последнее обновление
Версии
Crypt: Mimic - Система NPC для Minecraft
Добавляет в игру продвинутую систему неигровых персонажей, которые выглядят как настоящие игроки, но полностью управляются данными конфигурации.
Создание NPC
Для размещения NPC в мире используйте команду:
/crypt-mimic <идентификатор> <x> <y> <z> <nbt>
Персонаж изначально ведет себя как стойка для брони. Чтобы активировать диалоговую систему, необходимо заблокировать его:
/data modify entity <селектор> Locked set value True
В разблокированном состоянии взаимодействие с NPC позволяет изменять предметы, а после блокировки становятся доступны диалоговые действия. Также можно настраивать вращение частей модели аналогично стойкам для брони.
Параметры NBT
NpcId - Уникальный идентификатор типа NPC
ArmourItems - Список предметов для экипировки
HandItems - Список предметов в руках
Small - Логическое значение для маленькой модели
Locked - Логическое значение для блокировки модели
Pose - Настройки позы и вращения
Pose.Head - Вращение головы (список чисел)
Pose.Body - Вращение тела (список чисел)
Pose.LeftArm - Вращение левой руки (список чисел)
Pose.RightArm - Вращение правой руки (список чисел)
Pose.LeftLeg - Вращение левой ноги (список чисел)
Pose.RightLeg - Вращение правой ноги (список чисел)
Настройка NPC
Файлы конфигурации NPC располагаются по пути:
data/<пространство_имен>/crypt-mimic/npc/<id>.json
{
"name": [
{
"type": "translatable",
"translate": "npc.<пространство_имен>.<id>.name"
}
],
"title": [
{
"type": "translatable",
"translate": "npc.<пространство_имен>.<id>.title"
}
],
"skin": {
"texture": "<пространство_имен>:textures/entity/npc/<id>.png",
"hasSlimArms": true
},
"action": {
"action": "crypt-mimic:show_dialog",
"value": "<пространствоимен>:dialog<id>"
}
}
Диалоговая система
Файлы диалогов находятся по адресу:
data/<пространство_имен>/crypt-mimic/dialog/<id>.json
{
"text": [
{
"type": "translatable",
"translate": "dialog.<пространство_имен>.<id>"
}
],
"actions": [
{
"action": "crypt_mimic:show_dialog",
"value": "<пространство_имен>:<другой_id>"
}
]
}
Пользовательские действия
Для создания собственных диалоговых действий используется ключ перевода action.<пространство_имен>.<id>
.
Пример на Java
import gay.pyrrha.mimic.dialog.DialogAction;
DialogAction.getEVENT().register((player, entity, action) -> {
// ваша логика здесь
});
Пример на Kotlin
import gay.pyrrha.mimic.dialog.DialogAction
DialogAction.EVENT.register { player, entity, action ->
// ваша логика здесь
}