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

Создание NPC

webapp_banner.jpg

Настройки конфигурации

isEnabled

Определяет, включен ли NPC.

КлючЗначенияПо умолчанию
isEnabledBooleantrue
Пример
isEnabled: true

name

Устанавливает отображаемое имя NPC. Поддерживает цветовые коды и ключи перевода для многоязычных серверов.

КлючЗначенияПо умолчанию
nameStringnone
Пример
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Устанавливает масштаб (размер) NPC.

КлючЗначенияПо умолчанию
scaleMultiplier1.0

При масштабировании 1.0 означает размер по умолчанию. Чтобы увеличить сущность, увеличьте значение (например, 1.2). Чтобы уменьшить, уменьшите значение (например, 0.8).

Пример
scale: 1.2

role

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

КлючЗначенияПо умолчанию
roleStringnone
Пример
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Устанавливает профессию NPC, которая определяет его внешний вид при отсутствии маскировки.

КлючЗначенияПо умолчанию
professionProfessionNITWIT
Пример
profession: NITWIT

create_npc_profession.jpg


greetings

Устанавливает список приветствий, которые NPC произносит при приближении игрока. Поддерживает ключи перевода для многоязычных серверов.

КлючЗначенияПо умолчанию
greetingsString Listnone
Пример
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Устанавливает диалог, который NPC произносит, пока игрок находится рядом (при DIALOG interactionType это будет диалог). Поддерживает ключи перевода для многоязычных серверов.

КлючЗначенияПо умолчанию
dialogString Listnone
Пример
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

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

КлючЗначенияПо умолчанию
farewellString Listnone
Пример
farewell:
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Определяет, может ли NPC разговаривать.

КлючЗначенияПо умолчанию
canTalkBooleantrue
Пример
canTalk: true

activationRadius

Устанавливает радиус, в котором NPC может обнаружить приближающегося игрока.

КлючЗначенияПо умолчанию
activationRadiusDouble3.0
Пример
activationRadius: 3.0

interactionType

Устанавливает тип взаимодействия NPC.

КлючЗначенияПо умолчанию
interactionTypeSpecial [1]none
Пример
interactionType: TELEPORT_BACK

noPreviousLocationMessage

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

КлючЗначенияПо умолчанию
noPreviousLocationMessageStringnone
Пример
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

create_npc_noteleportlocation.jpg


timeout

Устанавливает время в минутах до окончательного исчезновения NPC.

КлючЗначенияПо умолчанию
timeoutDouble0 (никогда)
Пример
timeout: 0

questFileName

Устанавливает квесты, которые выдает NPC.

КлючЗначенияПо умолчанию
questFileNameString Listnone
Пример
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Устанавливает маскировку LibsDisguises для NPC.

КлючЗначенияПо умолчанию
disguiseLibsDisguises formatnone
Пример
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Устанавливает данные для пользовательской маскировки LibsDisguises.

КлючЗначенияПо умолчанию
customDisguiseDataLibsDisguises formatnone
Пример
disguise: custom:my_cool_disguise_name
customDisguiseData: player my_cool_disguise_name setskin {"id":"364acb6d-9050-46f7-b5fb-f8c3fd83a6fc","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTYxMTk4ODA4Nzc1NSwKICAicHJvZmlsZUlkIiA6ICJkZGVkNTZlMWVmOGI0MGZlOGFkMTYyOTIwZjdhZWNkYSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEaXNjb3JkQXBwIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzliYmVkODQzNWY4YmYyNzhhZmUyNmU2NGZkOTI2YjhiMzc3MzJkODhlMzM0ODk3ZGJkNTI3ZDU2ZmY5MTk5MGUiCiAgICB9CiAgfQp9","signature":"ujLq1joYVktuQAp1xpFKlxQFUVinSePiDBiVCAxxix/mA5vP86i/eAOfb1mtGjaAZ6sO0l2olbzvycnGXNBtbAxgqprguROXY4tpWiePVTDmy3iD4GdOCxHAkYLoyMV5qTT4SNsldUFFuND8GSEgbNMltKDLmhNKwzm08iCigPfpeuYpwljgJPxu6ka54PKNaQu4doI0ZDZXKqq4hPhR3Bs2Sz9MI0SmdmQWwcCzUz3DFdVno27fmQ6LwqmT+eSoOv0EttVG/XMaTYQ5lhBY61mqf6WlJyYVUSfjJk1AbYsctu7dWM+sbY8jFq5ljvXJGGr5TyKi+fs8vHy06Z2go20QgTYOw+caFxFijAS6fgm3oY57VEO/+/9OLHdD+Z9BrWqQWcIIrVeIfxjue/yt4pyeVv9jX59hjNFjhcPEwotkxJ+vZ96WlTLWDG4BiqauDr2VeGyLlVaygO9ZU0wwsN65iSh91GI3tMIA5wbDR0Hts/9ABvt9eafHbowS+4SZXN0i9mYnKg7op1eiB8nMEAGsPJg3DwsmUrh3ACAapQ6eYHiJpo59RXDqKlRcXwo7wsEFp//5LgQWbPj0NP3nxnywdpozqSAeq6236qlhE9BT9eiyJ41V9sMelYFEWMlUAltR40NdbIrHB0J3nmfuLJz44/sTwWf6P1khOy//XX0="}],"legacy":false}

