建立NPC
設定選項
isEnabled
設定NPC是否啟用。
| 鍵 | 值 | 預設值 |
|---|---|---|
isEnabled | Boolean | true |
範例
isEnabled: true
name
設定NPC的顯示名稱。支援顏色代碼和多語言伺服器的翻譯鍵。
| 鍵 | 值 | 預設值 |
|---|---|---|
name | String | none |
範例
name: "&aEnn Peecee"

scale
設定NPC的縮放(大小)。
| 鍵 | 值 | 預設值 |
|---|---|---|
scale | Multiplier | 1.0 |
縮放時,1.0代表預設大小。要使實體更大,請增加值(例如1.2)。要使其更小,請減少值(例如0.8)。
範例
scale: 1.2
role
設定NPC的角色,顯示在名稱下方。僅為視覺效果。支援顏色代碼和多語言伺服器的翻譯鍵。
| 鍵 | 值 | 預設值 |
|---|---|---|
role | String | none |
範例
role: "&c<Red Fellow>"

profession
設定NPC的職業,決定未使用偽裝時的外觀。
| 鍵 | 值 | 預設值 |
|---|---|---|
profession | Profession | NITWIT |
範例
profession: NITWIT

greetings
設定玩家接近時NPC說的問候語列表。支援多語言伺服器的翻譯鍵。
| 鍵 | 值 | 預設值 |
|---|---|---|
greetings | String List | none |
範例
greetings:
- Hi there!
- Good day.

dialog
設定玩家在附近時NPC說的對話(對於DIALOG interactionType,這就是對話內容)。支援多語言伺服器的翻譯鍵。
| 鍵 | 值 | 預設值 |
|---|---|---|
dialog | String List | none |
範例
dialog:
- I like apples!
- Sure is hot.

farewell
設定NPC的告別訊息。支援多語言伺服器的翻譯鍵。
| 鍵 | 值 | 預設值 |
|---|---|---|
farewell | String List | none |
範例
farewell:
- Until next time!
- Bye!

canTalk
設定NPC是否可以說話。
| 鍵 | 值 | 預設值 |
|---|---|---|
canTalk | Boolean | true |
範例
canTalk: true
activationRadius
設定NPC可以偵測到玩家接近的半徑。
| 鍵 | 值 | 預設值 |
|---|---|---|
activationRadius | Double | 3.0 |
範例
activationRadius: 3.0
interactionType
設定NPC執行的互動類型。
| 鍵 | 值 | 預設值 |
|---|---|---|
interactionType | Special [1] | none |
範例
interactionType: TELEPORT_BACK
noPreviousLocationMessage
當傳送NPC沒有可以將玩家傳送回去的先前位置時,會顯示此訊息。接受顏色代碼和多語言伺服器的翻譯鍵。
| 鍵 | 值 | 預設值 |
|---|---|---|
noPreviousLocationMessage | String | none |
範例
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

timeout
設定NPC永久消失前的時間(以分鐘為單位)。
| 鍵 | 值 | 預設值 |
|---|---|---|
timeout | Double | 0(永不) |
範例
timeout: 0
questFileName
設定NPC提供的任務。
| 鍵 | 值 | 預設值 |
|---|---|---|
questFileName | String List | none |
範例
questFileName:
- my_quest_one.yml
- my_quest_two.yml
disguise
設定NPC的LibsDisguises偽裝。
| 鍵 | 值 | 預設值 |
|---|---|---|
disguise | LibsDisguises format | none |
範例
disguise: SKELETON

customDisguiseData
設定自訂LibsDisguises偽裝的資料。
| 鍵 | 值 | 預設值 |
|---|---|---|
customDisguiseData | LibsDisguises format | none |
範例
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}

customModel
設定NPC將使用的ModelEngine自訂模型。
| 鍵 | 值 | 預設值 |
|---|---|---|
customModel | String | none |
範例
customModel: MY_MODEL_ONE
arena
設定NPC將開啟選單的競技場檔案名稱(需要ARENA_MASTER interactionType)。
| 鍵 | 值 | 預設值 |
|---|---|---|
arena | Filename | none |
範例
arena: my_arena.yml
command
設定NPC將執行的指令(需要COMMAND interactionType)。指令以玩家身份執行,而非控制台。不要包含前導斜線(/)。
| 鍵 | 值 | 預設值 |
|---|---|---|
command | String | none |
範例
command: say Look at me running a command, how cool!
![]()
spawnLocation
設定NPC的生成位置。應透過/em spawnnpc <npcfilename.yml>指令設定。
| 鍵 | 值 | 預設值 |
|---|---|---|
spawnLocation | String | none |
範例
spawnLocation: my_world,10,50,10,0,0
spawnLocations
設定NPC的生成位置。應透過/em spawnnpc <npcfilename.yml>指令設定。
| 鍵 | 值 | 預設值 |
|---|---|---|
spawnLocations | String List | none |
範例
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0
instanced
設定NPC是否應該被實例化(用於實例化地城)。設定為true時,NPC會自動為每個地城實例複製,每個複製品存在於相應的實例世界中。
| 鍵 | 值 | 預設值 |
|---|---|---|
instanced | Boolean | false |
範例
instanced: false
syncMovement
設定NPC的移動是否應該同步。用於控制NPC的位置更新是否同步。
| 鍵 | 值 | 預設值 |
|---|---|---|
syncMovement | Boolean | false |
範例
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.

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有幾種無法設定的硬編碼行為:
- AI停用:NPC無法自主移動。它們停留在生成位置。
- 角色顯示:角色文字顯示在NPC上方固定高度的隱形盔甲架上。
- 對話冷卻:NPC在語音事件之間等待3秒以防止訊息重疊。
- 區塊生命週期:NPC在區塊卸載時消失,在區塊重新載入時重新生成。
