From d0d382f6f582cfd68b9ce5c0342ee9b00198587c Mon Sep 17 00:00:00 2001 From: Pear <20259871+TheRealPear@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:16:06 -0500 Subject: [PATCH] Markdownify & upgrade to Docusaurus v3 (#113) * Markdownify & upgrade to Docusaurus v3 Signed-off-by: TheRealPear <20259871+TheRealPear@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Patrick Signed-off-by: Pear <20259871+TheRealPear@users.noreply.github.com> * Remove Kill the King / King's Conquest paragraph Signed-off-by: TheRealPear <20259871+TheRealPear@users.noreply.github.com> --------- Signed-off-by: TheRealPear <20259871+TheRealPear@users.noreply.github.com> Signed-off-by: Pear <20259871+TheRealPear@users.noreply.github.com> Co-authored-by: Patrick --- .github/workflows/docs.yml | 12 +- README.md | 2 +- docs/commands/community.mdx | 817 +- docs/commands/events.mdx | 88 +- docs/commands/main.mdx | 691 +- docs/events/commands.mdx | 98 +- docs/events/examples.mdx | 6 +- docs/events/main.mdx | 10 +- docs/events/xml.mdx | 283 +- docs/guides/preparing/cleaning-files.mdx | 182 +- docs/guides/xml-pointers/regions.mdx | 2 +- docs/modules/blocks/blockdrops.mdx | 585 +- docs/modules/blocks/enderchests.mdx | 147 +- docs/modules/blocks/falling-blocks.mdx | 202 +- docs/modules/blocks/renewables.mdx | 322 +- docs/modules/blocks/structures.mdx | 291 +- docs/modules/environment/border.mdx | 220 +- docs/modules/environment/mobs.mdx | 125 +- docs/modules/environment/world.mdx | 81 +- docs/modules/format/players.mdx | 119 +- docs/modules/format/teams.mdx | 183 +- docs/modules/gear/classes.mdx | 198 +- docs/modules/gear/crafting.mdx | 411 +- docs/modules/gear/item-mods.mdx | 372 +- docs/modules/gear/items.mdx | 935 +- docs/modules/gear/kill-rewards.mdx | 160 +- docs/modules/gear/kits.mdx | 793 +- docs/modules/gear/lootables.mdx | 423 +- docs/modules/gear/pickups.mdx | 337 +- docs/modules/gear/potions.mdx | 81 +- docs/modules/gear/projectiles.mdx | 417 +- docs/modules/gear/repair-remove-keep.mdx | 202 +- docs/modules/gear/shops.mdx | 333 +- docs/modules/gear/tnt.mdx | 149 +- docs/modules/general/main.mdx | 691 +- docs/modules/general/proto.mdx | 194 +- docs/modules/information/broadcasts.mdx | 171 +- docs/modules/information/rules.mdx | 47 +- docs/modules/mechanics/actions-triggers.mdx | 650 +- docs/modules/mechanics/damage.mdx | 283 +- docs/modules/mechanics/filters.mdx | 1250 +- docs/modules/mechanics/gamerules.mdx | 176 +- docs/modules/mechanics/lanes.mdx | 72 +- docs/modules/mechanics/portals.mdx | 393 +- docs/modules/mechanics/proximity-alarms.mdx | 165 +- docs/modules/mechanics/regions.mdx | 656 +- docs/modules/mechanics/spawners.mdx | 198 +- docs/modules/mechanics/spawns.mdx | 488 +- docs/modules/mechanics/variables.mdx | 96 +- docs/modules/objectives/blitz.mdx | 88 +- docs/modules/objectives/control-points.mdx | 637 +- docs/modules/objectives/ctf.mdx | 1368 +- docs/modules/objectives/ctw.mdx | 341 +- docs/modules/objectives/dtc.mdx | 355 +- docs/modules/objectives/dtm.mdx | 385 +- docs/modules/objectives/monument-modes.mdx | 181 +- docs/modules/objectives/other.mdx | 69 +- docs/modules/objectives/payload.mdx | 133 +- docs/modules/objectives/scoring.mdx | 378 +- docs/reference/entities/entity-types.mdx | 757 +- docs/reference/entities/spawn-reasons.mdx | 193 +- docs/reference/items/attributes.mdx | 135 +- docs/reference/items/enchantments.mdx | 10 +- docs/reference/items/inventory.mdx | 43 +- docs/reference/items/potions.mdx | 473 +- docs/reference/misc/colors.mdx | 243 +- docs/reference/misc/formatting.mdx | 173 +- docs/reference/misc/objective-names.mdx | 286 +- docs/reference/misc/sounds.mdx | 164 +- docs/reference/misc/time-periods.mdx | 42 +- docusaurus.config.js | 4 +- package-lock.json | 20821 ++++++------------ package.json | 28 +- src/css/custom.css | 10 +- src/pages/downloads/index.js | 109 +- src/pages/downloads/styles.module.css | 11 +- src/pages/index.js | 5 +- 77 files changed, 9544 insertions(+), 32705 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index acd18750..69bcccfa 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -10,11 +10,11 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v1 + uses: actions/checkout@v4 - name: setup - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: - node-version: '16.x' + node-version: '20.x' run: | npm ci npm run build @@ -23,11 +23,11 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v1 + uses: actions/checkout@v4 - name: setup - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: - node-version: '16.x' + node-version: '20.x' - name: ssh env: SSH_AUTH_SOCK: /tmp/ssh_agent.sock diff --git a/README.md b/README.md index f05d5e33..936cb086 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # PGM Documentation Website -Source for the official [PGM plugin](https://github.com/PGMDev/PGM) documentation, using [Docusaurus 2](https://docusaurus.io/). +Source for the official [PGM plugin](https://github.com/PGMDev/PGM) documentation, using [Docusaurus](https://docusaurus.io/). ## Overview diff --git a/docs/commands/community.mdx b/docs/commands/community.mdx index 3483bc9d..75bf18fc 100644 --- a/docs/commands/community.mdx +++ b/docs/commands/community.mdx @@ -5,741 +5,90 @@ title: Community Commands This page describes a list of commands, aliases, and permissions for [Community](https://github.com/PGMDev/Community/), a standalone plugin for managing PGM servers. Commands for moderation, punishments, etc will be shown here. -Permissions are prefixed with `CommunityPermissions` (ie `CommunityPermissions.LOOKUP_OTHERS`). +Permissions are prefixed with `CommunityPermissions` (i.e. `CommunityPermissions.LOOKUP_OTHERS`).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandsAliasesDescriptionUsagePermissions
- - alternateaccountsView a list of alternate accounts of a player[target]LOOKUP_OTHERS
- - assist helpop helpmeRequest help from the staff members[reason] – Let staff know what you need help with
- - permban pbBan a player from the server[player] [reason]BAN
- - announce bcBroadcast an announcement to everyone[title] [message] or [message]BROADCAST
- - Clears the chatCHAT_MANAGEMENT
- - lockdownToggle lock status for the chatCHAT_MANAGEMENT
- - slowmodeToggle chat slowmodeCHAT_MANAGEMENT
- - View current chat mode statusCHAT_MANAGEMENT
- - Manage the chat statusdefaults to statusCHAT_MANAGEMENT
- - ce cedit containeredit - Edit inventory contents of target block (chest, furnace, dispenser, - beacon, etc) - CONTAINER
- - pImports bans to databse[true/false] – verboseRELOAD
- - Reloads the community configurationRELOAD
- - Displays total users, punishments and reportsRELOAD
- - Manage the community pluginreloads by defaultRELOAD
- - flightToggle your flight modeFLIGHT
- - Adjust your flight speedFLIGHT_SPEED
- - fz fToggle a player’s frozen state[username]FREEZE
- - accAccept an incoming friend request[username | uuid]FRIENDSHIP
- - request aSends a friend request to another player[username | uuid]FRIENDSHIP
- - denyDenies an incoming friend request[username | uuid]FRIENDSHIP
- - delete rmRemoves a friend[username | uuid]FRIENDSHIP
- - incoming pendingView a list of your pending friend requestsFRIENDSHIP
- - friendship fsManage your friend relationshipsdefaults to listFRIENDSHIP
- - /friend listView a list of friendsFRIENDSHIP
- - fls flistView a list of frozen playersFREEZE
- - gmAdjust your or another player’s gamemodeGAMEODE
- - kKick a player from the server[player] [reason]KICK
- - View a list of online languagesTRANSLATE
- - lView infraction history of a player[player] [page]LOOKUP_OTHERS
- - mtoolsGive moderator tools to overserverSTAFF
- - aAdd a mutation to the matchMUTATION
- - lsView a list of mutations
- - rm disableRemove an active mutation from the matchMUTATION
- - mutation mtManage match mutationsMUTATION
- - mPervent a player from speaking in the chat[player] [duration] [reason]MUTE
- - List all online players who are mutedMUTE
- - nb [/ban username/name] - Bans a username from the server, player can still reconnect if their - username changes - [player] [reason] – no reason requiredBAN
- - Check if the provided name is avaliable[nick]NICKNAME
- - resetRemove nickname from yourself or another player - [target] (needs NICKNAME_OTHER permissions) – defaults to own player - NICKNAME
- - Confirm random nickname choice[name] – Confirm name from nick selectionNICKNAME
- - Set a random nicknameNICKNAME
- - Set your nickname[name]NICKNAME_SET
- - otherSet the nickname of another player[target] [nick]NICKNAME_OTHER
- - Set skin for current nick session[username] – name of skin to copyNICKNAME_SET
- - Check your current nickname status[target] (needs NICKNAME_OTHER perms) – defaults to own player
- - Toggle your nickname status
- - Set a nicknameNICKNAME
- - /nick listView a list of online nicked playersSTAFF
- - plView a list of recent reports for the targeted player[player] [page]REPORTS
- - userView account info for a player[name or uuid]LOOKUP_OTHERS
- - phView a list of recent punishments[page]PUNISH
- - sponsorqueue sq [/sponsor queue]View the sponsored maps queue
- - infractions mypunishmentsView your punishment histpry[page]LOOKUP
- - rpRepeat the last punishment you performed for another player[player]PUNISH
- - Report a player who is breaking the rules[username] [reason]
- - reporthistory repsView report historyREPORTS
- - reqRequest a map[map] – Name of map to requestREQUEST
- - Clear map requests[map] – Leave emtpy to clear allSTAFF
- - reqsView and manage map requestsclearSTAFF
- - lastseen findView when a player was last seen online[player]FIND
- - View a list of maps which can be sponsored
- - submit addSponsor a map request[map] – Name of map to sponsor (only allowed maps)
- - View the sponsor request menuinfo, cancel – defaults to info
- - mods adminsView a list of online staff members
- - forceForce targets to perform given command[commands]ADMIN
- - tb [/ban temp temporary t]Temporarily bans a player from a server[player] [duration] [reason]BAN
- - Check your token balance
- - awardGive the target player sponsor tokens[player] [token amount]ADMIN
- - sponsortokens tokenView how many sponsor tokens you havedefaults to balance
- - teleportTeleport to another player[player] [other player]TELEPORT
- - bring tphTeleport players to you[player]TELEPORT_OTHERS
- - tpl tplocTeleport to specific coordinates[x,y,z] [target player]TELEPORT_LOCATION
- - tptg tgTarget a player for the player hook toolSTAFF
- - Translate the given chat messageTRANSLATE
- - pardon forgivePardon all active punishments for a player[player]UNBAN
- - umUnmute a player[player]MUTE
- - View how long the server has been online
- - uhView the name history of a user[player]LOOKUP_OTHERS
- - wWarn a player for bad behavior[player] [reason]WARN
+ | Commands | Aliases | Description | Usage | Permissions | + |---|---|---|---|---| + | `/alts` | alternateaccounts | View a list of alternate accounts of a player. | [target] | `LOOKUP_OTHERS` | + | `/assistance` | assist
helpop
helpme | Request help from staff members. | [reason] – Let staff know what you need help with | + | `/ban` | permban
pb | Ban a player from the server. | [player] [reason] | `BAN` | + | `/broadcast` | announce
bc | Broadcast an announcement to everyone. | [title] [message] or [message] | `BROADCAST` | + | `/chat clear` || Clears the chat. || `CHAT_MANAGEMENT` | + | `/chat lock` | lockdown | Toggle lock status for the chat. || `CHAT_MANAGEMENT` | + | `/chat slow` | slowmode | Toggle chat slowmode. || `CHAT_MANAGEMENT` | + | `/chat status` || View current chat mode status. || `CHAT_MANAGEMENT` | + | `/chat` || Manage the chat status. | defaults to status | `CHAT_MANAGEMENT` | + | `/chestedit` | ce
cedit
containeredit | Edit inventory contents of target block (chest, furnace, dispenser, beacon, etc.) || `CONTAINER` | + | `/community punishments` | p | Imports bans to database. | [true/false] – verbose | `RELOAD` | + | `/community reload` || Reloads the Community configuration. || `RELOAD` | + | `/community stats` || Displays total users, punishments and reports. || `RELOAD` | + | `/community` || Manage the community plugin. | reloads by default | `RELOAD` | + | `/fly` | flight | Toggle your flight mode. || `FLIGHT` | + | `/flyspeed` || Adjust your flight speed. || `FLIGHT_SPEED` | + | `/freeze` | fz
f | Toggle a player’s frozen state. | [username] | `FREEZE` | + | `/friend accept` | acc | Accept an incoming friend request. | [username | uuid] | `FRIENDSHIP` | + | `/friend add` | request
a | Sends a friend request to another player. | [username | uuid] | `FRIENDSHIP` | + | `/friend reject` | deny | Denies an incoming friend request. | [username | uuid] | `FRIENDSHIP` | + | `/friend remove` | delete
rm | Removes a friend. | [username | uuid] | `FRIENDSHIP` | + | `/friend requests` | incoming
pending | View a list of your pending friend requests. || `FRIENDSHIP` | + | `/friend` | friendship
fs | Manage your friend relationships. | defaults to list | `FRIENDSHIP` | + | `/friends` | /friend list | View a list of friends. || `FRIENDSHIP` | + | `/frozenlist` | fls
flist | View a list of frozen players. || `FREEZE` | + | `/gamemode` | gm | Adjust your or another player’s gamemode. || `GAMEMODE` | + | `/kick` | k | Kick a player from the server. | [player] [reason] | `KICK` | + | `/languages` || View a list of online languages. || `TRANSLATE` | + | `/lookup` | l | View infraction history of a player. | [player] [page] | `LOOKUP_OTHERS` | + | `/modtools` | mtools | Give moderator tools to observer. || `STAFF` | + | `/mutate add` | a | Add a mutation to the match. || `MUTATION` | + | `/mutate list` | ls | View a list of mutations. | + | `/mutate remove` | rm
disable | Remove an active mutation from the match. || `MUTATION` | + | `/mutate` | mutation
mt | Manage match mutations. || `MUTATION` | + | `/mute` | m | Pervent a player from speaking in the chat. | [player] [duration] [reason] | `MUTE` | + | `/mutes` || List all online players who are muted. || `MUTE` | + | `/nameban` | nb [/ban username/name] | Bans a username from the server, player can still reconnect if their username changes. | [player] [reason] – no reason required | `BAN` | + | `/nick check` || Check if the provided name is avaliable. | [nick] | `NICKNAME` | + | `/nick clear` | reset | Remove nickname from yourself or another player. | [target] (needs `NICKNAME_OTHER` permissions) – defaults to own player | `NICKNAME` | + | `/nick confirm` || Confirm random nickname choice. | [name] – Confirm name from nick selection | `NICKNAME` | + | `/nick random` || Set a random nickname. || `NICKNAME` | + | `/nick set` || Set your nickname. | [name] | `NICKNAME_SET` | + | `/nick setother` | other | Set the nickname of another player. | [target] [nick] | `NICKNAME_OTHER` | + | `/nick skin` || Set skin for current nick session. | [username] – name of skin to copy | `NICKNAME_SET` | + | `/nick status` || Check your current nickname status. | [target] (needs `NICKNAME_OTHER` perms) – defaults to own player | + | `/nick toggle` || Toggle your nickname status. | + | `/nick` || Set a nickname. || `NICKNAME` | + | `/nicks` | /nick list | View a list of online nicked players. || `STAFF` | + | `/player` | pl | View a list of recent reports for the targeted player. | [player] [page] | `REPORTS` | + | `/profile` | user | View account info for a player. | [username | uuid] | `LOOKUP_OTHERS` | + | `/punishmenthistory` | ph | View a list of recent punishments. | [page] | `PUNISH` | + | `/queue` | sponsorqueue
sq
[/sponsor queue] | View the sponsored maps queue. | + | `/record` | infractions mypunishments | View your punishment history. | [page] | `LOOKUP` | + | `/repeatpunishment` | rp | Repeat the last punishment you performed for another player. | [player] | `PUNISH` | + | `/report` || Report a player who is breaking the rules. | [username] [reason] | + | `/reports` | reporthistory
reps | View report history. || `REPORTS` | + | `/request` | req | Request a map. | [map] – Name of map to request | `REQUEST` | + | `/requests clear` || Clear map requests. | [map] – Leave empty to clear all | `STAFF` | + | `/requests` | reqs | View and manage map requests. | clear | `STAFF` | + | `/seen` | lastseen
find | View when a player was last seen online. | [player] | `FIND` | + | `/sponsor maps` || View a list of maps which can be sponsored. | + | `/sponsor request` | submit
add | Sponsor a map request. | [map] – Name of map to sponsor (only allowed maps) | + | `/sponsor` || View the sponsor request menu. | info, cancel – defaults to info | + | `/staff` | mods
admins | View a list of online staff members. | + | `/sudo` | force | Force targets to perform given command. | [commands] | `ADMIN` | + | `/tempban` | tb
[/ban temp temporary t] | Temporarily bans a player from a server. | [player] [duration] [reason] | `BAN` | + | `/tokens balance` || Check your token balance. | + | `/tokens give` | award | Give the target player sponsor tokens. | [player] [token amount] | `ADMIN` | + | `/tokens` | sponsortokens
token | View how many sponsor tokens you have. | defaults to balance | + | `/tp` | teleport | Teleport to another player. | [player] [other player] | `TELEPORT` | + | `/tphere` | bring
tph | Teleport players to you. | [player] | `TELEPORT_OTHERS` | + | `/tplocation` | tpl
tploc | Teleport to specific coordinates. | [x,y,z] [target player] | `TELEPORT_LOCATION` | + | `/tptarget` | tptg
tg | Target a player for the player hook tool. || `STAFF` | + | `/translate` || Translate the given chat message. || `TRANSLATE` | + | `/unban` | pardon
forgive | Pardon all active punishments for a player. | [player] | `UNBAN` | + | `/unmute` | um | Unmute a player. | [player] | `MUTE` | + | `/uptime` || View how long the server has been online. | + | `/usernamehistoy` | uh | View the name history of a user. | [player] | `LOOKUP_OTHERS` | + | `/warn` | w | Warn a player for bad behavior. | [player] [reason] | `WARN` |
-Spreadsheet can be found here. +Spreadsheet can be found [here](https://docs.google.com/spreadsheets/d/1QlS4DW6aLcryf4BRw3WXylydm07HqKNTf_QYI2PtLzU/edit?usp=sharing). diff --git a/docs/commands/events.mdx b/docs/commands/events.mdx index cb9ad997..eaf617ec 100644 --- a/docs/commands/events.mdx +++ b/docs/commands/events.mdx @@ -6,82 +6,16 @@ title: Events Commands This page describes a list of commands, aliases, and permissions for the [Events](https://github.com/PGMDev/Events) plugin.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandsDescriptionUsagePermissions
- - Creates a tournamentevents.staff
- - View information about a team[team]events.staff
- - List all loaded teamsevents.staff
- - Register a team[team]events.staff
- - Shows the rounds from this event
- - Shows the current score in the tournament
- - Clear all registered teamsevents.staff
- - Veto a map[number]
+ | Commands | Description | Usage | Permissions | + |---|---|---|---| + | `/create` | Create a tournament. || `events.staff` | + | `/info` | View information about a team. | [team] | `events.staff` | + | `/list` | List all loaded teams. || `events.staff` | + | `/register` | Register a team. | [team] | `events.staff` | + | `/rounds` | Shows the rounds from this event. | + | `/score` | Shows the current score in the tournament. | + | `/unregisterall` | Clear all registered teams. || `events.staff` | + | `/veto` | Veto a map. | [number] |
-Spreadsheet can be found here. +Spreadsheet can be found [here](https://docs.google.com/spreadsheets/d/1QlS4DW6aLcryf4BRw3WXylydm07HqKNTf_QYI2PtLzU/edit?usp=sharing). diff --git a/docs/commands/main.mdx b/docs/commands/main.mdx index 7cd16ee9..552f4399 100644 --- a/docs/commands/main.mdx +++ b/docs/commands/main.mdx @@ -4,633 +4,72 @@ title: PGM Commands --- This page describes a list of PGM commands, aliases, and permissions. -Permissions are prefixed with `Permissions` (ie `Permissions.ADMINCHAT`). +Permissions are prefixed with `Permissions` (i.e. `Permissions.ADMINCHAT`).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandsAliasesDescriptionFlagsUsagePermissions
- - $ - (do not use forward slash)Send a message to operators[message]ADMINCHAT
- - actions list, actions pageInspect variables for a player-q query -a all[page]GAMEPLAY
- - actions triggerTrigger a specific action[action]GAMEPLAY
- - actions untriggerUntrigger a specific action[action]GAMEPLAY
- - Reschedule all unconditional objective modes[time]GAMEPLAY
- - Starts an objective mode[mode number] [time]GAMEPLAY
- - Rename a team[old team name] [new team name]GAMEPLAY
- - tlStart a time limit-r result (result can be default, objectives, tie, or name of team)[duration] [result] [overtime] [max-overtime]GAMEPLAY
- - playJoin the match-f force[team] – defaults to randomJOIN
- - Force a player onto a teamJOIN_FORCE
- - Shuffle players among the teams-a all -f forceJOIN_FORCE
- - obsLeave the matchLEAVE
- - findnewmaps new mapsLoad New Maps-f forceRELOAD
- - Reload the configRELOAD
- - Set the min players[reset | min-players]RESIZE
- - Set the max players[reset | max-players] (max-overfill)RESIZE
- - Set the min players on a team[team] (reset | min-players)RESIZE
- - Set the max players on a team[reset] (max-players | max-overfill)RESIZE
- - Change the next map-f force -r reset[map name]SETNEXT
- - Change the map pool-r revert to dynamic -t timelimit -m matchlimit[pool name]SETNEXT
- - Reset the rotation to default. Use /setpool to reset to other types of pools.-t timelimit -m matchlimitSETNEXT
- - Set a rotation as current pool. Use /setpool to set other types of pools.-t timelimit -m matchlimit[rotation name]SETNEXT
- - Skip the next map[positions]SETNEXT
- - Add a custom map to the next vote[map name]SETNEXT
- - Clear all custom map selections from the next voteSETNEXT
- - Toggle the voting mode between replace and overrideSETNEXT
- - rmRemove a custom map from the next vote[map name]SETNEXT
- - Cycle to the next match-f forceSTART
- - rematchReload (cycle to) the current map-f forceSTART
- - beginStart the matchSTART
- - cancelrestart crCancels all countdownsSTOP
- - endEnd the match[competitor]STOP
- - queuerestart qrRestart the server-f forceSTOP
- - vToggle vanish statusVANISH
- - selectclass c clSelects your class
- - classes listclasses clsList all available classes
- - all (! - do not use forward slash)Send a message to everyone[message]
- - inv viView a player’s inventory
- - who online lsView a list of online players
- - mapinfoShow info about a map[map name] – defaults to current map
- - maplist mlList all maps loaded-a author -t tag1,tag2, -n name
- - matchinfoShow the match info
- - pageList all objective modes[page]
- - Show the next objective mode
- - msg tell pm dm (@ - do not use forward slash)Send a direct message to a player[player] [message]
- - mn mapnext nm nextShow which map is playing next
- - List the maps in the map pool-t type -p pool -s scores -c chance of vote[page]
- - List all the map pools-d dynamic only
- - proxShow the progress of each objective
- - rReply to a direct message[message]
- - List the maps in the rotation. Use /pool to see unfiltered results.-s scores -c chance[page]
- - List all the rotations. Use /pools to see unfiltered results.-d dynamic only[page]
- - Get the value of a setting[setting]
- - Open the settings Menu
- - Show your stats for the match
- - Send a message to your team[message]
- - setToggle or set the value of a setting[setting] [option]
- - observertools otOpen the observer tools menu
- - lsView a list of maps that have been selected for the next vote
- - Spawn a vote book
- - Vote for the next map-o force open[map name]
+ | Commands | Aliases | Description | Flags | Usage | Permissions | + |---|---|---|---|---|---| + | `/a` | $ (*do not use forward slash*) | Send a message to operators. || [message] | `ADMINCHAT` | + | `/action list` | actions list
actions page | Inspect variables for a player. | -q query
-a all | [page] | `GAMEPLAY` | + | `/action trigger` | actions trigger | Trigger a specific action. || [action] | `GAMEPLAY` | + | `/action untrigger` | actions untrigger | Untrigger a specific action. || [action] | `GAMEPLAY` | + | `/mode push` || Reschedule all unconditional objective modes. || [time] | `GAMEPLAY` | + | `/mode start` || Starts an objective mode. || [mode number] [time] | `GAMEPLAY` | + | `/team alias` || Rename a team. || [old team name] [new team name] | `GAMEPLAY` | + | `/timelimit` | tl | Start a time limit. | -r result (can be `default`, `objectives`, `tie`, or name of team) | [duration] [result] [overtime] [max-overtime] | `GAMEPLAY` | + | `/join` | play | Join the match. | -f force | [team] – defaults to random | `JOIN` | + | `/team force` || Force a player onto a team. ||| `JOIN_FORCE` | + | `/team shuffle` || Shuffle players among the teams. || -a all -f force | `JOIN_FORCE` | + | `/leave` | obs | Leave the match. ||| `LEAVE` | + | `/loadnewmaps` | findnewmaps
new
maps | Load new maps. | -f force || `RELOAD` | + | `/pgm` || Reload the configuration. ||| `RELOAD` | + | `/ffa min` || Set the minimum players. || [reset | min-players] | `RESIZE` | + | `/ffa size` || Set the maximum players. || [reset | max-players] (max-overfill) | `RESIZE` | + | `/team min` || Set the minimum players on a team. || [team] (reset | min-players) | `RESIZE` | + | `/team size` || Set the maximum players on a team || [reset] (max-players | max-overfill) | `RESIZE` | + | `/setnext` || Change the next map. | -f force
-r reset | [map name] | `SETNEXT` | + | `/setpool` || Change the map pool. | -r revert to dynamic
-t timelimit
-m matchlimit | [pool name] | `SETNEXT` | + | `/setrot reset` || Reset the rotation to default. Use `/setpool` to reset to other types of pools. | -t timelimit
-m matchlimit || `SETNEXT` | + | `/setrot` || Set a rotation as current pool. Use `/setpool` to set other types of pools. | -t timelimit
-m matchlimit | [rotation name] | `SETNEXT` | + | `/skip` || Skip the next map. || [positions] | `SETNEXT` | + | `/vote add` || Add a custom map to the next vote. || [map name] | `SETNEXT` | + | `/vote clear` || Clear all custom map selections from the next vote. ||| `SETNEXT` | + | `/vote mode` || Toggle the voting mode between replace and override. ||| `SETNEXT` | + | `/vote remove` | rm | Remove a custom map from the next vote. || [map name] | `SETNEXT` | + | `/cycle` || Cycle to the next match | -f force || `START` | + | `/recycle` | rematch | Reload (cycle to) the current map | -f force || `START` | + | `/start` | begin | Start the match. ||| `START` | + | `/cancel` | cancelrestart
cr | Cancels all countdowns. ||| `STOP` | + | `/finish` | end | End the match. || [competitor] | `STOP` | + | `/restart` | queuerestart
qr | Restart the server. | -f force || `STOP` | + | `/vanish` | v | Toggle vanish status. ||| `VANISH` | + | `/class` | selectclass
c
cl | Selects your class. | + | `/classlist` | classes
listclasses
cls | List all available classes. | + | `/g` | all
! (*do not use forward slash*) | Send a message to everyone. || [message] | + | `/inventory` | inv
vi | View a player’s inventory. | + | `/list` | who
online
ls | View a list of online players. | + | `/map` | mapinfo | Show info about a map. || [map name] – defaults to current map | + | `/maps` | maplist
ml | List all loaded maps. | -a author
-t tag1,tag2
-n name | + | `/match` | matchinfo | Show the match info. | + | `/mode list` | page | List all objective modes. || [page] | + | `/mode next` || Show the next objective mode. | + | `/msg` | msg
tell
pm
dm
@ (*do not use forward slash*) | Send a direct message to a player. || [player] [message] | + | `/nextmap` | mn
mapnext
nm
next | Show which map is playing next. | + | `/pool` || List the maps in the map pool. | -t type
-p pool
-s scores
-c chance of vote | [page] | + | `/pools` || List all the map pools. | -d dynamic only | + | `/proximity` | prox | Show the progress of each objective. | + | `/reply` | r | Reply to a direct message. || [message] | + | `/rot` || List the maps in the rotation. Use `/pool` to see unfiltered results. | -s scores
-c chance | [page] | + | `/rots` || List all the rotations. Use `/pools` to see unfiltered results. | -d dynamic only | [page] | + | `/setting` || Get the value of a setting. || [setting] | + | `/settings` || Open the settings menu. | + | `/stats` || Show your stats for the match. | + | `/t` || Send a message to your team. || [message] | + | `/toggle` | set | Toggle or set the value of a setting. || [setting] [option] | + | `/tools` | observertools
ot | Open the observer tools menu. | + | `/vote list` | ls | View a list of maps that have been selected for the next vote. | + | `/votebook` || Spawn a vote book. | + | `/votenext` || Vote for the next map. | -o force open | [map name] |
-Spreadsheet can be found here. +Spreadsheet can be found [here](https://docs.google.com/spreadsheets/d/1QlS4DW6aLcryf4BRw3WXylydm07HqKNTf_QYI2PtLzU/edit?usp=sharing). diff --git a/docs/events/commands.mdx b/docs/events/commands.mdx index 2d6f1e8a..53f65eb9 100644 --- a/docs/events/commands.mdx +++ b/docs/events/commands.mdx @@ -3,95 +3,27 @@ id: commands title: Commands --- -The plugin's commands are divided in two sections: User commands and Admin commands. Keep in mind that in order to run Admin commands, you must have the `events.staff` permission. +The plugin's commands are divided in two sections: User commands and Admin commands. +Keep in mind that in order to run Admin commands, you must have the `events.staff` permission. -### User commands +### User Commands
- - - - - - - - - - - - - - - - - - - - - - - -
CommandParametersDescription
- - {``} - Vetoes a map if a veto round is running. It can only be executed by - players on a team. -
- - - Shows the current score in the event.
- - - Shows past and future to-be-played rounds.
+ | Command | Parameters | Description | + |---|---|---| + | `/veto` | \ | Vetoes a map if a veto round is running. It can only be executed by players on a team. | + | `/score` | | Shows the current score in the event. | + | `/rounds` | | Shows past and future to-be-played rounds. |
### Admin Commands
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandParametersDescription
- - {``}Creates a match based on a format.
- - {``}Registers a team for a match.
- - - Lists all loaded teams.
- - {``}Shows information about a team.
- - - Clears all registered teams.
+ | Command | Parameters | Description | + |---|---|---| + | `/tm create` | \ | Creates a match based on a format. | + | `/tm register` | \ | Registers a team for a match. | + | `/tm list` | | Lists all loaded teams. | + | `/tm info` | \ | Shows information about a team. | + | `/tm unregisterall` | | Clears all registered teams. |
diff --git a/docs/events/examples.mdx b/docs/events/examples.mdx index fcda0493..a0d00e1d 100644 --- a/docs/events/examples.mdx +++ b/docs/events/examples.mdx @@ -5,7 +5,8 @@ title: Examples ### Example 1 -This example is as simple as you can get. The first to win 2 matches, wins the round. +This example is as simple as you can get. +The first to win 2 matches, wins the round. ```xml @@ -39,7 +40,8 @@ This example is a simple best-of-3 with a veto system. ### Example 3 -This example is more complicated. This is a best-of-3 of gamemodes. Each gamemode constitutes a round, and every round is a best-of-1 (that means that winning one match of that gamemode will give you a round) with the exception of Conquest, where you will need to win 2 matches to win the round. +This example is more complicated. +This is a best-of-3 of gamemodes. Each gamemode constitutes a round, and every round is a best-of-1 (that means that winning one match of that gamemode will give you a round) with the exception of Conquest, where you will need to win 2 matches to win the round. ```xml diff --git a/docs/events/main.mdx b/docs/events/main.mdx index 350b1258..aa3b8f65 100644 --- a/docs/events/main.mdx +++ b/docs/events/main.mdx @@ -6,7 +6,8 @@ title: Introduction **Events** is the official PGM plugin for managing PvP matches in a competitive setting. Team joining is disabled for everyone, and upon joining or cycling, all players on the match's registered teams are forced onto their respective, defined-in-config teams. -The plugin also manages cycling and starting matches as well as readying teams. Maps played in a match can be customized using a format file. Customizable vetos are also supported. +The plugin also manages cycling and starting matches as well as readying teams. +Maps played in a match can be customized using a format file. Customizable vetos are also supported. ### Running @@ -18,7 +19,10 @@ The plugin also manages cycling and starting matches as well as readying teams. 4. Start the format with /tm create `` where ``.xml is a valid file in plugins/Ingame/formats -You will find more information about the plugin's commands in the `Commands` section. There is only one value to be configured, which is `observers-must-ready`. If disabled, the match will start without observers having to execute `/ready`. This is specially useful for referees, hence why it is enabled by default. +You will find more information about the plugin's commands in the `Commands` section. +There is only one value to be configured, which is `observers-must-ready`. +If disabled, the match will start without observers having to execute `/ready`. +This is specially useful for referees, hence why it is enabled by default. ### Permissions @@ -26,7 +30,7 @@ You will find more information about the plugin's commands in the `Commands` sec - `events.spectate` - Allows users to spectate matches. This applies for users that are **not** playing - `events.spectate.vanish` - Like the above, but users will be vanished and therefore cannot interact with the game -:::caution +:::warning The plugin is still work in progress. If you wish to contribute to its development, please check its [GitHub repository](https://github.com/PGMDev/Events). ::: diff --git a/docs/events/xml.mdx b/docs/events/xml.mdx index 77d7a208..31a99f50 100644 --- a/docs/events/xml.mdx +++ b/docs/events/xml.mdx @@ -1,121 +1,38 @@ --- id: xml title: XML +toc_max_heading_level: 4 --- ### Format -Formats are XML files that instruct the plugin to do a specific tournament format, i.e. having a Bo3 of CTW maps, or having several "rounds" of different maps and gamemodes. +Formats are XML files that instruct the Events plugin to do a specific tournament format, i.e. having a Bo3 of CTW maps, or having several "rounds" of different maps and gamemodes. -Every format XML file must contain the base `` module. The format module can also be a round and therefore can be used to create a nested rounds. +Every format XML file must contain the base `` module. +The format module can also be a round and therefore can be used to create a nested rounds.
- - - - - - - - - - - - - - - -
Format ElementDescriptionValue/Children
- - - The main format node containing all the modules used in this format. - It can also represent a round and be nested inside other elements. - - XML Modules -
+ | Format Element | Description | Value/Children | + |---|---|---| + | ` ` | The main format node containing all the modules used in this format. It can also represent a round and be nested inside other elements. | XML Modules |
##### Format Attributes
- - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - What the match should be out of - Number - 1
- - - - Only if nested in {``} - - The name of the round. Useful for vetoing - - String - -
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `best-of` | What the match should be out of. | Number | 1 | + | `name` | Only if nested in {``}The name of the round. Useful for vetoing. | String |
##### Format Sub-elements
- - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionAttributesValue/Children
- - The name of the map. - (defaults to map name) - - String -
- - Represents a round with a veto mechanism to choose play order. - - - Veto Modules -
+ | Element | Description | Attributes | Value/Children | + |---|---|---|---| + | `` | The name of the map. | `id=""`
(defaults to map name) | String | + | `` | Represents a round with a veto mechanism to choose play order. | `id=""` | Veto Modules |
### Veto @@ -125,48 +42,11 @@ Every format can have a veto element to choose play order between rounds, and ea ##### Veto Sub-elements
- - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionChildren
- - A veto decider. Decides which team vetoes first. - Match - {``} -
- - Map options for that round. - Match -
- - - The veto order (ban, pick, etc.). The last element is enacted by the - system. - - Match -
+ | Element | Description | Children | + |---|---|---| + | `` | A veto decider. Decides which team vetoes first. | Match{``} | + | `` | Map options for that round. | Match | + | `` | The veto order (ban, pick, etc.). The last element is enacted by the system. | Match |
#### `` @@ -174,29 +54,9 @@ Every format can have a veto element to choose play order between rounds, and ea ###### Decider Sub-elements
- - - - - - - - - - - - - - - -
ElementDescriptionAttribute
- - - Uses the result from a round with a matching id, let it be a veto - decider, match or round. Useful to stop repeating veto deciders. - - -
+ | Element | Description | Attribute | + |---|---|---| + | `` | Uses the result from a round with a matching id, let it be a veto decider, match or round. Useful to stop repeating veto deciders. | `id="map-name"` |
#### `` @@ -204,48 +64,11 @@ Every format can have a veto element to choose play order between rounds, and ea ##### Order Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - The number of maps that will remain after banning maps. - Number - 1
- - Which team starts choosing/banning first. - Number - 1
- - The time in seconds that each team has to veto. - Number - 30
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `ban-until` | The number of maps that will remain after banning maps. | Number | 1 | + | `starting-team` | Which team starts choosing/banning maps first. | Number | 1 | + | `time` | The time in seconds that each team has to veto. | Number | 30 |
##### Order Sub-elements @@ -253,50 +76,8 @@ Every format can have a veto element to choose play order between rounds, and ea If `` has no attributes present, it will look for these sub-elements.
- - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionAttributesAttribute Type
- - A pick in the veto process. -

- The team that gets to pick the map -

- Whether the map should be added to the front - or back of the maps to be played -
- Number - String -
- - A ban in the veto process. -

- The team that gets to pick the map -

- Whether the map should be added to the front - or back of the maps to be played -
- Number - String -
+ | Element | Description | Attributes | Value | + |---|---|---|---| + | `` | A pick in the veto process. | `team=""` - the team that gets to pick the map.
`insert="back"` - whether the map should be added to the front or back of the maps to be played. | NumberString | + | `` | A ban in the veto process. | `team=""` - the team that gets to pick the map.
`insert="back"`- whether the map should be added to the front or back of the maps to be played. | NumberString |
diff --git a/docs/guides/preparing/cleaning-files.mdx b/docs/guides/preparing/cleaning-files.mdx index 2421ae41..f7656414 100644 --- a/docs/guides/preparing/cleaning-files.mdx +++ b/docs/guides/preparing/cleaning-files.mdx @@ -3,171 +3,27 @@ id: cleaning-files title: Cleaning Files --- -Minecraft will generate quite a few files in your world folder when you create a world. Most of these files are not needed and by deleting them you can reduce the file size when it comes to uploading your world. +Minecraft will generate quite a few files in your world folder when you create a world. +Most of these files are not needed and by deleting them you can reduce the file size when it comes to uploading your world. Below is a table which displays all the files that may be generated in your world folder, along with a description and whether or not the file is required.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File NameRequired?Description
- - - YES - - Stores global information about the world such as name and generation type. -
- - - YES - - Contains all the region files of your world. -
- Individual region files using extension should not be included if the world was converted to Anvil. -
- - - DEPENDS - - Stores map data for craftable maps — remove if you are not using custom map items -
- - - NO - - A backup of level.dat before the map was converted from the MCRegion world format to Anvil. - This is typically seen in older maps built before Minecraft 1.2.1. -
- - - NO - A backup of an older version of the level.dat file.
- - - NO - - A timestamp when the level was last accessed. - This is typically seen while a map is actively being used or modified by a third-party program. -
- - or - - - NO - Contains files which store the individual states of each player.
- - - NO - Stores information about Villages in the world.
- - - NO - Contains all the region files for The Nether () and The End ().
- - - NO - Contains achievements and other statistics.
- - - NO - Generated while a map is being edited in MCEdit.
- - - NO - Typically seen in maps that was loaded on Minecraft with mods involving chunk loaders.
- - - NO - Generated by MCEdit or NBTEdit.
- - - NO - Generated by Not Enough Items.
- - - NO - Generated by Single Player Commands.
+ | File Name | Required? | Description | + |---|:---:|---| + | `level.dat` | YES | Stores global information about the world such as name and generation type. | + | `region/*.mca` | YES | Contains all the region files of your world.
Individual region files using `.mcr` extension should not be included if the world was converted to Anvil. | + | `data/map_[#].dat` | DEPENDS | Stores map data for craftable maps — remove if you are not using custom map items. | + | `level.dat_mcr` | NO | A backup of `level.dat` before the map was converted from the MCRegion world format to Anvil. This is typically seen in older maps built before Minecraft 1.2.1. | + | `level.dat_old` | NO | A backup of an older version of the level.dat file. | + | `session.lock` | NO | A timestamp when the level was last accessed. This is typically seen while a map is actively being used or modified by a third-party program. | + | `playerdata/` or `players/` | NO | Contains files which store the individual states of each player. | + | `data/villages.dat` | NO | Stores information about Villages in the world. | + | `DIM-1/` and `DIM1/` | NO | Contains all the region files for The Nether (`DIM-1`) and The End (`DIM1`). | + | `stats/` | NO | Contains achievements and other statistics. | + | `##MCEDIT.TEMP##/` | NO | Generated while a map is being edited in MCEdit. | + | `forcedchunks.dat` | NO | Typically seen in maps that was loaded on Minecraft with mods involving chunk loaders. | + | `customnpcs` | NO | Generated by MCEdit or NBTEdit. | + | `NEI` | NO | Generated by Not Enough Items. | + | `spc` | NO | Generated by Single Player Commands. |
diff --git a/docs/guides/xml-pointers/regions.mdx b/docs/guides/xml-pointers/regions.mdx index 15ca9df0..d672abe0 100644 --- a/docs/guides/xml-pointers/regions.mdx +++ b/docs/guides/xml-pointers/regions.mdx @@ -5,7 +5,7 @@ title: Defining Regions First of all, region coordinates in PGM are _real numbers_. That means they can be fractional values, like `2.3`, `4.5`, `6.789`, and so on. -A coordinate represents a _point_ on one of the three axes (X, Y, or Z), and a set of three coordinates represents a _point_ in 3D space. +A coordinate represents a *point* on one of the three axes (X, Y, or Z), and a set of three coordinates represents a *point* in 3D space. Coordinates do **not** represent blocks, at least not _directly_. When PGM needs to decide if a block is inside a region, it checks if the point at the **center** of the block is inside the region. The center point of a block will always have coordinates that end in `0.5`. diff --git a/docs/modules/blocks/blockdrops.mdx b/docs/modules/blocks/blockdrops.mdx index 97e201dd..191e061b 100644 --- a/docs/modules/blocks/blockdrops.mdx +++ b/docs/modules/blocks/blockdrops.mdx @@ -7,473 +7,77 @@ This module can be used to customize what drops when blocks are broken, and what It can also be used to customize drops when a block is punched by a player in adventure mode, or to change a block's type when a player walks on it. All sub-elements are optional, if there are no elements all blocks will simply drop nothing. -Custom drops also apply to blocks broken by explosions. The custom drops are reduced by 70%, just like default explosion drops, though this can be customized through the [TNT module](/docs/modules/gear/tnt). Blocks broken by means other than mining or explosions currently do not cause custom drops. +Custom drops also apply to blocks broken by explosions. +The custom drops are reduced by 70%, just like default explosion drops, though this can be customized through the [TNT module](/docs/modules/gear/tnt). +Blocks broken by means other than mining or explosions currently do not cause custom drops. #### Block Drops Element
- - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing all the defined block drop rules.
Sub-elements - -
- - An individual block drop rule. - Rule Sub-elements -
+ | Element | Description | + |---|---| + | ` ` | Node containing all the defined block drop rules. | + + | Sub-elements || Value/Children | + |---|---|---| + | `` | An individual block drop rule. | Rule Sub-elements |
-### Rule Attributes +#### Rule Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - - Property - - The blocks that get modified by this rule. - - Filter -
- - - - Property - - The region this rule applies to. - - Region -
- - - - Property - - The kit to give players when this rule applies. - - Kit ID -
- - - - Property - - The amount of XP that gets dropped. - - Number -
- - - - Property - - What to replace the mined block with. - - - Single Material Pattern - - - Air -
- - - - Property - - Drop items regardless of what tool was used to mine the block. - - true/false - false
- - - - Property - - Check this rule when a block is punched. - - true/false - false
- - - - Property - - Check this rule when a block is walked on. - - true/false - false
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `filter` | PropertyThe blocks that get modified by this rule. | [Filter](/docs/modules/mechanics/filters) | + | `region` | PropertyThe region this rule applies to. | [Region](/docs/modules/mechanics/regions) | + | `kit` | PropertyThe kit to give players when this rule applies. | [Kit ID](/docs/modules/gear/kits) | + | `experience` | PropertyThe amount of XP that gets dropped. | Number | + | `replacement` | PropertyWhat to replace the mined block with. | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) | Air | + | `wrong-tool` | PropertyDrop items regardless of what tool was used to mine the block. | true/false | false | + | `punch` | PropertyCheck this rule when a block is punched. | true/false | false | + | `trample` | PropertyCheck this rule when a block is walked on. | true/false | false |
-### Rule Sub-elements +#### Rule Sub-elements
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/ChildrenDefault
- - - - Property - - Filter what blocks get modified by this rule. - - Filters -
- - - - Property - - The region this rule applies to. - - Regions -
- - - - Property - - The kit to give players when this rule applies. - - Kits -
- - The items which get dropped when a matching block is mined. - Items -
- - - - Property - - The amount of XP that gets dropped. - - Number -
- - - - Property - - What to replace the mined block with. - - - Single Material Pattern - - - Air -
- - - - Property - - Drop items regardless of what tool was used to mine the block. - - true/false - false
- - - - Property - - Check this rule when a player in adventure mode punches a block. - - true/false - false
- - - - Property - - Check this rule when a block is walked on. - - true/false - false
- - - - Property - - The percentage of blocks that will change to falling blocks when exploded. - - 0 - 1.0 -
- - - - Property - - The percentage of falling blocks that will change back to real blocks when - they land. - - 0 - 1.0 -
- - - - Property - - A multiplier for the velocity of the blocks flying out from a explosion. - - Number -
+ | Element | Description | Value/Children | Default | + |---|---|---|---| + | `` | PropertyFilter what blocks get modified by this rule. | [Filters](/docs/modules/mechanics/filters) | + | `` | PropertyThe region this rule applies to. | [Regions](/docs/modules/mechanics/regions) | + | `` | PropertyThe kit to give players when this rule applies. | [Kits](/docs/modules/gear/kits) | + | `` | The items which get dropped when a matching block is mined. | [Items](/docs/modules/gear/items)| | + | `` | PropertyThe amount of XP that gets dropped. | Number | + | `` | PropertyWhat to replace the mined block with. | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) | Air | + | `` | PropertyDrop items regardless of what tool was used to mine the block. | true/false | false | + | `` | PropertyCheck this rule when a player in adventure mode punches a block. | true/false | false | + | `` | PropertyCheck this rule when a block is walked on. | true/false | false | + | `` | PropertyThe percentage of blocks that will change to falling blocks when exploded. | 0 - 1.0 | + | `` | PropertyThe percentage of falling blocks that will change back to real blocks when they land. | 0 - 1.0 | + | `` | PropertyA multiplier for the velocity of the blocks flying out from a explosion. | Number |
-### Block Drops Item Attributes +#### Block Drops Item Attributes
- - - - - - - - - - - - - - - -
AttributesDescriptionValue
- - Chance that this item will actually be dropped. - 0 - 1.0 -
+ | Attribute | Description | Value | + |---|---|---| + | `chance` | Chance that this item will actually be dropped. | 0 - 1.0 |
-The `` element is used to limit the rule to particular blocks. If multiple filters are listed, the rule will apply when _any_ of them match. This filter is usually used to only filter what blocks the rule applies to. If filters such as `` are used then no items or XP will drop if the block is mined by a non-matching player, the rules `` material will still take effect however. +The `` element is used to limit the rule to particular blocks. +If multiple filters are listed, the rule will apply when *any* of them match. +This filter is usually used to only filter what blocks the rule applies to. +If filters such as `` are used then no items or XP will drop if the block is mined by a non-matching player, the rules `` material will still take effect however. -Items specified in the `` element can have any of the item attributes such as custom names, enchantments, attributes, etc. They can also have a special `chance` attribute specifying the chance that they will actually be dropped. This value can range from 0 to 1, a chance of 0.5 would mean that the item will at average drop 50% of the time. +Items specified in the `` element can have any of the item attributes such as custom names, enchantments, attributes, etc. +They can also have a special `chance` attribute specifying the chance that they will actually be dropped. +This value can range from 0 to 1, a chance of 0.5 would mean that the item will at average drop 50% of the time. -By default, custom drops won't appear if a block is mined with the "wrong" tool, e.g., stone mined with a shovel. +By default, custom drops will not appear if a block is mined with the "wrong" tool, e.g., stone mined with a shovel. If `wrong-tool` is set to true, the custom drops will happen regardless of what tool was used. -_Examples_ +### Examples ```xml @@ -481,7 +85,7 @@ _Examples_ - + iron ore @@ -500,8 +104,8 @@ _Examples_ ```xml - - + emerald ore @@ -516,7 +120,7 @@ _Examples_ ```xml - + chest @@ -525,9 +129,10 @@ _Examples_ ``` -#### Block Punching +### Block Punching -The `punch` attribute or sub-element specifies if that rule is checked when players in adventure mode punch a block. A rule with the punch attribute set to true will still apply when a block is broken, to change this behavior the `punch` or `mine` filters can be used. +The `punch` attribute or sub-element specifies if that rule is checked when players in adventure mode punch a block. +A rule with the punch attribute set to true will still apply when a block is broken, to change this behavior the `punch` or `mine` filters can be used. ```xml @@ -543,14 +148,14 @@ The `punch` attribute or sub-element specifies if that rule is checked when play ``` -#### Block Trampling +### Block Trampling Setting the `trample` attribute or sub-element to true allows customization of what happens to a block when a player walks over it. This can be used to turn grass into dirt where players walk, or to drop a specific item when a player walks over a block. A rule with trample set to true will still apply when a player breaks a specified block, a `trample` filter can be used to disable this behavior. -Additionally the ``, `` & `` filters used in combination with a random filter can be used to modify the chance that a trample rule will apply. +Additionally the ``, ``, and `` filters used in combination with a random filter can be used to modify the chance that a trample rule will apply. ```xml @@ -580,80 +185,20 @@ Additionally the ``, `` & `` filters used in c ``` -#### Explosion behavior +### Explosion behavior The behavior for blocks that become airborne due to explosions can be modified in addition to all the other drop rules. -##### Rule Sub-elements +#### Rule Sub-elements
- - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - - - Property - - The percentage of blocks that will change to falling blocks when exploded. - - 0 - 1.0 -
- - - - Property - - The percentage of falling blocks that will change back to real blocks when - they land. - - 0 - 1.0 -
- - - - Property - - A multiplier for the velocity of the blocks flying out from a explosion. - - Number -
+ | Element | Description | Value/Children | + |---|---|---| + | `` | PropertyThe percentage of blocks that will change to falling blocks when exploded. | 0 - 1.0 | + | `` | PropertyThe percentage of falling blocks that will change back to real blocks when they land. | 0 - 1.0 | + | `` | PropertyA multiplier for the velocity of the blocks flying out from a explosion. | Number |
-_Examples_ - ```xml diff --git a/docs/modules/blocks/enderchests.mdx b/docs/modules/blocks/enderchests.mdx index 7d44e8a6..29cb7f85 100644 --- a/docs/modules/blocks/enderchests.mdx +++ b/docs/modules/blocks/enderchests.mdx @@ -5,13 +5,13 @@ title: Ender Chests This module allow mapmakers to have better control over vanilla Ender chest behaviors in a map. -The `` tag can contain any number of `` tags. Each `` can use a region and a filter to -determine where and when items should be dropped from the Ender chest. +The `` tag can contain any number of `` tags. +Each `` can use a region and a filter to determine where and when items should be dropped from the Ender chest. Dropoffs handle taking a player's Ender chest inventory and dropping it on the ground at a defined region or it can completely erase it. This is triggered once the player switches teams or stops participating in the match. -:::caution +:::warning Ensure that any maps with Ender chests are loaded on a server using PGM version `0.15` or newer. Pre-existing Ender chests in previous versions of PGM are not supported and will allow players to transfer items across matches. Additionally, players cannot place Ender chests under any circumstances. @@ -20,136 +20,36 @@ Additionally, players cannot place Ender chests under any circumstances. #### Enderchest Element
- - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing this map's Ender chest properties. -
Sub-elements - -
- - An individual Ender chest drop-off rule. - - Enderchest Sub-elements - -
+ | Element | Description | + |---|---| + | ` ` | Node containing this map's Ender chest properties. | + + | Sub-elements || Value/Children | + |---|---|---| + | `` | An individual Ender chest drop-off rule. | Enderchest Sub-elements |
-### Enderchest Attributes +#### Enderchest Attributes
- - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Specify a fallback operation for when no drop-off passes the filters.
- will maintain items when the player leaves a match.
- will clear the content of a player's Ender chest if they leave a match. - Under , it will acts as if no drop-offs are - defined, otherwise it will act as . -
- , , - - -
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `fallback` | Specify a fallback operation for when no drop-off passes the filters.
`KEEP` will maintain items when the player leaves a match.
`DELETE` will clear the content of a player's Ender chest if they leave a match. Under `AUTO`, it will acts as `DELETE` if no drop-offs are defined, otherwise it will act as `KEEP`. | `AUTO`, `KEEP`, or `DELETE` | `AUTO` |
-### Dropoff Attributes +#### Dropoff Attributes
- - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - - Property - - Required - Region in which a player's Ender chest content will be dropped off. - - Randomize-able Region - -
- - - - Property - - Required - Filter to determine whether to drop off Ender chest content at this location - or attempt the next location (if any). - - Filter - -
+ | Attribute | Description | Value | + |---|---|---| + | `region` | PropertyRequiredRegion in which a player's Ender chest content will be dropped off. | [Randomize-able Regions](/docs/modules/mechanics/regions) | + | `filter` | PropertyRequiredFilter to determine whether to drop off Ender chest content at this location or attempt the next location (if any). | [Filter](/docs/modules/mechanics/filters) | +
-_Examples_ +## Examples -#### Drop-off Locations +### Drop-off Locations ```xml @@ -160,10 +60,11 @@ _Examples_
``` -#### Fallback Behavior +### Fallback Behavior If you want Ender chest contents to not drop upon a certain event, you can specify what PGM will do with the inventory. This will also be used when a drop-off is not possible. + By default, PGM will use `AUTO` if neither regions nor a fallback preference are specified. `KEEP` will cause PGM to maintain a player's Ender chest if they leave. Upon rejoining, the Ender chest will have the same inventory as before. diff --git a/docs/modules/blocks/falling-blocks.mdx b/docs/modules/blocks/falling-blocks.mdx index dd821334..cf2dc8d7 100644 --- a/docs/modules/blocks/falling-blocks.mdx +++ b/docs/modules/blocks/falling-blocks.mdx @@ -3,197 +3,47 @@ id: falling-blocks title: Falling Blocks --- -The falling blocks module is used to specify what blocks are affected by gravity. Additionally, it also supports sticky blocks, if a falling block is stuck to a sticky block it will not fall. +The falling blocks module is used to specify what blocks are affected by gravity. +Additionally, it also supports sticky blocks. +If a falling block is stuck to a sticky block it will not fall. -Falling blocks will not fall if they touch a sticky block. If you make a falling block stick to itself, then it will stick only if the neighbor block is also stuck to something. Entire structures can then be built from those blocks, and they will not collapse as long as some part of the structure is stuck to a non-falling block. +Falling blocks will not fall if they touch a sticky block. +If you make a falling block stick to itself, then it will stick only if the neighbor block is also stuck to something. +Entire structures can then be built from those blocks, and they will not collapse as long as some part of the structure is stuck to a non-falling block. #### Falling Blocks Element
- - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing this map's falling block rules.
Sub-elements - -
- - An individual falling block rule. - Rule Sub-elements -
+ | Element | Description | + |---|---| + | ` ` | Node containing this map's falling block rules. | + + | Sub-elements || Value/Children | + |---|---|---| + | `` | An individual falling block rule. | Rule Sub-elements |
-### Rule Attributes +#### Rule Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - - Property - - Required - Filter what blocks get modified by this rule. - - Block Filter - -
- - - - Property - - Required - The blocks that are sticky. - - Block Filter - -
- - - - Property - - Tick delay till blocks start to fall after they have been disturbed. - - Number - 2
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `filter` | PropertyRequiredFilter what blocks get modified by this rule. | [Block Filter](/docs/modules/mechanics/filters) | + | `sticky` | PropertyRequiredThe blocks that are sticky. | [Block Filter](/docs/modules/mechanics/filters) | + | `delay` | PropertyTick delay until blocks start to fall after they have been disturbed. | Number | 2 |
-### Rule Sub-elements +#### Rule Sub-elements
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/ChildrenDefault
- - - - Property - - Required - Filter what blocks get modified by this rule. -
- Also accepts regions to limit the rule to a certain area. -
- Block Filters &{" "} - Regions -
- - - - Property - - Required - The blocks that are sticky. - - Block Filters -
- - - - Property - - Tick delay till blocks start to fall after they have been disturbed. - - Number - 2
+ | Element | Description | Value/Children | Default | + |---|---|---|---| + | `` | PropertyRequiredFilter what blocks get modified by this rule.
*Also accepts regions to limit the rule to a certain area.* | [Block Filters](/docs/modules/mechanics/filters) &
[Regions](/docs/modules/mechanics/regions) | + | `` | PropertyRequiredThe blocks that are sticky. | [Block Filter](/docs/modules/mechanics/filters) | + | `` | PropertyTick delay till blocks start to fall after they have been disturbed. | Number | 2 |
-_Examples_ +### Examples ```xml diff --git a/docs/modules/blocks/renewables.mdx b/docs/modules/blocks/renewables.mdx index 1114d54f..2bf447f4 100644 --- a/docs/modules/blocks/renewables.mdx +++ b/docs/modules/blocks/renewables.mdx @@ -5,306 +5,62 @@ title: Renewables This module can create regions in which destroyed or altered blocks will gradually be restored to their original state. -The `` tag can contain any number of `` tags. Each `` can use a region and a filter to -specify blocks to renew. If neither are specified, the renewable affects all blocks in the world. +The `` tag can contain any number of `` tags. +Each `` can use a region and a filter to specify blocks to renew. +If neither are specified, the renewable affects all blocks in the world. #### Renewables Element
- - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing this map's renewable block rules. -
Sub-elements - -
- - An individual renewable block rule. - Renewable Sub-elements -
+ | Element | Description | + |---|---| + | ` ` | Node containing this map's renewable block rules. | + + | Sub-elements || Value/Children | + |---|---|---| + | `` | An individual renewable block rule. | Renewable Sub-elements |
-### Renewable Attributes +#### Renewable Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - - Property - - Region in which blocks will be renewed. - - Region - Everywhere
- - - - Property - - Filter which blocks are renewed. - - Filter - Everything
- - - - Property - - Filter which blocks can be replaced by renewing blocks. - - Filter - Everything
- - - - Property - - Filter which renewable blocks are shuffled. - - Filter - Nothing
- - - Approximate number of blocks that will be restored per second. This - rate applies to the renewable as a whole, which means the time - required for any single block to renew will depend on how many other - blocks are waiting to be renewed by the same renewable. -
- - This parameter cannot be combined with . - -
Blocks/second1
- - - Average time required for a block to renew. Unlike , this - applies to each block individually, and blocks do not affect each - other's renewal time. A renewable with an can behave very - differently from a renewable with a , particularly if it is large. -
- - This parameter cannot be combined with . - -
- Time Period -
- - - Only allow blocks to be restored adjacent to other blocks that are - already renewed, or not renewable. If set to false, blocks will be - restored at completely random locations, even in mid-air. - - true/false - true
- - Show block restore particle effects. - true/false - true
- - Play block restore sound effects. - true/false - true
- - - Prevent blocks from being restored within this distance of any player. - meters2
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `region` | PropertyRegion in which blocks will be renewed. | [Region](/docs/modules/mechanics/regions) | `everywhere` | + | `renew-filter` | PropertyFilter which blocks are renewed. | [Filter](/docs/modules/mechanics/filters) | Everything | + | `replace-filter` | PropertyFilter which blocks can be replaced by renewing blocks. | [Filter](/docs/modules/mechanics/filters) | Everything | + | `shuffle-filter` | PropertyFilter which renewable blocks are shuffled. | [Filter](/docs/modules/mechanics/filters) | Nothing | + | `rate` | Approximate number of blocks that will be restored per second. This rate applies to the renewable as a whole, which means the time required for any single block to renew will depend on how many other blocks are waiting to be renewed by the same renewable.
*This parameter cannot be combined with `interval`.* | blocks/second | 1 | + | `interval` | Average time required for a block to renew. Unlike `rate`, this applies to each block individually, and blocks do not affect each other's renewal time. A renewable with an `interval` can behave very differently from a renewable with a `rate`, particularly if it is large.
*This parameter cannot be combined with `rate`.* | [Time Period](/docs/reference/misc/time-periods) | + | `grow` | Only allow blocks to be restored adjacent to other blocks that are already renewed, or not renewable. If set to `false`, blocks will be restored at completely random locations, even in mid-air. | true/false | true | + | `particles` | Show block restore particle effects. | true/false | true | + | `sound` | Play block restore sound effects. | true/false | true | + | `avoid-players` | Prevent blocks from being restored within a specific number of distance from any player. | block | 2 |
-### Renewable Sub-elements +#### Renewable Sub-elements
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - - - Property - - The region the renewable applies to. - - Bounded Regions -
- - - - Property - - Filter which blocks are renewed. - - Filters -
- - - - Property - - Filter which blocks are replaced. - - Filters -
- - - - Property - - Filter which blocks are shuffled. - - Filters -
+ | Element | Description | Value/Children | + |---|---|---| + | `` | PropertyThe region the renewable applies to. | [Bounded Regions](/docs/modules/mechanics/regions) | + | `` | PropertyFilter which blocks are renewed. | [Filters](/docs/modules/mechanics/filters) | + | `` | PropertyFilter which blocks are replaced. | [Filters](/docs/modules/mechanics/filters) | + | `` | PropertyFilter which blocks are shuffled. | [Filters](/docs/modules/mechanics/filters) |
-By default, all blocks in the region are renewable. The `` sub-element can be used inside the `` to specify only particular blocks to renew. +### Examples -The `` element specifies which block types are allowed to be replaced by renewing blocks. Any other type of block in the renewable region will obstruct the renewal process. By default, any block can be replaced. +By default, all blocks in the region are renewable. +The `` sub-element can be used inside the `` to specify only particular blocks to renew. + +The `` element specifies which block types are allowed to be replaced by renewing blocks. +Any other type of block in the renewable region will obstruct the renewal process. +By default, any block can be replaced. Normally, blocks will be restored to their exact state when the map was loaded. If some block types are specified in -`` element, blocks of those types in the original region will be restored to a block type chosen at random from -the shuffleable types. The approximate proportions of block types from the original region will be preserved. +`` element, blocks of those types in the original region will be restored to a block type chosen at random from the shuffleable types. +The approximate proportions of block types from the original region will be preserved. ```xml diff --git a/docs/modules/blocks/structures.mdx b/docs/modules/blocks/structures.mdx index 8c30ff0c..d1386483 100644 --- a/docs/modules/blocks/structures.mdx +++ b/docs/modules/blocks/structures.mdx @@ -9,284 +9,47 @@ When the match loads, the original structures will be saved and cleared from the Structures are brought to life by the `` element. This is an XML construct that causes a structure to appear at a specified location in reaction to a given filter. -Whenever the filter is in a passing state (when it has a value of ALLOW or ABSTAIN), the structure will appear. -When the filter is not passing, (when its value is DENY), the structure will disappear. +Whenever the filter is in a passing state (when it has a value of `ALLOW` or `ABSTAIN`), the structure will appear. +When the filter is not passing, (when its value is `DENY`), the structure will disappear. Structures are a very powerful feature that can be used to implement an endless variety of custom game mechanics. #### Structures Element
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Element containing all structures and dynamics. - - Structure and Dynamic Elements - -
Sub-elements - -
- - Defines a block structure that is part of the map. - Structure Attributes -
- - - Causes a structure to be placed/removed at some location in reaction - to a filter. - - Dynamic Attributes -
+ | Element | Description | Value/Children | + |---|---|---| + | ` ` | Node containing all structures and dynamics. | Structure and Dynamic Elements | + + | Sub-elements ||| + |---|---|---| + | `` | Defines a block structure that is part of the map. | Structure Attributes | + | `` | Causes a structure to be placed/removed at some location in reaction to a filter. | Dynamic Attributes |
-### Structure Attributes +#### Structure Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/ChildrenDefault
- - - Required - Unique identifier used to reference the structure from other places in - the XML. - - String -
- - - - Property - - Required - Unique identifier used to reference the structure from other places in - the XML. - - - Cuboid Region - -
- - - {" "} - A location used as the reference point when specifying destination - points for the structure. - - X,Y,Z - - Low corner of bounding box. -
- - - Whether air blocks should be considered part of the structure. If - true, empty blocks in the structure's region will be copied along with - it, clearing any blocks at the destination. If false, air blocks are - not copied and the structure is mixed in with blocks at the - destination. - - true/false - - -
- - - Whether to clear the original structure when the match loads. If true, - the structure's region will be filled with air, and players will never - see it. If false, the original structure is not modified. - - true/false - - -
+ | Element | Description | Value/Children | Default | + |---|---|---|---| + | `id` | RequiredUnique identifier used to reference this structure from other places in the XML. | String | + | `region` | PropertyRequiredA single region containing this structure. | [Cuboid Region](/docs/modules/mechanics/regions#block-bounded-regions) | + | `origin` | A location used as the reference point when specifying destination points for the structure. | X,Y,Z | Low corner of `region` bounding box | + | `air` | Whether air blocks should be considered part of the structure. If `true`, empty blocks in the structure's region will be copied along with it, clearing any blocks at the destination. If `false`, air blocks are not copied and the structure is mixed in with blocks at the destination. | true/false | false | + | `clear` | Whether to clear the original structure as soon the match loads. If `true`, the structure's region will be filled with air, and players will never see it. If `false`, the original structure is not modified. | true/false | true |
-### Dynamic Attributes +#### Dynamic Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/ChildrenDefault
- - - Unique identifier used to reference the dynamic from other places in - the XML. - - String -
- - - The of the structure to place. - - Structure ID -
- - - - Property - - Filter used to determine when a structure is placed when allows. - - Filter - - (structure is permanently placed) -
- - - - Property - - Dynamic filter which triggers placement and clearing of structures. - - - Dynamic Filter - -
- - - Location to place the structure at. The structure's{" "} - will be at this point.{" "} - - Mutually exclusive with . - - - X,Y,Z -
- - - Relative position to place the structure at. The structure will be - translated by this amount from its original location.{" "} - - Mutually exclusive with . - - - X,Y,Z - - {" "} - (structure placed at its original location) -
+ | Element | Description | Value/Children | Default | + |---|---|---|---| + | `id` | Unique identifier used to reference this dynamic from other places in the XML. | String | + | `structure` | The `id` of the structure to place. | [Structure ID](#structure-attributes) | + | `filter` | PropertyFilter used to determine when a structure is *placed* when `trigger` allows. | [Filter](/docs/modules/mechanics/filters) | `always` *(structure is permanently placed)* | + | `trigger` | PropertyDynamic 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)* |
### Examples diff --git a/docs/modules/environment/border.mdx b/docs/modules/environment/border.mdx index a04c447e..3b91bfce 100644 --- a/docs/modules/environment/border.mdx +++ b/docs/modules/environment/border.mdx @@ -3,218 +3,46 @@ id: border title: World Border --- -The world border module uses the default Minecraft world border and allows customization of its size, position and behavior. Only one world border definition can be active at a time. +The world border module uses the default Minecraft world border and allows customization of its size, position, and behavior. +Only one world border definition can be active at a time. Attributes for multiple world borders can be applied for all borders by specifying them in the root `` element.
- - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing all the defined world borders.
Sub-elements - -
- - A single world border. - - World Border Sub-elements - -
+ | Element | Description | + |---|---| + | ` ` | Node containing all the defined world borders. | + + | Sub-elements || Value/Children | + |---|---|---| + | `` | A single world border. | World Border Sub-elements |
##### World Borders Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Required - The center of this world border. - - X,Z -
- - - Required - The diameter of the world border, borders are always square. - - Number -
- - - - Property - - Filter when this world border is in effect. - - Filter -
- - - Time after which this border takes effect. -
- - Not compatible with the property. - -
- Time Period -
- - - The time it takes to transition from the previous state to this state. - - Time Period -
- - - Amount of damage per second inflicted to players for each meter they - are outside the border. - - Number - 0.2
- - - Distance to the edge of the border where damage to the player begins. - - Number - 5
- - Show red vignette to players closer than this to border. - Number - 5
- - - Show red vignette to players when the border is moving and will reach - them within this time. - - Time Period - 15s
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `center` | RequiredThe center of this world border. | X,Z | + | `size` | RequiredThe diameter of the world border, borders are always square. | Number | + | `when` | PropertyFilter when this world border is in effect. | [Filter](/docs/modules/mechanics/filters) | + | `after` | Time after which this border takes effect.
*Not compatible with the `when` property.* | [Time Period](/docs/reference/misc/time-periods) | + | `duration` | The time it takes to transition from the previous state to this state. | [Time Period](/docs/reference/misc/time-periods) | + | `damage` | The amount of damage per second inflicted to players for each meter they are outside the border. | Number | 0.2 | + | `buffer` | Distance to the edge of the border where damage to the player begins. | Number | 5 | + | `warning-distance` | Specify the block distance to the border before showing a red vignette to players. | Number | 5 | + | `warning-time` | Show red vignette to players when the border is moving and will reach them within the specified time. | [Time Period](/docs/reference/misc/time-periods) | 15s |
##### World Border Sub-elements
- - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - - - Property - - Filter when this world border is in effect. - - Filter -
+ | Element | Description | Value/Children | + |---|---|---| + | `` | PropertyFilter when this world border is in effect. | [Filters](/docs/modules/mechanics/filters) |
-_Examples_ +### Examples ```xml diff --git a/docs/modules/environment/mobs.mdx b/docs/modules/environment/mobs.mdx index 545b54d6..8e7cee6b 100644 --- a/docs/modules/environment/mobs.mdx +++ b/docs/modules/environment/mobs.mdx @@ -4,121 +4,34 @@ title: Mob Spawning --- By default, PGM disables all mob spawning. The mobs module allows this behavior to be customized to allow spawning of specific mobs. -This module makes use of the ``, `` and `` [filters](/docs/modules/mechanics/filters) to only allow specific mobs to spawn. -Mob spawns can also be filtered against any other filter type including regions. +This module makes use of the [``, `` and `` filters](/docs/modules/mechanics/filters#entity-filters) to only allow specific mobs to spawn. +Mob spawns can also be filtered against any other filter type, including regions.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing the custom mob spawning filters.
Attributes - -
- - - - Property - - Required - Filter what mobs can spawn when and where. - - Filter -
Sub-elements - -
- - - - Property - - Required - Filter what mobs can spawn when and where. - - Filter -
+ | Element | Description | + |---|---| + | ` ` | Node containing the custom mob spawning filters. | + + | Attributes || Value/Children | + |---|---|---| + | `filter` | PropertyRequiredFilter what mobs can spawn when and where. | [Filters](/docs/modules/mechanics/filters) | + + | Sub-elements ||| + |---|---|---| + | ` ` | PropertyRequiredFilter what mobs can spawn when and where. | [Filters](/docs/modules/mechanics/filters) |
##### Mob Spawning Filter Matchers
- - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue
- - Filter the reason a mob is being spawned. - Spawn Reason -
- - The mob to filter for. - - Creature Type - -
- - The entity to filter for. - Entity Type -
+ | Element | Description | Value | + |---|---|---| + | ` ` | Filter the reason a mob is being spawned. | [Spawn Reason](/docs/reference/entities/spawn-reasons) | + | ` ` | The mob to filter for. | [Creature Type](/docs/reference/entities/entity-types#creatures) | + | ` ` | The entity to filter for. | [Entity Type](/docs/reference/entities/entity-types) |
-_Examples_ +### Examples ```xml diff --git a/docs/modules/environment/world.mdx b/docs/modules/environment/world.mdx index ae2d5817..9bf53ec6 100644 --- a/docs/modules/environment/world.mdx +++ b/docs/modules/environment/world.mdx @@ -24,83 +24,20 @@ Any chunks not in the world's `region/` folder will be generated according to th The `world=""` attribute is used to specify the sub-folder that contains the map's `region/` and `level.dat` files.
- - - - - - - - - - - - - -
ElementDescription
- - A node defining properties for this world's generator.
+ | Element | Description | + |---|---| + | `` | A node defining properties for this world's generator. |
##### Terrain Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - The level data sub-folder to be used with this map. - Sub-folder Name -
- - - Specify if this world is uses the vanilla or null chunk generator. - - true/false - false
- - This worlds generation seed. - String -
- - - Allow physics events, such as water flowing, before the match starts. - - true/false - false
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `world` | The level data sub-folder to be used with this map. | Sub-folder Name | + | `vanilla` | Specify if this world is uses the vanilla or null chunk generator. | true/false | false | + | `seed` | This world's generation seed. | String | + | `pre-match-physics` | Allow physics events, such as water flowing, before the match starts. | true/false | false |
```xml diff --git a/docs/modules/format/players.mdx b/docs/modules/format/players.mdx index 86c033c9..9cef549a 100644 --- a/docs/modules/format/players.mdx +++ b/docs/modules/format/players.mdx @@ -3,125 +3,34 @@ id: players title: Players (free-for-all) --- -The players module is the basis for all team-less gamemodes, such as FFA, UHC, or hunger games style matches. +The players module is the basis for all team-less gamemodes, such as [Free for All (FFA)](/docs/modules/objectives/other#free-for-all), Ultra Hardcore (UHC), or Survival Games-style matches. This module is not limited to matches focused on combat, it can also be used in combat-less game modes where players have to collect specific items, etc. Win conditions are set by using the score and time limit modules. -:::caution -This gamemode is not compatible with the teams module! +:::warning +This gamemode is not compatible with the Teams module! :::
- - - - - - - - - - - - - -
ElementDescription
- - The players node, containing player settings.
+ | Element | Description | + |---|---| + | `` | The players node, containing player settings. |
##### Players Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - Minimum amount of players required. - Number -
- - - Player limit — normal players cannot join the match once it reaches - this size. -
- - Premium players may join over this limit until{" "} - is reached. - -
- Number -
- - - Player overfill — premium players cannot join the match once it - reaches this size. -
- - Must be greater than the defined . - -
- Number -
- - - Specify who can see the name tags of players. -
- Accepts: - , , or -
- Enum - true
- - - Automatically assign a unique color to each player, works up to 10 players - before colors repeat. - - true/false - false
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `min` | The minimum amount of players required to start a match. | Number | + | `max` | The maximum player limit — normal players cannot join the match once it reaches this size.
*Premium players may join over this limit until `max-overfill` is reached.* | Number | + | `max-overfill` | Player overfill — premium players cannot join the match once it reaches this size.
*Must be greater than the defined `max`.* | Number | + | `show-name-tags` | Specify who can see the name tags of players.
*Observers will always see all name tags.* | `true`
`false`
`allies`
`enemies` | `true` | + | `colors` | Automatically assign a unique color to each player, works up to 10 players before colors repeat. | true/false | false |
-_Example_ +### Examples ```xml diff --git a/docs/modules/format/teams.mdx b/docs/modules/format/teams.mdx index d6c64b53..d8c4db1b 100644 --- a/docs/modules/format/teams.mdx +++ b/docs/modules/format/teams.mdx @@ -4,170 +4,44 @@ title: Teams --- This module is used to specify the teams used in the match and what their attributes are. -Matches without teams can be setup with the [players](/docs/modules/format/players) module. +Matches without teams can be setup with the [Players](/docs/modules/format/players) module. -The soft player limit for each team is set with the `max=""` attribute and the hard limit with `max-overfill`. If max overfill is not explicitly defined the default will be set to 25% over the maximum team size. Players will not be able to join teams once the max overfill team size is reached. +The soft player limit for each team is set with the `max=""` attribute and the hard limit with `max-overfill`. +If max overfill is not explicitly defined, the default will be set to 25% over the maximum team size. +Players will not be able to join teams once the max overfill team size is reached. -The team's name is specified inside the `` element. The name should be kept as short as possible and not contain "Team", for example, "Azure" and not "Azure Team". -A team's `plural` attribute specifies if the team name is plural, e.g. "Attackers"; PGM will use this to pick appropriate win messages, etc. The `show-name-tags` attribute specifies who can see player name tags, this only applies to players, observers will always see all name tags. - -It is common for maps to only have 2 teams, although more are possible it usually just causes confusion. +The team's name is specified inside the `` element. +The name should be kept as short as possible and not contain "Team", for example, "Azure" and not "Azure Team". +A team's `plural` attribute specifies if the team name is plural, e.g. "Attackers"; PGM will use this to pick appropriate win messages, etc. +The `show-name-tags` attribute specifies who can see player name tags, this only applies to players, observers will always see all name tags.
- - - - - - - - - - - - - - - - - - - - - - -
Teams ElementDescriptionValue
- - The teams node, containing all the individual teams.
Sub-elements - -
- - A single team node containing the teams name. - String -
+ | Element | Description | + |---|---| + | ` ` | The teams node, containing all the individual teams. | + + | Sub-elements || Value | + |---|---|---| + | ` ` | A single team node containing the team's name. | String |
##### Team Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValue
- - - Unique identifier used to reference teams from other places in the - XML. - - String -
- - The team's display color. - - Chat Color Name - -
- - - The color for control points and blocks given to the team using{" "} - . - - Dye Color Name -
- - - The team's name is plural, used in status messages. -
- e.g., instead of{" "} - -
- true/false -
- - - Specify who can see the name tags of players in this team. -
- Accepts: - , , or -
- Enum -
- - Required amount of players for this team. - Number -
- - - Maximum players for this team, normal players cannot join the team - once it reaches this size. -
- - Premium players may join over this limit until{" "} - is reached. - -
- Number -
- - - Maximum players hard limit for this team, nobody can join the team - once this limit is reached. -
- - Must be greater than the defined . - -
- Number -
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `id` | Unique identifier used to reference this team from other places in the XML. | String | + | `color` | The team's display color. | [Chat Color Name](/docs/reference/misc/formatting#chat-colors) | + | `dye-color` | Override the color used for items given to the team using `team-color="true"` and control points. | [Dye Color Name](/docs/reference/misc/colors) | + | `plural` | The team's name is plural, used in status messages.
*e.g., `Defenders win!` instead of `Defenders wins!`.* | true/false | + | `show-name-tags` | Specify who can see the name tags of players in this team.
*Observers will always see all name tags.* | `true`
`false`
`allies`
`enemies` | `true` | + | `min` | The minimum amount of players required in this team to start a match. | Number | + | `max` | The maximum players for this team, normal players cannot join the team once it reaches this size.
*Premium players may join over this limit until `max-overfill` is reached.* | Number | + | `max-overfill` | Player overfill — premium players cannot join the match once it reaches this size.
*Must be greater than the defined `max`.* | Number | 25% over `max` value |
+### Examples + ```xml Red @@ -175,4 +49,5 @@ It is common for maps to only have 2 teams, although more are possible it usuall ``` -The total maximum number of players in the example given above is 100, however, the max overfill will allow up to 140 players. Servers currently have a player limit of 150, so 100 players in total would allow 50 observers, or 10 observers if teams are at max overfill. +The total maximum number of players in the example given above is 100, however, the max overfill will allow up to 140 players. +Servers currently have a player limit of 150, so 100 players in total would allow 50 observers, or 10 observers if teams are at max overfill. diff --git a/docs/modules/gear/classes.mdx b/docs/modules/gear/classes.mdx index d957cb8e..2a333642 100644 --- a/docs/modules/gear/classes.mdx +++ b/docs/modules/gear/classes.mdx @@ -3,197 +3,51 @@ id: classes title: Classes --- -Classes allow the player to pick a specific class at the beginning of the game which gives them special abilities. Classes can be used on any map type, however care must be taken to balance them properly. Players can then change their class ingame with the `/class` command. +Classes allow the player to pick a specific class at the beginning of the game which gives them special abilities. +Classes can be used on any map type, however care must be taken to balance them properly. +Players can then change their class in game with the `/class` command.
- - - - - - - - - - - - - - - - - - - - - - - -
Classes ElementDescriptionValue/Children
- - A node containing a single class or a group of classes.
Sub-elements - -
- - A single player class. - Class Sub-elements -
+ | Element | Description | + |---|---| + | ` ` | A node containing a single class or a group of classes. | + + | Sub-elements | | Value/Children | + |---|---|---| + | ` ` | A single player class. | Class Sub-elements |
##### Class Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Required - The class's name, must be unique. - - String -
- - - Description shown in the command. - - String -
- - Description shown in class picker menu. - String -
- - - Required - Icon shown in the class picker menu. - - - Single Material Pattern - -
- - - Required - The "group" of classes. - - Class Family Name -
- - - If set to , players can't change the class mid-match, - instead they must rejoin. - - true/false - false
- - - Specify if the class is the default class for new players. -
- - One class must be set as the default. - -
- true/false - false
- - - If set to , only operators can use this class. - - true/false - false
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `name` | RequiredThe class's name, must be unique. | String | + | `description` | The description shown in the `/classes` command. | String | + | `longdescription` | The description shown in class picker menu. | String | + | `icon` | RequiredThe icon shown in the class picker menu. | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) | + | `family` | RequiredThe "group" of classes. | [Class Family Name](/docs/modules/gear/classes) | + | `sticky` | If set to `true`, players cannot change the class mid-match, instead they must rejoin. | true/false | false | + | `default` | Specify if the class is the default class for new players.
*One class must be set as the default.* | true/false | false | + | `restrict` | If set to `true`, only operators can use this class. | true/false | false |
##### Class Sub-elements
- - - - - - - - - - - - - - - -
ElementDescriptionType
- - The kit given to players using this class. - Kits -
+ | Element | Description | Value | + |---|---|---| + | `` | The kit given to players using this class. | [Kits](/docs/modules/gear/kits) |
-_Example_ +### Examples ```xml - damage resistance - speed + damage resistance + speed diff --git a/docs/modules/gear/crafting.mdx b/docs/modules/gear/crafting.mdx index fb7576fd..c5a84b29 100644 --- a/docs/modules/gear/crafting.mdx +++ b/docs/modules/gear/crafting.mdx @@ -3,157 +3,43 @@ id: crafting title: Crafting Recipes --- -The crafting module allows custom shaped and shapeless crafting recipes and smelting products. Vanilla recipes for a specific material can also be disabled to prevent crafting of that material except with the new recipe. +The crafting module allows custom shaped and shapeless crafting recipes and smelting products. +Vanilla recipes for a specific material can also be disabled to prevent crafting of that material except with the new recipe. #### Crafting Element
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - Node containing the custom crafting recipes.
Sub-elements - -
- - A shaped crafting recipe node. - - Shaped Recipe Sub-elements - -
- - A custom shapeless recipe node. - - Shapeless Recipe Sub-elements - -
- - A custom smelting recipe. - - Smelt Recipe Sub-elements - -
- - Disable all vanilla recipes for this item. - - Single Material Pattern - -
+ | Element | Description | + |---|---| + | ` ` | Node containing the custom crafting recipes. | + + | Sub-elements || Value/Children | + |---|---|---| + | `` | A shaped crafting recipe node. | Shaped Recipe Sub-elements | + | `` | A custom shapeless recipe node. | Shapeless Recipe Sub-elements | + | `` | A custom smelting recipe. | Smelt Recipe Sub-elements | + | `` | Disable all vanilla recipes for this item. | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) | +
##### Recipe Attributes
- - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Disable all vanilla recipes for the same item. This is just a - convenient alternative to the element. - - true/false - false
- - Override all vanilla recipes resulting in this material. - true/false - false
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `override` | Disable all vanilla recipes for the same item. This is a convenient alternative to the `` element. | true/false | false | + | `override-all` | Override all vanilla recipes resulting in this material. | true/false | false |
##### Recipe Sub-elements
- - - - - - - - - - - - - - - -
ElementDescriptionType
- - - Required{" "} - - Unique - {" "} - The result of this recipe, only one result is allowed per recipe. -
- Accepts all attributes and sub-elements of a normal kit item. -
- Item -
+ | Element | Description | Value | + |---|---|---| + | `` | RequiredUniqueThe result of this recipe, only one result is allowed per recipe.
*Accepts all attributes and sub-elements of a normal kit item.* | [Item](/docs/modules/gear/items) |
-### Shaped Recipes +## Shaped Recipes Shaped recipes require that their items are arranged in a specific location on the crafting grid. @@ -166,124 +52,33 @@ All columns in a shaped recipe need to be the same width. Blank ingredient spots are specifed with a dot `.`
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - A shaped crafting recipe node. -
Sub-elements - -
- - - Required{" "} - - Unique - {" "} - An ingredient used in this recipe. -
- - Only one shape per recipe is allowed. - -
- -
- | - - Required An ingredient - used in this recipe. -
A shaped recipe requires at least one ingredient. -
- - Single Material Pattern - -
+ | Element | Description | + |---|---| + | ` ` | A shaped crafting recipe node. | + + | Sub-elements | | Value/Children | + |---|---|---| + | `` | RequiredUniqueAn ingredient used in this recipe.
*Only one shape per recipe is allowed.* | `` | + | ``|`` | Required An ingredient used in this recipe.
*A shaped recipe requires at least one ingredient.* | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) |
##### Shape Sub-elements
- - - - - - - - - - - - - - - -
ElementDescriptionValue
- - A row in the recipe crafting shape. - Row String -
+ | Element | Description | Value | + |---|---|---| + | `` | A row in the recipe crafting shape. | Row String |
##### Shaped Ingredient Attributes
- - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Required - The symbol used to specify this ingredients grid location in the recipe. - - Single Character - A-Z 0-9
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `symbol` | RequiredThe symbol used to specify this ingredients grid location in the recipe. | Single Character | `A-Z 0-9` |
-_Example_ +### Examples ```xml @@ -312,85 +107,29 @@ _Example_ ``` -### Shapeless Recipes +## Shapeless Recipes Unlike a shaped recipe, shapeless recipes do not require that their items are arranged in any specific way in the crafting grid.
- - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - A custom shapeless recipe node. -
Sub-elements - -
- | - - Required - An ingredient used in this recipe. -
A shapeless recipe requires at least one ingredient. -
- - Single Material Pattern - -
+ | Element | Description | + |---|---| + | ` ` | A custom shapeless recipe node. | + + | Sub-elements || Value/Children | + |---|---|---| + | ``|`` | RequiredAn ingredient used in this recipe.
*A shapeless recipe requires at least one ingredient.* | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) |
#### Shapeless Ingredient attributes
- - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Amount of items of this type required for this recipe. -
- - Items must be in separate slots, not stacked, for this recipe to work. - -
- Number - 1-9
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `amount` | Amount of items of this type required for this recipe.
*Items must be in separate slots, not stacked, for this recipe to work.* | Number | `1-9` |
-_Example_ +### Examples ```xml @@ -402,57 +141,21 @@ _Example_ ``` -### Smelt Recipes +## Smelt Recipes Smelt recipes specify what a material gets smelted into in a furnace.
- - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - A custom smelting recipe. -
Sub-elements - -
- | - - Required - - Unique - An ingredient used in this recipe. -
A smelt recipe only accepts one ingredient. -
- - Single Material Pattern - -
+ | Element | Description | + |---|---| + | ` ` | A custom smelting recipe. | + + | Sub-elements || Value/Children | + |---|---|---| + | ``|`` | RequiredUniqueAn ingredient used in this recipe.
*A smelt recipe only accepts one ingredient.* | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) |
-_Example_ +### Examples ```xml diff --git a/docs/modules/gear/item-mods.mdx b/docs/modules/gear/item-mods.mdx index 21f65380..e4a7a627 100644 --- a/docs/modules/gear/item-mods.mdx +++ b/docs/modules/gear/item-mods.mdx @@ -3,150 +3,50 @@ id: item-mods title: Item Mods --- -The item mods module allows modification of all items present on a map or created during the match. This can be used, for example, to make all gold swords unbreakable or give all items of a specific type a custom name. +The item mods module allows modification of all items present on a map or created during the match. +This can be used, for example, to make all gold swords unbreakable or give all items of a specific type a custom name. #### Item-Mod Element
- - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - - The item mods node, containing all the individual modification rules. - -
Sub-elements - -
- - A single item modification rule. - Rule Sub-Elements -
+ | Element | Description | + |---|---| + | ` ` | The item mods node, containing all the individual modification rules. | + + | Sub-elements || Value/Children | + |---|---|---| + | ` ` | A single item modification rule. | Rule Sub-Elements |
-### Rule Sub-Elements +#### Rule Sub-Elements
- - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - - Required - - Unique - - The material or materials to modify. - - Match Sub-Elements -
- - - Required - - Unique - - The attributes to modify on the specified material(s). - - Item Meta -
+ | Element | Description | Value/Children | + |---|---|---| + | ` ` | RequiredUniqueThe material or materials to modify. | Match Sub-Elements | + | ` ` | RequiredUniqueThe attributes to modify on the specified material(s). | [Item Meta](#item-meta) |
-### Match Sub-Elements +#### Match Sub-Elements
- - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue/Children
- - An individual material to match. - - Single Material Pattern - -
- - Match all materials.
- - Match all block type materials.
+ | Element | Description | Value/Children | + |---|---|---| + | ` ` | An individual material to match. | [Single Material Pattern](/docs/reference/items/inventory#material_matchers) | + | `` | Match all materials. | + | `` | Match all block type materials. |
-_Examples_ +### Examples ```xml - Iron Sword + iron sword - Knockback + knockback @@ -156,10 +56,10 @@ _Examples_ - Bow + bow - Infinity + infinity @@ -168,210 +68,34 @@ _Examples_ ## Item Meta The following attributes and sub-elements can be used with the `` element to modify an item or block. -While these are the same attributes as used in item kits -the modify element does not currently support the projectile or grenade attributes. +While these are the same attributes as used in item kits, the modify element does not currently support the projectile or grenade attributes. -### Modify Sub-Elements +#### Modify Sub-Elements
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue
- - This item's enchantments. - Enchantments -
- - A custom potion effect, only applies for potion items. - Potion Effect -
- - Custom attributes for this item. - Attribute Modifiers -
- - The materials that can be mined with the item. - Can Destroy -
- - Materials that the item can be placed on. - Can Place On -
+ | Element | Description | Value | + |---|---|---| + | ` ` | This item's enchantments. | [Enchantments](/docs/modules/gear/items#enchantments) | + | ` ` | A custom potion effect, only applies for potion items. | [Potion Effect](/docs/modules/gear/potions) | + | ` ` | Custom attributes for this item. | [Attribute Modifiers](/docs/modules/gear/items#attribute-modifiers) | + | ` ` | The materials that can be mined with the item. | [Can Destroy](/docs/modules/gear/items#can-destroy--can-place-on) | + | ` ` | The materials that the item can be placed on. | [Can Place On](/docs/modules/gear/items#can-destroy--can-place-on) |
-### Modify Attributes +#### Modify Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - The item's display name that appears when it is selected. - String -
- - Custom text that appears when a player hovers over the item in the inventory. - String -
- - - Specify if this item is unbreakable and hides the durability bar in - Minecraft. - - true/false - false
- - - Leather armor color as a hexadecimal color. -
- - Only applies to leather armor items. - -
- Hex Color -
- - - Potion type -
- - Only applies to potion items. - -
- - Potion ID - -
- - Show enchantments in the item tooltip. - true/false - true
- - Show attribute modifiers in the item tooltip. - true/false - true
- - Show the unbreakable property in the item tooltip. - true/false - true
- - Show the breakable block list in the item tooltip. - true/false - true
- - Show the blocks the item can be placed on in the item tooltip. - true/false - true
- - Show various other things in the item tooltip. - true/false - true
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `name` | The item's display name that appears when it is selected. | String | + | `lore` | Custom text that appears when a player hovers over the item in the inventory. | String | + | `unbreakable` | Specify if this item is unbreakable and hides the durability bar in Minecraft. | true/false | false | + | `color` | Leather armor color as a hexadecimal color. `RRGGBB`
*Only applies to leather armor items.* | Hex Color | + | `potion` | Potion type.
*Only applies to potion items.* | [Potion ID](https://minecraft.wiki/w/Potion#Data_values) | + | `show-enchantments` | Show enchantments in the item tooltip. | true/false | true | + | `show-attributes` | Show attribute modifiers in the item tooltip. | true/false | true | + | `show-unbreakable` | Show the unbreakable property in the item tooltip. | true/false | true | + | `show-can-destroy` | Show the breakable block list in the item tooltip. | true/false | true | + | `show-can-place-on` | Show the blocks the item can be placed on in the item tooltip. | true/false | true | + | `show-other` | Show various other things in the item tooltip. | true/false | true |
diff --git a/docs/modules/gear/items.mdx b/docs/modules/gear/items.mdx index 170d1be3..439eb7dd 100644 --- a/docs/modules/gear/items.mdx +++ b/docs/modules/gear/items.mdx @@ -7,365 +7,55 @@ The item elements are used to place items into a player's inventory or armor slo Items have many different attributes, and some may only apply to certain item types; such as the leather armor `color` attribute. -Item names can be found with the [material finder](/docs/reference/items/inventory#material_finder) +Item names can be found with the [Material Finder](/docs/reference/items/inventory#material_finder) or on the [bukkit docs - Material](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) #### Item Element
- - - - - - - - - - - - - -
ElementDescription
- - A single item stack.
+ | Element | Description | + |---|---| + | `` | A single item stack. |
### Sub-Elements
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescription
- - - Enchantment -
- - - Stored Enchantment (for enchanted books) -
- - - Potion Effect (only works on potion items) -
- - - Attribute Modifier -
- - - - - {" "} - Materials that can be mined with the item -
- - - - - {" "} - Materials that the item can be placed on -
+ | Element | Description | + |---|---| + | ` `
` ` | [Enchantment](#enchantments) | + | ` ` | [Potion Effects](#potions) (only works on potion items) | + | ` ` | [Attribute Modifier](/docs/reference/items/attributes) | + | ` ` | Materials that can be mined with the item | + | ` ` | Materials that the item can be placed on |
### Item Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Required - The item's material name. - - - Material Name - -
- - - Slot where the item will be placed in the player's inventory. -
- - If no slot is specified the item will be merged into the player's - inventory. - -
- Inventory Slot -
- - - The amount of items. Blocks can be given an infinite amount by using - . - - Number - 1
- - - The item's damage value, used for items such as birch logs, red wool, potion - types, etc. - - Number - 0
- - - Specify if this item is unbreakable and hides the durability bar in - Minecraft. - - true/false - false
- - The item's display name that appears when it is selected. - Formatted Text -
- - Custom text that appears when a player hovers over the item in the inventory. - Formatted Text -
- - - Leather armor color as a hexadecimal color. -
- - Only applies to leather armor items. - -
- Hex Color -
- - - Automatically applies the team's{" "} - Dye Color to - colored blocks -  (wool, stained glass, etc). - - true/false - false
- - - - - - Projectile explodes on impact. -
- - Works with ender pearls, snowballs, eggs, and arrows. - -
- true/false - false
- - The power of the grenade explosion on impact. - Decimal - 1.0
- - Explosion creates fire. - true/false - false
- - Explosion destroys blocks. - true/false - true
- - Prevent this item from being moved from the player's inventory. - true/false - false
- - Make this item shoot a custom projectile. - Projectile ID -
- - Show enchantments in the item tooltip. - true/false - true
- - Show attribute modifiers in the item tooltip. - true/false - true
- - Show the unbreakable property in the item tooltip. - true/false - true
- - Show the breakable block list in the item tooltip. - true/false - true
- - Show the blocks the item can be placed on in the item tooltip. - true/false - true
- - Show various other things in the item tooltip. - true/false - true
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `material` | RequiredThe item's material name. | [Material Name](/docs/reference/items/inventory#material_matchers) | + | `slot` | Slot where the item will be placed in the player's inventory.
*If no slot is specified, the item will be merged into the player's inventory.* | [Inventory Slot](/docs/reference/items/inventory) | + | `amount` | The amount of items. Blocks can be given an infinite amount by using `oo`. | Number | 1 | + | `damage` | The item's damage value, used for items such as birch logs, red wool, potion types, etc. | Number | 0 | + | `unbreakable` | Specify if this item is unbreakable and hides the durability bar in Minecraft. | true/false | false | + | `name` | The item's display name that appears when it is selected. | Formatted Text | + | `lore` | Custom text that appears when a player hovers over the item in their inventory. | Formatted Text | + | `color` | Leather armor color as a hexadecimal color. `RRGGBB`
*Only applies to leather armor items.* | Hex Color | + | `team-color` | Automatically applies the team's [Dye Color](/docs/modules/format/teams#team-attributes) to colored blocks *(wool, stained glass, etc)*. | true/false | false | + | `grenade` | Projectile explodes on impact.
*Works with ender pearls, snowballs, eggs, and arrows.* | true/false | false | + | `grenade-power` | The power of the grenade explosion on impact. | Decimal | 1.0 | + | `grenade-fire` | Toggle if grenade explosion creates fire. | true/false | false | + | `grenade-destroy` | Toggle if grenade explosion destroys blocks. | true/false | true | + | `prevent-sharing` | Prevent this item from being moved from the player's inventory. | true/false | false | + | `projectile` | Make this item shoot a custom projectile. | [Projectile ID](/docs/modules/gear/projectiles) | + | `show-enchantments` | Show enchantments in the item tooltip. | true/false | true | + | `show-attributes` | Show attribute modifiers in the item tooltip. | true/false | true | + | `show-unbreakable` | Show the unbreakable property in the item tooltip. | true/false | true | + | `show-can-destroy` | Show the breakable block list in the item tooltip. | true/false | true | + | `show-can-place-on` | Show the blocks the item can be placed on in the item tooltip. | true/false | true | + | `show-other` | Show various other things in the item tooltip. | true/false | true |
Items can be give custom names and lore with the `name` and `lore` attributes. @@ -393,123 +83,26 @@ A player's skin data can be found by using `https://sessionserver.mojang.com/ses ##### Head Attributes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - The head's display name. - String -
- - - - Property - - Required - UUID used to identify the player this head belongs to. - - String -
- - - - Property - - Required - The skin data used for this head. - - String -
+ | Attribute | Description | Value | + |---|---|---| + | `name` | The head's display name. | String | + | `uuid` | PropertyRequiredThe UUID used to identify the player this head belongs to. | String | + | `skin` | PropertyRequiredThe skin data used for this head. | Base64 |
##### Head Sub-elements
- - - - - - - - - - - - - - - - - - - - -
ElementDescriptionValue
- - - - Property - - Required - UUID used to identify the player this head belongs to. - - String -
- - - - Property - - Required - The skin data used for this head. - - String -
+ | Element | Description | Value | + |---|---|---| + | `` | PropertyRequiredThe UUID used to identify the player this head belongs to. | String | + | `` | PropertyRequiredThe skin data used for this head. | Base64 |
### Armor -Armor slots have predefined tags to make it easier to give them to a player. They accept all of the properties of normal items and may have their own special attributes. +Armor slots have predefined tags to make it easier to give them to a player. +They accept all of the properties of normal items and may have their own special attributes. ```xml @@ -521,30 +114,9 @@ Armor slots have predefined tags to make it easier to give them to a player. The ##### Armor Attributes
- - - - - - - - - - - - - - - - - -
AttributeDescriptionValueDefault
- - - Prevent this armor item from being removed from the armor slot in any way. - - true/false - false
+ | Attribute | Description | Value | Default | + |---|---|---|---| + | `locked` | Prevent this armor item from being removed from the armor slot in any way. | true/false | false |
Enchanting, naming, or giving armor lore works the same way as with items. @@ -593,31 +165,15 @@ However, if any custom effects are present, they will completely replace the def By default, when a player drinks a potion bottle, the empty bottle is automatically removed from the player's inventory. This behavior can be disabled with the `` tag. -For more details on the `` element, visit [Potion Effects](/docs/modules/gear/potions). Additionally, you can visit [Potions & Effects](/docs/reference/items/potions) for references on potion effects available in Minecraft. +For more details on the `` element, visit [Potion Effects](/docs/modules/gear/potions). +Additionally, you can visit [Potions & Effects](/docs/reference/items/potions) for references on potion effects available in Minecraft. ##### Potion Item Sub-elements
- - - - - - - - - - - - - - - -
ElementDescriptionValue
- - Custom effect - Potion Effect -
+ | Element | Description | Value | + |---|---|---| + | `` | A custom effect. | [Potion Effect](/docs/modules/gear/potions) |
```xml @@ -641,7 +197,8 @@ This feature is enabled by default, but can be disabled with this tag. ### Books -Written books can be created using the book element. The title, author, and individual pages can be formatted with [formatting codes](/docs/reference/misc/formatting). +Written books can be created using the book element. +The title, author, and individual pages can be formatted with [formatting codes](/docs/reference/misc/formatting). All normal item attributes can also be applied to books. Each page in a book can contain a maximum of 13 lines, with approximately 19 characters per line. @@ -650,93 +207,20 @@ Preferably, books should be written in-game to ensure proper formatting and then ##### Book Element
- - - - - - - - - - - -
ElementDescriptionValue
- - - The element containing the books -