create_npc_custom_disguise.jpg


customModel

Устанавливает пользовательскую модель ModelEngine, которую будет использовать NPC.

КлючЗначенияПо умолчанию
customModelStringnone
Пример
customModel: MY_MODEL_ONE

arena

Устанавливает имя файла арены, для которой NPC откроет меню (требуется interactionType ARENA_MASTER).

КлючЗначенияПо умолчанию
arenaFilenamenone
Пример
arena: my_arena.yml

command

Устанавливает команду, которую выполнит NPC (требуется interactionType COMMAND). Команды выполняются от имени игрока, а не консоли. Не включайте начальный слеш (/).

КлючЗначенияПо умолчанию
commandStringnone
Пример
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Устанавливает место появления NPC. Рекомендуется устанавливать через команду /em spawnnpc <npcfilename.yml>.

КлючЗначенияПо умолчанию
spawnLocationStringnone
Пример
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Устанавливает места появления NPC. Рекомендуется устанавливать через команду /em spawnnpc <npcfilename.yml>.

КлючЗначенияПо умолчанию
spawnLocationsString Listnone
Пример
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

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

КлючЗначенияПо умолчанию
instancedBooleanfalse
Пример
instanced: false

syncMovement

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

КлючЗначенияПо умолчанию
syncMovementBooleanfalse
Пример
syncMovement: false

Пример конфигурации NPC
isEnabled: true
name: "&cRed Rubin"
role: "&a<Generic NPC>"
profession: NITWIT
greetings:
- Hiya!
- Hello!
dialog:
- Great conversation!
- Pleasure talking with you!
farewell:
- Goodbye!
- Laters!
canTalk: true
activationRadius: 4
interactionType: CHAT
timeout: 0
questFileName:
- my_quest.yml #npc interactionType must be set to CUSTOM_QUEST_GIVER
disguise: SKELETON
customDisguiseData: #used when a custom libsdisguise is being set
customModel: MODEL_ONE
arena: my_arena.yml #npc interactionType must be set to ARENA_MASTER
command: /say Hello World! #npc interactionType must be set to COMMAND
spawnLocation: my_world,584,55,127,90,10 #remember that NPCs use pitch and yaw to set where they are looking at. this is also automatically set when running the /em spawnnpc <npcfilename.yml> command, so make sure you pose where you want the NPC to be facing when running the command.

create_npc_npc.jpg


Special [1]

Ниже приведен список допустимых типов взаимодействия NPC:

ТипОписание
GUILD_GREETERОткрывает меню выбора бонуса навыка оружия
CHATПравый клик переключает dialog
CUSTOM_SHOPОткрывает меню пользовательского магазина
PROCEDURALLY_GENERATED_SHOPОткрывает процедурно сгенерированный магазин
BARОткрывает меню бара
ARENAНичего не делает. Используйте ARENA_MASTER вместо этого.
QUEST_GIVERОткрывает меню процедурно сгенерированных квестов
CUSTOM_QUEST_GIVERОткрывает меню квестов для определенного набора в questFileName
NONEНет взаимодействий
SELLОткрывает меню продажи
TELEPORT_BACKТелепортирует игроков в последнее местоположение в мире, не относящемся к EliteMobs
SCRAPPERОткрывает меню утилизации
REPAIRMANОткрывает меню ремонта
ENCHANTERОткрывает меню зачарования
REFINERУСТАРЕЛО - Функция удалена, не используйте
SMELTERУСТАРЕЛО - Функция удалена, не используйте
ENHANCERУСТАРЕЛО - Функция удалена, не используйте
UNBINDERОткрывает меню отвязки
ARENA_MASTERОткрывает меню арены для арены, указанной в arenaFilename
COMMANDВыполняет команду, указанную в command
SCROLL_APPLIERПрименяет свитки элитных предметов к предметам
ARROW_SHOPОткрывает меню магазина стрел
GAMBLING_BLACKJACKОткрывает азартную игру в блэкджек
GAMBLING_COINFLIPОткрывает азартную игру с подбрасыванием монеты
GAMBLING_SLOTSОткрывает азартную игру в слоты
GAMBLING_HIGHERLOWERОткрывает азартную игру больше/меньше

Для получения дополнительной информации о SCRAPPER и подобных типах взаимодействия нажмите здесь.

Заметки о поведении NPC

У NPC есть несколько жестко запрограммированных поведений, которые нельзя настроить:

  • ИИ отключен: NPC не могут двигаться самостоятельно. Они остаются в своем месте появления.
  • Отображение роли: Текст роли отображается на невидимой стойке для брони над NPC на фиксированной высоте.
  • Перезарядка диалога: NPC ждут 3 секунды между событиями речи, чтобы предотвратить наложение сообщений.
  • Жизненный цикл чанка: NPC исчезают при выгрузке чанка и появляются снова при его загрузке.