From afecac14e341dec1e30f4a2639c8cc1337dbe86a Mon Sep 17 00:00:00 2001 From: Krakenied Date: Sun, 8 Jun 2025 18:58:19 +0200 Subject: Implement FancyNpcs support --- docs/task-types/fancynpcs_deliver-(task-type).md | 79 +++++++++++++++++++++++ docs/task-types/fancynpcs_interact-(task-type).md | 35 ++++++++++ 2 files changed, 114 insertions(+) create mode 100644 docs/task-types/fancynpcs_deliver-(task-type).md create mode 100644 docs/task-types/fancynpcs_interact-(task-type).md (limited to 'docs/task-types') diff --git a/docs/task-types/fancynpcs_deliver-(task-type).md b/docs/task-types/fancynpcs_deliver-(task-type).md new file mode 100644 index 00000000..7b391c08 --- /dev/null +++ b/docs/task-types/fancynpcs_deliver-(task-type).md @@ -0,0 +1,79 @@ +--- +title: fancynpcs_deliver +parent: External task types +grand_parent: Task types +--- + +# fancynpcs_deliver (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'FancyNpcs' required +{: .label } + +Deliver a set of items to a FancyNpcs NPC. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|------------------------------|------------------------------------------------------------------|------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `amount` | The number of items to deliver. | Integer | Yes | \- | \- | +| `item` | The specific item to deliver. | Material, or ItemStack | Yes | \- | Accepts standard [item definition](../configuration/defining-items). Please see [this list](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (1.13+) or [this list](https://helpch.at/docs/1.12.2/org/bukkit/Material.html) (1.8-1.12) for material names. | +| `data` | The data code for the item. | Integer | No | 0 | This field is not used in Minecraft versions 1.13+, nor is it compatible with ItemStack definitions. | +| `exact-match` | Whether the item should exactly match what is defined. | Boolean | No | true | \- | +| `remove-items-when-complete` | Whether the items should be taken from the player when complete. | Boolean | No | false | If `allow-partial-completion` is true, then this will also be set to true. | +| `allow-partial-completion` | Whether any number of items counts towards the task progress. | Boolean | No | true | Setting to true will force `remove-items-when-complete` to true as well. If a player obtains any matching item, it will be immediately taken away from them and added towards the quest progress. | +| `npc-name` | The name of the NPC to deliver to. | String | No | \- | Mutually exclusive with `npc-id`. | +| `npc-id` | The id of the NPC to deliver to. | String | No | \- | Mutually exclusive with `npc-name`. | +| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- | + +## Examples + +Deliver 8 of `BEEF` to an NPC with ID "gerald": + +``` yaml +fancynpcsdeliver: + type: "fancynpcs_deliver" + npc-id: "gerald" # ID of NPC + item: BEEF # name of item (can be id or minecraft name) + amount: 8 # amount of item needed + remove-items-when-complete: false # (OPTIONAL) take the items away from the player on completion - default: false + allow-partial-completion: false # (OPTIONAL) allow partial deliveries - default: false + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` + +Deliver 8 of a specific item to an NPC with ID "gerald": + +``` yaml +beef: + type: "fancynpcsplus_deliver" + npc-id: "gerald" # ID of NPC + item: # SPECIFIC item with name and lore + name: "&cSpecial Beef" + type: "BEEF" + lore: + - "&7This is a special type of beef" + amount: 8 # amount of item needed + remove-items-when-complete: false # (OPTIONAL) take the items away from the player on completion - default: false + accept-partial-completion: false # (OPTIONAL) allow partial deliveries - default: false + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` + +Deliver 8 of [quest item](../configuration/defining-items#quest-items) +`special_beef` to an NPC with ID "gerald": + +``` yaml +beef: + type: "fancynpcs_deliver" + npc-id: "npc1" # ID of NPC + item: # USING quest-item + quest-item: "special_beef" + amount: 8 # amount of item needed + remove-items-when-complete: false # (OPTIONAL) take the items away from the player on completion - default: false + accept-partial-completion: false # (OPTIONAL) allow partial deliveries - default: false + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` diff --git a/docs/task-types/fancynpcs_interact-(task-type).md b/docs/task-types/fancynpcs_interact-(task-type).md new file mode 100644 index 00000000..f0abcde7 --- /dev/null +++ b/docs/task-types/fancynpcs_interact-(task-type).md @@ -0,0 +1,35 @@ +--- +title: fancynpcs_interact +parent: External task types +grand_parent: Task types +--- + +# fancynpcs_interact (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'FancyNpcs' required +{: .label } + +Interact with a FancyNpcs NPC. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|------------|-------------------------------------------------|---------------------|----------|---------|-------------------------------------| +| `npc-name` | The name of the NPC to interact with. | String | No | \- | Mutually exclusive with `npc-id`. | +| `npc-id` | The id of the NPC to interact with. | String | No | \- | Mutually exclusive with `npc-name`. | +| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- | + +## Examples + +Interact with an NPC with ID "gerald": + +``` yaml +fancynpcsinteract: + type: "fancynpcs_interact + npc-id: "gerald" # ID of NPC + worlds: # (OPTIONAL) restrict to certain worlds + - "world" +``` -- cgit v1.2.3-70-g09d2