aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/configuration/basic-options.md60
-rw-r--r--docs/task-types/blockbreak-(task-type).md4
-rw-r--r--docs/task-types/blockplace-(task-type).md1
-rw-r--r--docs/task-types/citizens_deliver-(task-type).md4
-rw-r--r--docs/task-types/citizens_interact-(task-type).md4
-rw-r--r--docs/task-types/pinataparty_hit-(task-type).md31
-rw-r--r--docs/task-types/placeholderapi_evaluate-(task-type).md14
-rw-r--r--docs/task-types/servernpc_deliver-(task-type).md79
-rw-r--r--docs/task-types/servernpc_interact-(task-type).md35
-rw-r--r--docs/task-types/znpcsplus_deliver-(task-type).md79
-rw-r--r--docs/task-types/znpcsplus_interact-(task-type).md35
11 files changed, 331 insertions, 15 deletions
diff --git a/docs/configuration/basic-options.md b/docs/configuration/basic-options.md
index 713674e6..f24585e9 100644
--- a/docs/configuration/basic-options.md
+++ b/docs/configuration/basic-options.md
@@ -470,9 +470,8 @@ options:
*`options.quests-use-placeholderapi`*
-Choose whether or not start strings, reward strings, reward commands and
-start commands are parsed with PlaceholderAPI. This is disabled by
-default for performance reasons.
+Replace placeholders from PlaceholderAPI in rewards, rewardstrings
+and start strings.
``` yaml
options:
@@ -480,6 +479,61 @@ options:
quests-use-placeholderapi: false
```
+## Progress use PlaceholderAPI
+
+
+*`options.progress-use-placeholderapi`*
+
+Replace placeholders from PlaceholderAPI in boss bar and action bar
+progress strings
+
+``` yaml
+options:
+ # ...
+ progress-use-placeholderapi: false
+```
+
+## Use progress as fallback
+
+
+*`options.use-progress-as-fallback`*
+
+If true, the `progress` string from the placeholders section in quests
+will be used as a fallback in the boss bar and action bar if the
+`progress-placeholders` option is not set.
+
+``` yaml
+options:
+ # ...
+ use-progress-as-fallback: true
+```
+
+## PlayerBlockTracker class name
+
+
+*`options.playerblocktracker-class-name`*
+
+The name of the PlayerBlockTracker class to use for the hook.
+
+``` yaml
+options:
+ # ...
+ playerblocktracker-class-name: "com.gestankbratwurst.playerblocktracker.PlayerBlockTracker"
+```
+
+## PlaceholderAPI global refresh ticks
+
+
+*`options.placeholderapi-global-refresh-ticks`*
+
+How frequently `placeholderapi_evaluate` task placeholders will refresh.
+
+``` yaml
+options:
+ # ...
+ placeholderapi-global-refresh-ticks: 30
+```
+
## Verify quest exists on load
diff --git a/docs/task-types/blockbreak-(task-type).md b/docs/task-types/blockbreak-(task-type).md
index d4dd1ab6..ae245236 100644
--- a/docs/task-types/blockbreak-(task-type).md
+++ b/docs/task-types/blockbreak-(task-type).md
@@ -25,10 +25,12 @@ merged into one. Both names can be used to refer to this task.
| `amount` | The number of blocks to break. | Integer | Yes | \- | \- |
| `block` | The specific blocks to break. | Material, or list of materials | No | \- | Not specifying this field will allow all blocks to count towards the task. 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 block names. |
| `data` | The data code for the block. | Integer | No | 0 | This field is not used in Minecraft versions 1.13+, nor is it compatible with lists of blocks. |
-| `reverse-if-placed` | Whether placing blocks should decrement from the quest progress. | Boolean | No | false | This allows negative quest progresses. |
+| `reverse-if-placed` | Whether placing blocks should decrement from the quest progress. | Boolean | No | false | This allows negative task progress unless `allow-negative-progress` is set to `false`. |
| `check-coreprotect` | Whether the plugin should query CoreProtect if a block has been recently placed. | Boolean | No | false | This requires the CoreProtect plugin. |
| `check-coreprotect-time` | How long ago (in seconds) the plugin should check with CoreProtect whether a block was placed. | Integer | No | \- | This requires the CoreProtect plugin. |
| `check-playerblocktracker` | Whether the plugin should query PlayerBlockTracker if a block has been recently placed. | Boolean | No | false | This requires the PlayerBlockTracker plugin. |
+| `allow-silk-touch` | Whether mining a block with a silk touch pickaxe should count. | Boolean | No | true | \- |
+| `allow-negative-progress` | Whether progress can be allowed to enter the negatives. | Boolean | No | true | Used with `reverse-if-placed`. |
| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
## Examples
diff --git a/docs/task-types/blockplace-(task-type).md b/docs/task-types/blockplace-(task-type).md
index 16957040..fd3550d4 100644
--- a/docs/task-types/blockplace-(task-type).md
+++ b/docs/task-types/blockplace-(task-type).md
@@ -23,7 +23,6 @@ merged into one. Both names can be used to refer to this task.
| `block` | The specific blocks to place. | Material, or list of materials | No | \- | Not specifying this field will allow all blocks to count towards the task. 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 block names. |
| `data` | The data code for the block. | Integer | No | 0 | This field is not used in Minecraft versions 1.13+, nor is it compatible with lists of blocks. |
| `reverse-if-broken` | Whether breaking blocks should decrement from the quest progress. | Boolean | No | false | This allows negative quest progresses. |
-| `allow-silk-touch` | Whether mining a block with a silk touch pickaxe should count. | Boolean | No | true | \- |
| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
## Examples
diff --git a/docs/task-types/citizens_deliver-(task-type).md b/docs/task-types/citizens_deliver-(task-type).md
index e82031a6..c4850325 100644
--- a/docs/task-types/citizens_deliver-(task-type).md
+++ b/docs/task-types/citizens_deliver-(task-type).md
@@ -23,8 +23,8 @@ Deliver a set of items to a Citizens NPC.
| `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. |
| `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. | Boolean | No | \- | Mutually exclusive with `npc-id`. |
-| `npc-id` | The id of the NPC to deliver to. | Boolean | No | \- | Mutually exclusive with `npc-name`. |
+| `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. | Integer | No | \- | Mutually exclusive with `npc-name`. |
| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
| `exact-match` | Whether the item should exactly match what is defined. | Boolean | No | true | \- |
diff --git a/docs/task-types/citizens_interact-(task-type).md b/docs/task-types/citizens_interact-(task-type).md
index 34453aac..73f6bc32 100644
--- a/docs/task-types/citizens_interact-(task-type).md
+++ b/docs/task-types/citizens_interact-(task-type).md
@@ -18,8 +18,8 @@ Interact with a Citizens NPC.
| Key | Description | Type | Required | Default | Notes |
|------------|-------------------------------------------------|---------------------|----------|---------|-------------------------------------|
-| `npc-name` | The name of the NPC to deliver to. | Boolean | No | \- | Mutually exclusive with `npc-id`. |
-| `npc-id` | The id of the NPC to deliver to. | Boolean | No | \- | Mutually exclusive with `npc-name`. |
+| `npc-name` | The name of the NPC to interact with. | Boolean | No | \- | Mutually exclusive with `npc-id`. |
+| `npc-id` | The id of the NPC to interact with. | Boolean | No | \- | Mutually exclusive with `npc-name`. |
| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
## Examples
diff --git a/docs/task-types/pinataparty_hit-(task-type).md b/docs/task-types/pinataparty_hit-(task-type).md
new file mode 100644
index 00000000..18c5f71f
--- /dev/null
+++ b/docs/task-types/pinataparty_hit-(task-type).md
@@ -0,0 +1,31 @@
+---
+title: pinataparty_hit
+parent: Built-in task types
+grand_parent: Task types
+---
+
+# pinaiaparty_hit (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Hit a PinataParty pinata a set number of times.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|----------|-------------------------------------------------|---------------------|----------|---------|-------|
+| `amount` | The number of times to hit a pinata. | Integer | Yes | \- | \- |
+| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
+
+## Examples
+
+Hit 10 pinatas:
+
+``` yaml
+pinataparty:
+ type: "pinataparty_hit"
+ amount: 10 # amount of pinatas hit
+ worlds: # (OPTIONAL) restrict to certain worlds
+ - "world"
+```
diff --git a/docs/task-types/placeholderapi_evaluate-(task-type).md b/docs/task-types/placeholderapi_evaluate-(task-type).md
index 35a27cce..85d98b80 100644
--- a/docs/task-types/placeholderapi_evaluate-(task-type).md
+++ b/docs/task-types/placeholderapi_evaluate-(task-type).md
@@ -16,12 +16,14 @@ Evaluate a certain PlaceholderAPI placeholder and compare it against a given con
## Options
-| Key | Description | Type | Required | Default | Notes |
-|---------------|-----------------------------------------------------------|---------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `placeholder` | The placeholder to evaluate. | String | Yes | \- | \- |
-| `evaluates` | The string the placeholder should evaluate to. | String | Yes | \- | \- |
-| `operator` | The comparative operator to use for numeric placeholders. | String | No | \- | One of: `GREATER_THAN`, `LESS_THAN`, `GREATER_THAN_OR_EQUAL_TO`, `LESS_THAN_OR_EQUAL_TO`. The value in `evaluates` **must** be numeric. If this is not specified, then exact equality will be assumed. |
-| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
+| Key | Description | Type | Required | Default | Notes |
+|-----------------|-------------------------------------------------------------|---------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `placeholder` | The placeholder to evaluate. | String | Yes | \- | \- |
+| `evaluates` | The string the placeholder should evaluate to. | String | Yes | \- | \- |
+| `operator` | The comparative operator to use for numeric placeholders. | String | No | \- | One of: `GREATER_THAN`, `LESS_THAN`, `GREATER_THAN_OR_EQUAL_TO`, `LESS_THAN_OR_EQUAL_TO`. The value in `evaluates` **must** be numeric. If this is not specified, then exact equality will be assumed. |
+| `refresh-ticks` | How frequently the placeholder should be evaluated. | Integer | No | \- | This works in addition to the global option defined in `config.yml`. |
+| `async` | Whether the placeholder should be evaluated asynchronously. | Boolean | No | \- | \- |
+| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
## Examples
diff --git a/docs/task-types/servernpc_deliver-(task-type).md b/docs/task-types/servernpc_deliver-(task-type).md
new file mode 100644
index 00000000..1d37e3a2
--- /dev/null
+++ b/docs/task-types/servernpc_deliver-(task-type).md
@@ -0,0 +1,79 @@
+---
+title: servernpc_deliver
+parent: External task types
+grand_parent: Task types
+---
+
+# servernpc_deliver (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'ServerNPC' required
+{: .label }
+
+Deliver a set of items to a ServerNPC 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](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. |
+| `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. | Integer | No | \- | Mutually exclusive with `npc-name`. |
+| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
+| `exact-match` | Whether the item should exactly match what is defined. | Boolean | No | true | \- |
+
+## Examples
+
+Deliver 8 of `BEEF` to an NPC with ID "gerald":
+
+``` yaml
+servernpcdeliver:
+ type: "servernpc_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: "servernpc_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: "servernpc_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/servernpc_interact-(task-type).md b/docs/task-types/servernpc_interact-(task-type).md
new file mode 100644
index 00000000..129c79e6
--- /dev/null
+++ b/docs/task-types/servernpc_interact-(task-type).md
@@ -0,0 +1,35 @@
+---
+title: servernpc_interact
+parent: External task types
+grand_parent: Task types
+---
+
+# servernpc_interact (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'ServerNPC' required
+{: .label }
+
+Interact with a ServerNPC NPC.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|------------|-------------------------------------------------|---------------------|----------|---------|-------------------------------------|
+| `npc-name` | The name of the NPC to interact with. | Boolean | No | \- | Mutually exclusive with `npc-id`. |
+| `npc-id` | The id of the NPC to interact with. | Boolean | 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
+servernpcinteract:
+ type: "servernpc_interact"
+ npc-id: "gerald" # ID of NPC
+ worlds: # (OPTIONAL) restrict to certain worlds
+ - "world"
+```
diff --git a/docs/task-types/znpcsplus_deliver-(task-type).md b/docs/task-types/znpcsplus_deliver-(task-type).md
new file mode 100644
index 00000000..074439ed
--- /dev/null
+++ b/docs/task-types/znpcsplus_deliver-(task-type).md
@@ -0,0 +1,79 @@
+---
+title: znpcsplus_deliver
+parent: External task types
+grand_parent: Task types
+---
+
+# znpcsplus_deliver (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'ZNPCsPlus' required
+{: .label }
+
+Deliver a set of items to a ZNPCsPlus 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](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. |
+| `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. | Integer | No | \- | Mutually exclusive with `npc-name`. |
+| `worlds` | Worlds which should count towards the progress. | List of world names | No | \- | \- |
+| `exact-match` | Whether the item should exactly match what is defined. | Boolean | No | true | \- |
+
+## Examples
+
+Deliver 8 of `BEEF` to an NPC with ID "gerald":
+
+``` yaml
+znpcsplusdeliver:
+ type: "znpcsplus_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: "znpcsplus_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: "znpcsplus_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/znpcsplus_interact-(task-type).md b/docs/task-types/znpcsplus_interact-(task-type).md
new file mode 100644
index 00000000..d8dc4366
--- /dev/null
+++ b/docs/task-types/znpcsplus_interact-(task-type).md
@@ -0,0 +1,35 @@
+---
+title: znpcsplus_interact
+parent: External task types
+grand_parent: Task types
+---
+
+# znpcsplus_interact (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'ZNPCsPlus' required
+{: .label }
+
+Interact with a ZNPCsPlus NPC.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|------------|-------------------------------------------------|---------------------|----------|---------|-------------------------------------|
+| `npc-name` | The name of the NPC to interact with. | Boolean | No | \- | Mutually exclusive with `npc-id`. |
+| `npc-id` | The id of the NPC to interact with. | Boolean | 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
+znpcsplusinteract:
+ type: "znpcsplus_interact
+ npc-id: "gerald" # ID of NPC
+ worlds: # (OPTIONAL) restrict to certain worlds
+ - "world"
+```