diff --git a/docs/modules/blocks/structures.mdx b/docs/modules/blocks/structures.mdx index d535d9d8..e53e7f97 100644 --- a/docs/modules/blocks/structures.mdx +++ b/docs/modules/blocks/structures.mdx @@ -45,6 +45,7 @@ Structures are a very powerful feature that can be used to implement an endless | `trigger` | PropertyRequiredDynamic filter which triggers placement and clearing of structures. | [Dynamic Filter](/docs/modules/mechanics/filters#dynamic-filters) | | `location` | The location to place the structure at. The structure's `origin` will be at this point.
*Mutually exclusive with `offset`.* | X,Y,Z | | `offset` | Relative position to place the structure at. The structure will be translated by this amount from its original location.
*Mutually exclusive with `location`.* | X,Y,Z | `0,0,0` *(structure placed at its original location)* | +| `update` | Placed blocks will update upon interaction, e.g., redstone, and invalid block placements such as floating ladders, "popping" off. *May impact performance for large fills.* | true/false | true | ### Examples diff --git a/docs/modules/mechanics/actions-triggers.mdx b/docs/modules/mechanics/actions-triggers.mdx index f3c919f2..4f61558c 100644 --- a/docs/modules/mechanics/actions-triggers.mdx +++ b/docs/modules/mechanics/actions-triggers.mdx @@ -17,6 +17,7 @@ In the future, some features that are currently used in Kits may be transferred |---|---| | ` ` | A group of actions running in a sequence. | | ` ` | Changes the scope that an action applies to. | +| ` ` | Loop actions without recursions. | | `` | A message that is sent to the player. | | `` | A sound that is played for the player. | | `` | Sets a new value for a [Variable](/docs/modules/mechanics/variables). | @@ -25,6 +26,7 @@ In the future, some features that are currently used in Kits may be transferred | `` | Places blocks in a block-bounded region. | | `` | Places a structure at a specified location when triggered. | | ` ` | Finds and replaces certain items. | +| ` ` | Enchants the targeted item. | | ` ` | Allow players to pay with items in their inventory to trigger an action. | | `` | A player-scoped kit that applies velocity to the player. | | `` | Teleport a player to a specific location. | @@ -46,6 +48,13 @@ In the future, some features that are currently used in Kits may be transferred | `inner` | Specify the scope of the inner action. | `player`, `team`, or `match` | | `outer` | Specify the scope outside of an action.
*In some cases, this can be omitted as PGM will automatically infer the outer scope.* | `player`, `team`, or `match` | +### Repeat Attributes + +| Attribute | Description | Value | +|---|---|---| +| `times` | The amount of time to repeat.
*Non-whole numbers will be rounded down. Negative numbers will cause no iterations.* | Expression | +| `filter` | Filters when this loop should be active. This will be checked as many time as the loop is ran. | [Filter](/docs/modules/mechanics/filters) | + ### Message Attributes | Attribute | Description | Value | Default | @@ -62,20 +71,36 @@ In the future, some features that are currently used in Kits may be transferred | Element | Description | Value | |---|---|---| -| `` | A list of replacements.
**Note:** In the future, more replacements such as player names will be supported. | Replacements Sub-elements | +| `` | A list of replacements.
**Note:** In the future, more replacements will be supported. | Replacements Sub-elements | | Sub-element | Description | |---|---| | `` | A numerical placeholder. | +| `` | A player's name placeholder. | ##### Decimal Attributes | Attribute | Description | Value | |---|---|---| -| `id` | Unique identifier used to reference this decimal from other places in the XML. | String | +| `id` | Unique identifier used to reference this decimal placeholder from other places in the XML. | String | | `value` | RequiredThe variable this decimal should evaluate. It can be used with formulas. | Expression | | `format` | Customize how the decimal should be displayed, e.g. `#.00`. | [Java DecimalFormat pattern](https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html) | +##### Player Attributes + +| Attribute | Description | Value | Default | +|---|---|---|---| +| `id` | RequiredUnique identifier used to reference this player placeholder from other places in the XML. | String | +| `var` | RequiredThe exclusive player-scoped variable to check for. | [Variable](/docs/modules/mechanics/variables) | +| `style` | The style to display the player's name in. | `plain`, `color`,
`fancy`, `verbose` | `verbose` | +| `fallback` | If no player has been assigned this variable, set the text to display instead. | String | + +###### Style Examples + +| Description | Screenshot +|---|---| +| `plain` - no formatting at all.
`simple_color` **(discouraged)** - team color formatting without click-to-teleport hover.
`color` - the player's name with team color with click-to-teleport hover.
`fancy` - contains fancy formatting, flairs, colors, click-to-teleport hover, and special formatting from Community or third-party plugins.
`tab` **(discouraged)** - formatted as a tablist entry with team color, flairs, death status, self, etc.
`verbose` - like `fancy`, but includes full nickname of nicked users to server operators. | ![Unnicked player placeholder in chat](/img/player-replacement-action-chat-unnicked.png 'Unnicked player placeholder in chat')
![Server operator perspective of the player placeholder in chat](/img/player-replacement-action-chat-op.png 'Server operator perspective of the player placeholder in chat') | + ### Sound Attributes | Attribute | Description | Value | Default | @@ -107,17 +132,19 @@ In the future, some features that are currently used in Kits may be transferred | `material` | RequiredThe filling material. | [Single Material Pattern](/docs/reference/items/inventory#material-matchers) | | `filter` | Filters which blocks get affected. *May impact performance for large fills.* | [Filter](/docs/modules/mechanics/filters) | | `events` | Calls events for block placements and removals, which will make it affected by other filters and PGM features. *May impact performance for large fills.* | true/false | false | +| `update` | Placed blocks will update upon interaction, e.g., redstone, and invalid block placements such as floating ladders, "popping" off. *May impact performance for large fills.* | true/false | true | ### Paste-Structure Attributes -| Attribute | Description | Value | -|---|---|---| +| Attribute | Description | Value | Default | +|---|---|---|---| | `x` | The X coordinate of the location to paste the structure, measured in east-west. | Expression | | `y` | The Y coordinate of the location to paste the structure, measured in altitude. | Expression | | `z` | The Z coordinate of the location to paste the structure, measured in north-south. | Expression | | `structure` | The structure to paste. | [Structure ID](/docs/modules/blocks/structures) | +| `update` | Placed blocks will update upon interaction, e.g., redstone, and invalid block placements such as floating ladders, "popping" off. *May impact performance for large fills.* | true/false | true | -### Replace Item +### Replace-Item #### Sub-elements @@ -135,6 +162,14 @@ In the future, some features that are currently used in Kits may be transferred | `ignore-metadata` | Filters which entities to remove. | true/false | | `amount` | Match for item stacks that have a certain amount of items in a range. | Range | +### Enchant-Item Attributes + +| Attribute | Description | Value | +|---|---|--| +| `enchantment` | An item enchantment. | [Enchantment Name](/docs/reference/items/enchantments) | +| `level` | The specified enchantment's level. | Expression | +| `ignore-metadata` | Filters which entities to remove. | true/false | + ### Take-Payment #### Sub-elements diff --git a/docs/modules/objectives/monument-modes.mdx b/docs/modules/objectives/monument-modes.mdx index e8ceb472..81799c55 100644 --- a/docs/modules/objectives/monument-modes.mdx +++ b/docs/modules/objectives/monument-modes.mdx @@ -22,9 +22,10 @@ Each `` has configurable characteristics that define it. | Attribute | Description | Value | Default | |---|---|---|---| | `id` | Unique identifier used to reference this mode from other places in the XML. | String | -| `name` | The custom mode display name, used for the mode change notification. | Formatted Text | +| `name` | The custom mode display name, used for the mode change notification.
**Note:** This is required if `material` is not set. | Formatted Text | | `filter` | Filter that triggers mode countdown. | [Dynamic Filter](/docs/modules/mechanics/filters#dynamic-filters) | -| `material` | RequiredThe material the core/destroyable will change to. | [Single Material Pattern](/docs/reference/items/inventory#material-matchers) | +| `action` | Trigger a specificed action when this mode is activated.
**Note:** This is required if `material` is not set. | [Action ID](/docs/modules/mechanics/actions-triggers) +| `material` | The material the core/destroyable will change to. | [Single Material Pattern](/docs/reference/items/inventory#material-matchers) | | `after` | RequiredThe time from the start of the match until this mode takes effect. If a filter is defined, then it will be the time since the filter passes `ALLOW`. | [Time Period](/docs/reference/misc/time-periods) | | `show-before` | The time before a mode is transitioning to show it in the boss bar. If `show-before` is set to 0, the mode is not shown in the boss bar at all. | [Time Period](/docs/reference/misc/time-periods) | 1m | diff --git a/static/img/player-replacement-action-chat-op.png b/static/img/player-replacement-action-chat-op.png new file mode 100644 index 00000000..bba6f89a Binary files /dev/null and b/static/img/player-replacement-action-chat-op.png differ diff --git a/static/img/player-replacement-action-chat-unnicked.png b/static/img/player-replacement-action-chat-unnicked.png new file mode 100644 index 00000000..cddae61d Binary files /dev/null and b/static/img/player-replacement-action-chat-unnicked.png differ