クエストの作成
クエスト例
EliteMobsにはtest_quest.ymlが事前にパッケージされており、ここでは従うべきシンプルなクエスト形式として分析されます。
カスタムクエストは~plugins/EliteMobs/customquestsフォルダにあります!
test_quest.yml
isEnabled: true
customObjectives:
Objective1:
amount: '1'
filename: test_boss.yml
objectiveType: KILL_CUSTOM
customRewards:
- filename=magmaguys_toothpick.yml:amount=1:chance=1
name: "&aKill the Test Boss"
questLore:
- "&cEnd the test boss'' reign of terror!"

クエストUIがこのように表示されない場合は、/em altを使用して一致させることができます。
この例のクエストは、プレイヤーに1体のtest_boss.ymlを倒すタスクを与えます。(クエストトラッカーに表示される実際のボス名は、test_boss.ymlで設定されたname:になります。) そして、クエストを完了した報酬として、1本のMagmaguy's Toothpickが与えられます。
カスタムクエストの作成
customObjectives
クエストの目標を設定します。
| Key | Values | Default |
|---|---|---|
customObjectives | Special [1] | none |
注意:マルチフェーズボスを目標として使用している場合、目標は最初のフェーズをターゲットとして使用する必要があります。
例
KILL_CUSTOM:
customObjectives:
Objective1:
amount: '1'
filename: my_cool_boss.yml
objectiveType: KILL_CUSTOM
DIALOG:
customObjectives:
Objective1:
dialog:
- "&a[Dialog NPC] &fCome here often?"
- "&7&oI should eat more apples."
filename: dialog_npc.yml
npcName: Dialog NPC
location: at dialog location.
objectiveType: DIALOG
FETCH_ITEM:
customObjectives:
Objective1:
amount: '99'
itemName: Red Apples
filename: my_quest_item_red_apples.yml
objectiveType: FETCH_ITEM

Special [1]
テーブルを展開
カスタム目標は以下の値を使用して構築されます:
| Key | Description |
|---|---|
KILL_CUSTOM / FETCH_ITEM / DIALOG | これが表す目標のタイプを設定するために使用されます。KILL_CUSTOMは特定のCustom Bossを倒すことを含むクエストを示し、FETCH_ITEMは特定のCustom Itemを取得することを含むクエストを示し、DIALOGはNPCと話すことを含むクエストを示します。 |
filename | プレイヤーが倒す/取得する必要があるCustom Boss、Custom Item、または話しかける必要があるNPCのファイル名を設定するために使用されます。 |
amount | 倒さなければならないCustom Bossの数または取得しなければならないアイテムの数を設定するために使用されます。 |
dialog | プレイヤーが話しかけるNPCのダイアログを設定するために使用されます。 |
name | NPCまたはカスタムアイテムである、クエスト目標の名前を設定するために使用されます。視覚的な目的のみです。 |
itemName | FETCH_ITEMでのみ使用 – この設定は、アイテムの名前がクエストトラッカーにどのように表示されるかを変更します。実際のゲーム内のアイテム名とは異なるカスタム名を表示することができます。 |
すべてのCustom Objectiveフィールドは:で区切られていることに注意してください!
customRewards
クエストの報酬を設定します。
| Key | Values | Default |
|---|---|---|
customRewards | Universal EliteMobs loot format | none |
例
customRewards:
- currencyAmount=50:amount=1:chance=0.05
- material=COOKED_COD:amount=3:chance=1.0
- filename=magmaguys_toothpick.yml:amount=1:chance=1.0

questAcceptPermission
クエストを受諾するためにプレイヤーが持っている必要がある権限を設定します。
| Key | Values | Default |
|---|---|---|
questAcceptPermission | String | none |
例
questAcceptPermission: elitequest.my_permission
questAcceptPermissions
クエストを受諾するためにプレイヤーが持っている必要がある権限を設定します。
| Key | Values | Default |
|---|---|---|
questAcceptPermissions | String List | none |
例
questAcceptPermissions:
- elitequest.my_previous_quest_one.yml
- elitequest.my_previous_quest_two.yml
questLockoutPermission
クエストを完了したときにプレイヤーが取得する権限を設定し、クエストを再度実行できないようにロックアウトします(通常は編集しているクエストのFilenameです)。
| Key | Values | Default |
|---|---|---|
questLockoutPermission | String | none |
例
questLockoutPermission: elitequest.my_quest.yml
questLockoutMinutes
クエストを再度実行できるようになるまでに、プレイヤーが待機する必要がある時間を分単位で設定します(クエストロックアウト権限を削除することで機能します)。
| Key | Values | Default |
|---|---|---|
questLockoutMinutes | Integer | -1(繰り返されません) |
例
questLockoutMinutes: 60
name
クエスト名を設定します。Color Codesを受け入れます。
| Key | Values | Default |
|---|---|---|
name | String | none |
例
name: "&aMy Great Quest Name"
questLore
ゲーム内のクエストメニューに表示されるクエストの説明を設定します。
| Key | Values | Default |
|---|---|---|
questLore | String List | none |
例
questLore:
- "Interesting lore sentence."
- "Yet another interesting lore sentence."

