メインコンテンツまでスキップ

NPC の作成

webapp_banner.jpg

設定項目

isEnabled

NPC が有効かどうかを設定します。

キーデフォルト
isEnabledBooleantrue
isEnabled: true

name

NPC の表示名を設定します。Color Codes と、多言語サーバー向けの翻訳キーをサポートします。

キーデフォルト
nameStringなし
name: "&aEnn Peecee"

create_npc_name.jpg


scale

NPC のスケール(サイズ)を設定します。

キーデフォルト
scaleMultiplier1.0

スケーリングする際、1.0 がデフォルトのサイズを表します。エンティティを大きくするには値を増やします(例: 1.2)。エンティティを小さくするには値を減らします(例: 0.8)。

scale: 1.2

role

NPC の役割(role)を名前の下に設定します。見た目のみです。Color Codes と、多言語サーバー向けの翻訳キーをサポートします。

キーデフォルト
roleStringなし
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

NPC の職業(profession)を設定します。これは、変装を使用していないときのスキンを設定します。

キーデフォルト
professionProfessionNITWIT
profession: NITWIT

create_npc_profession.jpg


greetings

プレイヤーが近づいたときに NPC が言う挨拶(greeting)のリストを設定します。多言語サーバー向けの翻訳キーをサポートします。

キーデフォルト
greetingsString Listなし
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

プレイヤーが近くにいる間に NPC が言うダイアログを設定します(DIALOG の interactionType の場合、これがそのダイアログになります)。多言語サーバー向けの翻訳キーをサポートします。

キーデフォルト
dialogString Listなし
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

NPC の別れ(farewell)のメッセージを設定します。多言語サーバー向けの翻訳キーをサポートします。

キーデフォルト
farewellString Listなし
farewell: 
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

NPC が話せるかどうかを設定します。

キーデフォルト
canTalkBooleantrue
canTalk: true

activationRadius

NPC がプレイヤーの接近を検知できる範囲(半径)を設定します。

キーデフォルト
activationRadiusDouble3.0
activationRadius: 3.0

scripts

この NPC に紐付ける Lua スクリプトを設定します。スクリプトファイルは plugins/EliteMobs/npc_scripts/ から読み込まれ、ファイル名は .lua 拡張子を含め完全に一致する必要があります。

キーデフォルト
scriptsString Listなし

NPC スクリプトは、ライフサイクル、インタラクション、および on_npc_proximity_enter のような近接フックに反応できます。完全な API と例については Lua NPC スクリプト を参照してください。

scripts:
- wave.lua

interactionType

NPC が行うインタラクションのタイプを設定します。

キーデフォルト
interactionType特殊 [1]なし
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Teleporter NPC がプレイヤーをテレポートさせられる以前の場所を持っていない場合、このメッセージを表示します。Color Codes と、多言語サーバー向けの翻訳キーを受け付けます。

キーデフォルト
noPreviousLocationMessageStringなし
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 Listなし
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

NPC が持つ LibsDisguises の変装を設定します。

キーデフォルト
disguiseLibsDisguises 形式なし
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

カスタムの LibsDisguises 変装用のデータを設定します。

キーデフォルト
customDisguiseDataLibsDisguises 形式なし
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

NPC が使用する ModelEngine のカスタムモデルを設定します。

キーデフォルト
customModelStringなし
customModel: MY_MODEL_ONE

arena

NPC がメニューを開く対象のアリーナのファイル名を設定します(ARENA_MASTER の interactionType が必要です)。

キーデフォルト
arenaFilenameなし
arena: my_arena.yml

command

NPC が実行するコマンドを設定します(COMMAND の interactionType が必要です)。コマンドはコンソールとしてではなく、プレイヤーとして実行されます。先頭のスラッシュ(/)は含めないでください。

キーデフォルト
commandStringなし
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

NPC のスポーン地点を設定します。これは /em place npc <npcfilename.yml> コマンドを通じて設定すべきです。

キーデフォルト
spawnLocationStringなし
spawnLocation: my_world,10,50,10,0,0

spawnLocations

NPC のスポーン地点を設定します。これは /em place npc <npcfilename.yml> コマンドを通じて設定すべきです。

キーデフォルト
spawnLocationsString Listなし
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 の位置の更新を同期するかどうかを制御するために使用します。

キーデフォルト
syncMovementBooleantrue
syncMovement: true

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 (do not include the leading slash)
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 place npc <npcfilename.yml> command, so make sure you pose where you want the NPC to be facing when running the command.

create_npc_npc.jpg


特殊 [1]

次は、有効な NPC インタラクションタイプの一覧です。

タイプ説明
GUILD_GREETER武器スキルボーナスの選択メニューを開く
CHAT右クリックで dialog を順番に表示する
CUSTOM_SHOPカスタムショップメニューを開く
PROCEDURALLY_GENERATED_SHOP手続き生成ショップを開く
BAR未実装。プレイヤーに機能が近日公開予定であることを伝える。
ARENA何もしない。代わりに ARENA_MASTER を使用すること。
QUEST_GIVER手続き生成クエストメニューを開く
CUSTOM_QUEST_GIVERquestFileName で設定した特定のクエスト用のクエストメニューを開く
NONEインタラクションなし
SELL売却メニューを開く
TELEPORT_BACKプレイヤーを、直前にいた elitemobs 以外のワールドの場所へテレポートさせる
SCRAPPERスクラップメニューを開く
REPAIRMAN修理メニューを開く
ENCHANTERエンチャントメニューを開く
REFINER置き換え済み - プレイヤーに機能が置き換えられたことを伝える。管理者には NPC を削除するよう伝える
SMELTER置き換え済み - プレイヤーに機能が置き換えられたことを伝える。管理者には NPC を削除するよう伝える
ENHANCER置き換え済み - プレイヤーに機能が置き換えられたことを伝える。管理者には NPC を削除するよう伝える
UNBINDERバインド解除メニューを開く
ARENA_MASTERarena で設定したアリーナのアリーナメニューを開く
COMMANDcommand で設定したコマンドを実行する
SCROLL_APPLIERエリートアイテムスクロールをアイテムに適用する
ARROW_SHOP矢ショップメニューを開く
GAMBLING_BLACKJACKブラックジャックのギャンブルゲームを開く
GAMBLING_COINFLIPコインフリップのギャンブルゲームを開く
GAMBLING_SLOTSスロットのギャンブルゲームを開く
GAMBLING_HIGHERLOWERハイ&ローのギャンブルゲームを開く

SCRAPPER や同様のインタラクションタイプが何をするのかについての詳細は こちら をクリックしてください。

NPC の動作に関する注記

NPC には、設定できないハードコードされた動作がいくつかあります。

  • AI 無効: NPC は自律的に移動できません。スポーン地点に留まります。
  • 役割(role)の表示: 役割のテキストは、NPC の上の固定された高さにある不可視の防具立てに表示されます。
  • 会話のクールダウン: NPC は、メッセージが重ならないように、発話イベント間で 3 秒待機します。
  • チャンクのライフサイクル: NPC はそのチャンクがアンロードされるとデスポーンし、再ロードされるとリスポーンします。