From 4c1b28eb8c3bfecb55dd421b6508f56f221a1625 Mon Sep 17 00:00:00 2001 From: tylerswanson2 <31103658+tylerswanson2@users.noreply.github.com> Date: Sun, 7 Jan 2024 21:29:57 -0500 Subject: [PATCH] Add command list --- .../reference/Game Modules/CutsceneModule.md | 4 +- src/content/docs/reference/commands.md | 252 ++++++++++++++++++ src/content/docs/reference/lobby.md | 3 + src/content/docs/reference/queue.md | 3 + 4 files changed, 261 insertions(+), 1 deletion(-) create mode 100644 src/content/docs/reference/commands.md create mode 100644 src/content/docs/reference/lobby.md create mode 100644 src/content/docs/reference/queue.md diff --git a/src/content/docs/reference/Game Modules/CutsceneModule.md b/src/content/docs/reference/Game Modules/CutsceneModule.md index 676ca0f..8fb13b3 100644 --- a/src/content/docs/reference/Game Modules/CutsceneModule.md +++ b/src/content/docs/reference/Game Modules/CutsceneModule.md @@ -1,3 +1,5 @@ --- title: CutsceneModule ---- \ No newline at end of file +--- +`CutsceneModule` allows cutscenes to be defined and played. A *cutscene* is a set of points that, when played, will smoothly animate the player's position between them. +> ⚠️ This module is **experimental**, and its behavior is likely to change over time. diff --git a/src/content/docs/reference/commands.md b/src/content/docs/reference/commands.md new file mode 100644 index 0000000..1fd78bc --- /dev/null +++ b/src/content/docs/reference/commands.md @@ -0,0 +1,252 @@ +--- +title: Server Commands +--- +Just like in vanilla Minecraft, the [BlueDragonMC/Server](/reference/subprojects/server-core/) Minestom instance relies on commands for important interactions. Each command has its own permission, and **no permissions are granted by default**. This document references a few different permission levels, but these are for illustrative purposes only, and do not represent specific requirements. + +## Selectors +Just like on vanilla servers, BlueDragon supports the use of the following selectors in place of player names: +- `@p`: Selects the nearest player to the command execution. Because the server does not support command blocks, this is effectively the same as `@s`. +- `@s`: Selects the player who executed the command. +- `@e`: Selects all entities on the server. This only works for commands that support entities (most do not). +- `@a`: Selects all players on the server. +- `@r`: Selects a single random player. + +## Command List + +> ℹ️ This list includes every command included in BlueDragon's Minestom server. Commands from the proxy server are not listed. + +### `/ban` +> ⚠️ Recommended permission level: **Moderator** + +``` +Usage: /ban +``` + +Immediately removes the specified player from the server and records the ban in the database. +As long as the ban is active, the player will not be allowed to log in. +Even after the ban is lifted, it will still remain in the database as part of the player's punishment history. + +The duration is formatted using several time units. For example, `8d6h30m` is equal to a duration of "8 days, 6 hours, and 30 minutes." Years, days, hours, minutes, and seconds are supported. + +### `/fly` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /fly [player] +``` + +Toggles fly mode for the specified player, or yourself. + +### `/game` +> ⚠️ Recommended permission level: **Administrator** + +This command has the following subcommands: +- `/game create `: Tells the [queue](../queue/) to create an instance of the specified game. +- `/game end`: Calls `WinnerDeclaredEvent` with no winner, and ends the game. +- `/game join `: Sends you to a game based on its Game ID. +- `/game list`: Displays the game ID, game type, map name, and player count for each game. +- `/game module list`: Lists all modules loaded in your current game. Hover over the module's name to view its `toString()`. +- `/game module unload `: Removes the module from your current game. Modules are given by class name. + +### `/gamemode` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /gamemode [player] +``` + +Changes the game mode of the specified player, or yourself. + +This command has the following aliases: +- `/gm`: Same as `/gamemode` +- `/gmc [player]`: Same as `/gamemode creative [player]` +- `/gms [player]`: Same as `/gamemode survival [player]` +- `/gma [player]`: Same as `/gamemode adventure [player]` +- `/gmsp [player]`: Same as `/gamemode spectator [player]` + +### `/give` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /give [player] [amount] +``` + +Gives the `player` the `item` with a quantity of `amount`. `player` defaults to yourself and `amount` defaults to `1`. + +### `/instance` +> ⚠️ Recommended permission level: **Administrator** + +This command has the following subcommands: +- `/instance list`: Lists all instances on the current server. +- `/instance join `: Sends you to the instance with the given UUID. +- `/instance remove `: Removes the instance with the given UUID. + +### `/join` +> ℹ️ Recommended permission level: **Everyone** + +``` +Usage: /join [mode] [mapName] +``` + +Tells the [Queue](../queue/) to place you in a game with the given parameters. + +### `/kick` +> ⚠️ Recommended permission level: **Moderator** + +``` +Usage: /kick +``` + +Instantly removes the specified player from the server, displaying a message that includes the specified reason. +The kick is also recorded in the database and included with the player's punishment history. + +### `/kill` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /kill [player] +``` + +Immediately kills the specified player, or yourself. + +### `/leaderboard` +> ℹ️ Recommended permission level: **Everyone** + +``` +Usage: /leaderboard +``` + +Displays the top 10 entries in the leaderboard. Leaderboards are given by `statistic key`. + +### `/list` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /list +``` + +Lists all instances by UUID and the players on those instances. + +### `/lobby` +> ℹ️ Recommended permission level: **Everyone** + +Tells the [queue](../queue/) to send you to a [lobby](../lobby/). + +### `/msg` +> ℹ️ Recommended permission level: **Everyone** + +``` +Usage: /msg +``` + +Sends a private message to another player. If the players are on the same server, the message is sent locally. Otherwise, the message is sent through Puffin. + +### `/mute` +> ⚠️ Recommended permission level: **Moderator** + +``` +Usage: /mute +``` + +Immediately records a mute for the specified player in the database. +As long as the mute is active, the player will not be allowed to send messages in the chat. +Even after the mute is lifted, it will still remain in the database as part of the player's punishment history. + +The duration is formatted using several time units. For example, `8d6h30m` is equal to a duration of "8 days, 6 hours, and 30 minutes." Years, days, hours, minutes, and seconds are supported. + +### `/pardon` +> ⚠️ Recommended permission level: **Moderator** + +``` +Usage: /pardon +``` + +Instantly revokes a punishment, reversing its effect on the player. +The punishment will not be removed from the player's punishment history. +It is recommended to specify the punishment by ID, rather than by player, in case the player has several punishments active. + +### `/party` +> ℹ️ Recommended permission level: **Everyone** + +The *party system* allows players to easily join the same game with their friends. Parties are managed by Puffin, so they work across servers. The `/party` command is used to manage the player's party. + +This command has the following subcommands: +- `/p accept `: Accepts a party invitation from `player`. +- `/p chat `: Sends a message to everyone in the party. +- `/p invite `: Invites a player to the party. +- `/p kick `: Removes a player from the party. Only the party leader can use this command. +- `/p list`: Displays a list of all players in the party. +- `/p transfer `: Changes the party leader to `player`. Only the current party leader can use this command. +- `/p warp`: Sends everyone in the party to your instance. Only the party leader can use this command. + +### `/ping` +> ℹ️ Recommended permission level: **Everyone** + +``` +Usage: /ping +``` + +Displays your current ping to the server. + +### `/playsound` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /playsound [position] [volume] [pitch] +``` + +Plays a specific sound to the given player, almost identical to the vanilla `/playsound` command. + +### `/setblock` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /setblock +``` + +Changes the block at `position` to `block`. + +### `/stop` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /stop +``` + +Immediately shuts down the Minestom server you are currently on. In most cases, players will be moved to another available server. + +### `/tp` +> ⚠️ Recommended permission level: **Administrator** + +``` +Usage: /tp > [player|] +``` + +If there are two arguments, and the first is a player, this player will be teleported to the position given by the second argument. +If there is one argument, the player that ran the command is teleported to the position given by the argument. +In any other case, the syntax is invalid. + +### `/viewpunishment` +> ⚠️ Recommended permission level: **Moderator** + +``` +Usage: /viewpunishment +``` + +Displays detailed information about the punishment with the specified punishment ID. + +This command has the following aliases: +- `/vp `: Same as `/viewpunishment ` + +### `/viewpunishments` +> ⚠️ Recommended permission level: **Moderator** + +``` +Usage: /viewpunishments +``` + +Displays a list of all punishments associated with the player, even if they are no longer active. +To see more detailed information about a punishment, use `/viewpunishment `. + +This command has the following aliases: +- `/vps `: Same as `/viewpunishments ` \ No newline at end of file diff --git a/src/content/docs/reference/lobby.md b/src/content/docs/reference/lobby.md new file mode 100644 index 0000000..ccd1aef --- /dev/null +++ b/src/content/docs/reference/lobby.md @@ -0,0 +1,3 @@ +--- +title: Lobby System +--- \ No newline at end of file diff --git a/src/content/docs/reference/queue.md b/src/content/docs/reference/queue.md new file mode 100644 index 0000000..9d065c6 --- /dev/null +++ b/src/content/docs/reference/queue.md @@ -0,0 +1,3 @@ +--- +title: Queue System +--- \ No newline at end of file