temporaryPermissions
クエストを提出するまでプレイヤーに割り当てられる権限を設定します。
この設定を使用して、プレイヤーが特定のクエストをアクティブにしているときにのみアイテムがドロップされるようにする場合は、アイテムの設定ファイルでSame Permissionも設定する必要があります。
| Key | Values | Default |
|---|---|---|
temporaryPermissions | String List | none |
例
temporaryPermissions:
- elitequest.item_that_should_drop_only_during_quest.yml
questAcceptDialog
クエスト受諾時にチャットに表示されるダイアログを設定します。
| Key | Values | Default |
|---|---|---|
questAcceptDialog | String List | none |
例
questAcceptDialog:
- "My hero! You are so helpful!"
- "I wish you the best of luck!"

questCompleteMessage
クエスト完了時にチャットに表示されるダイアログを設定します。
| Key | Values | Default |
|---|---|---|
questCompleteMessage | String List | none |
例
questCompleteMessage:
- "My hero! You have completed my difficult quest!"
- "As a reward you can have this loaf of bread!"

questCompleteCommands
クエスト完了時に実行されるコマンドを設定します。
| Key | Values | Default |
|---|---|---|
questCompleteCommands | String List | none |
例
questCompleteCommands:
- say $player has finished a quest!
![]()
turnInNPC
クエストを完了するためにプレイヤーが話しかける/対話する必要があるNPCのファイル名を設定します。これはクエストを配布したNPCと同じである必要はありません。
| Key | Values | Default |
|---|---|---|
turnInNPC | Filename | none |
例
turnInNPC: my_cool_quest_npc.yml
trackable
クエストがクエストトラッカーを使用するかどうかを設定します。
| Key | Values | Default |
|---|---|---|
trackable | Boolean | true |
例
trackable: true
questLevel
クエストのレベルを設定します。これはプレイヤーにクエストがどれほど困難かを伝えるための視覚的なガイドにすぎません。これはボス、アイテム、またはその他のレベルを一切変更しません。
| Key | Values | Default |
|---|---|---|
questLevel | Integer | 0 |
例
questLevel: 10

questAcceptSound
クエストが受諾されたときに再生されるサウンドを設定します。Minecraftのサウンドとリソースパックのサウンドの両方を再生できます。
| Key | Values | Default |
|---|---|---|
questAcceptSound | String | none |
例
questAcceptSound: entity.experience_orb.pickup

questCompleteSound
クエストが完了(提出)されたときに再生されるサウンドを設定します。Minecraftのサウンドとリソースパックのサウンドの両方を再生できます。
| Key | Values | Default |
|---|---|---|
questCompleteSound | String | none |
例
questCompleteSound: entity.player.levelup

Permissions
上記の表で述べたように、権限は通常StringsまたはString Listsです。しかし、クエストをロックおよびアンロックするためにこれらをどのように使用するかについて、さらに詳しく説明しましょう。
計画している一連のクエストでquest_3を作成していて、プレイヤーがquest_2を完了する前にquest_3を受けられないようにしたいとします。クエストファイルを次のように設定します:
questAcceptPermission: elitequest.quest_2.yml
questLockoutPermission: elitequest.quest_3.yml
questAcceptPermissionsをelitequest.quest_2.ymlに設定することで、プレイヤーがquest_2.ymlを完了する前にquest_3.ymlを受けることを防ぎました。
questLockoutPermissionをelitequest.quest_3.ymlに設定することで、プレイヤーがすでにトラッカーにそのクエストを持っている限り、またはすでにそのクエストを完了している場合、そのクエストを受け取ることができないようにしました。これにより、プレイヤーがクエストを繰り返すことができなくなります。
プレイヤーが一連のクエストを完了した後にのみ利用可能になるクエストを作成したい場合は、クエストファイルを次のように設定します:
questAcceptPermissions:
- elitequest.quest_2.yml
- elitequest.quest_3.yml
- elitequest.quest_4.yml
プレイヤーが正しいクエストをアクティブにしているときにのみ特定のアイテムをルートできるようにしたい場合は、temporaryPermissionsを使用してそれを行うことができます。temporaryPermissionsを使用してクエストファイルで権限を作成し、次にアイテムファイルでpermissionを使用して一致するpermissionを作成します。
例えば、クエストファイルを開いて以下を追加します:
temporaryPermissions:
- elitequest.my_cool_item.yml
次に、アイテムファイル、この場合はmy_cool_item.ymlを開いて、以下を追加します:
permission: elitequest.my_cool_item.yml
両方のファイルが一致する権限を持っているため、プレイヤーが正しいクエストをアクティブにしているときにのみアイテムがドロップするようになりました。
