diff --git a/docs/README.md b/docs/README.md
index ce8fc3b4..97a233ed 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -18,6 +18,6 @@ features:
- title: Automation
details: Create bots to do automated tasks
- title: Supported Versions
- details: 1.4 - 1.20.4
+ details: 1.4.6 - 1.21.11
footer: Made by MCC Team with ❤️
---
diff --git a/docs/guide/README.md b/docs/guide/README.md
index 0ed618bc..1c3cac0b 100644
--- a/docs/guide/README.md
+++ b/docs/guide/README.md
@@ -24,9 +24,9 @@ title: About & Features
## About
-**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source **Minecraft** TUI client for **Java edition** that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game.
+**Minecraft Console Client (MCC)** is a lightweight, cross-platform, open-source **Minecraft** TUI client for **Java Edition**. It lets you connect to Minecraft Java servers, send commands, and receive text messages without launching the main game.
-It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
+It also includes built-in automation for administration and utility work, plus an extensible C# API for creating bots and runtime scripts.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
@@ -57,7 +57,7 @@ It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Mi
- [Terrain Traversing](usage.md#move)
- Entity Handling
-_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
+_Note: Some of these features are disabled by default. You need to enable them in the configuration file, and some also require additional setup._
## Why Minecraft Console Client?
@@ -74,7 +74,7 @@ _NOTE: Some of mentioned features are disabled by default and you will have to t
## Quick Intro
-Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
+If you do not want to read through the documentation right away, the community has made a few short introduction videos for **Minecraft Console Client**.
### The list of the tutorials:
@@ -90,7 +90,7 @@ Using Commands, Scripts and other features:
## Getting Help
-MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
+MCC has an active community, and the GitHub Discussions section is the best place to ask for help.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
@@ -101,13 +101,13 @@ Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to
## Bugs, Ideas, Feature Requests
-Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
+Bug reports, ideas, and feature requests all go through the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client).
-Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
+Before opening a new issue, search both the documentation and the `Issues` section to avoid duplicates.
-If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
+If you do not find anything similar, click `New issue` and choose the appropriate template.
-If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
+If you are reporting a bug, be as specific as possible. Explain how to reproduce it, attach screenshots and logs, and make sure debug logging is enabled before collecting them.
### Before submitting
@@ -122,20 +122,22 @@ If you want the repeatable agent workflow used by maintainers, start with [AI-As
### Inventory, Terrain and Entity Handling
-Inventory handling is currently not supported in versions: `1.4.6 - 1.9` (*The inventory handling code is in the place, but we're missing Item Palettes, on which we're working.*)
+MCC currently supports Minecraft versions `1.4.6` through `1.21.11`.
-Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
+Feature support still depends on protocol version:
-Entity handling is currently not supported in versions: `1.4.6 - 1.7`
+- Inventory handling is supported on `1.8+`.
+- Terrain handling is supported on `1.7.2+`.
+- Entity handling is supported on `1.8+`.
-There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
+These features may lag behind brand-new Minecraft releases when Mojang changes the protocol or registries in a major way.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
### Path-Finding and Physics
Currently the path-finding and physics have some limitations, those are:
-- Path finding under slabs is not supported (currently being worked on, partialy complete but not avaliable in the main branch)
+- Path finding under slabs is not supported
- Swimming is not supported yet
- Jumping is not supported yet
- Knockback is not supported yet
@@ -197,7 +199,7 @@ We remind you that **you may get banned** by your server for using this program.
Minecraft Console Client is a totally free of charge, open source project.
-The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
+The source code is available at the [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0.
diff --git a/docs/guide/chat-bots.md b/docs/guide/chat-bots.md
index 90fbee06..0dcf7965 100644
--- a/docs/guide/chat-bots.md
+++ b/docs/guide/chat-bots.md
@@ -17,7 +17,6 @@ redirectFrom:
Warning
-**Recently we have changed the configuration format from INI to TOML, this part of the documentation has only been partially updated, it's work in progress, for the time being please refer to the `MinecraftClient.ini` for setting names, the descriptions and options should be up to date in most cases, but not guaranteed.**
@@ -29,30 +28,32 @@ redirectFrom:
## List of built-in Chat Bots
-- [Alerts](#alerts)
-- [Anti AFK](#anti-afk)
-- [Auto Attack](#auto-attack)
-- [Auto Craft](#auto-craft)
-- [Auto Dig](#auto-dig)
-- [Auto Drop](#auto-drop)
-- [Auto Eat](#auto-eat)
-- [Auto Fishing](#auto-fishing)
-- [Auto Relog](#auto-relog)
-- [Auto Respond](#auto-respond)
-- [Chat Log](#chat-log)
-- [Discord Bridge](#discord-bridge)
-- [Farmer](#farmer)
-- [Follow Player](#follow-player)
-- [Hangman](#hangman)
-- [Mailer](#mailer)
-- [Map](#map)
-- [PlayerList Logger](#playerlist-logger)
-- [Remote Control](#remote-control)
-- [Replay Mod](#replay-mod)
-- [Script Scheduler](#script-scheduler)
-- [Telegram Bridge](#telegram-bridge)
-- [Items Collector](#items-collector)
-- [WebSocket](#websocket-chat-bot)
+- [Chat Bots](#chat-bots)
+ - [About](#about)
+ - [List of built-in Chat Bots](#list-of-built-in-chat-bots)
+ - [Alerts](#alerts)
+ - [Anti AFK](#anti-afk)
+ - [Auto Attack](#auto-attack)
+ - [Auto Craft](#auto-craft)
+ - [Auto Dig](#auto-dig)
+ - [Auto Drop](#auto-drop)
+ - [Auto Eat](#auto-eat)
+ - [Auto Fishing](#auto-fishing)
+ - [Auto Relog](#auto-relog)
+ - [Auto Respond](#auto-respond)
+ - [Chat Log](#chat-log)
+ - [Discord Bridge](#discord-bridge)
+ - [Farmer](#farmer)
+ - [Follow player](#follow-player)
+ - [Hangman](#hangman)
+ - [Mailer](#mailer)
+ - [Map](#map)
+ - [PlayerList Logger](#playerlist-logger)
+ - [Remote Control](#remote-control)
+ - [Replay Capture](#replay-capture)
+ - [Script Scheduler](#script-scheduler)
+ - [Telegram Bridge](#telegram-bridge)
+ - [Items Collector](#items-collector)
## Alerts
@@ -347,7 +348,7 @@ redirectFrom:
To enable it, set `Custom` (boolean) to `true` and change `value` (double) to your preferred value (eg. `1.5`).
- By the default, this is disabled and the MCC calculates it based on the server TPS.
+ By default, this is disabled and MCC calculates it based on the server TPS.
- **Format:** `Cooldown_Time = { Custom = , value = }`
@@ -2576,70 +2577,3 @@ redirectFrom:
- **Default:** `true`
-## WebSocket Chat Bot
-
-- **Description:**
-
- This chat bot allows you to remotely execute commands on the MCC and make Chat Bots in other programming languages over Web Socket.
-
- You can make your own library to do this, or use the reference implementation one which has been writen in TypeScript/JavaScript: [MCC.js](https://github.com/milutinke/MCC.js)
-
- If you want to write your own library, you can follow this guide on the protocol specification and avaliable events and commands: [WebSocket Chat Bot Guide](websocket/README.md)
-
-- **Settings:**
-
- **Section:** **`ChatBot.WebSocketBot`**
-
- #### `Enabled`
-
- - **Description:**
-
- This setting specifies if the Web Socket chat bot is enabled.
-
- - **Available values:** `true` and `false`.
-
- - **Type:** `boolean`
-
- - **Default:** `false`
-
- #### `Ip`
-
- - **Description:**
-
- The IP address that Websocket server will be bound to.
-
- - **Type:** `string`
-
- - **Default:** `127.0.0.1` (localhost)
-
- #### `Port`
-
- - **Description:**
-
- The Port that Websocket server will be bound to.
-
- - **Type:** `number`
-
- - **Default:** `8043`
-
- #### `Password`
-
- - **Description:**
-
- A password that will be used to authenticate on thw Websocket server
-
- **It is recommended to change the default password and to set a strong one**
-
- - **Type:** `string`
-
- - **Default:** `wspass12345`
-
- #### `DebugMode`
-
- - **Description:**
-
- This setting is for developers who are developing a library that uses this chat bot to remotely execute procedures/commands/functions.
-
- - **Type:** `boolean`
-
- - **Default:** `false`
\ No newline at end of file
diff --git a/docs/guide/configuration.md b/docs/guide/configuration.md
index b3a67299..c8ce7f92 100644
--- a/docs/guide/configuration.md
+++ b/docs/guide/configuration.md
@@ -7,34 +7,33 @@ redirectFrom:
# Configuration
-**Minecraft Console Client** can be both configured by the [command line parameters](usage.md#command-line-parameters) and the configuration file.
+**Minecraft Console Client** can be configured through both [command-line parameters](usage.md#command-line-parameters) and the configuration file.
-By the default all of the configurations are stored in the configuration file named `MinecraftClient.ini` which is created the first time you run the program, but you also can specify your own configuration file by providing a path to it as a first parameter when starting the MCC, check out [Usage](usage.md#quick-usage-of-mcc-with-examples) for examples.
+By default, MCC stores its settings in `MinecraftClient.ini`, which is created the first time you run the program. You can also pass a custom configuration file path as the first argument when starting MCC. See [Usage](usage.md#quick-usage-of-mcc-with-examples) for examples.
Warning
-**Recently we have changed the configuration format from INI to TOML, the documentation had to be updated. If you spot a mistake, please report it on our Discord or in the repository as an issue.**
## Notes
-- Some settings will be omitted from the documentation due to them being not used often, we do not want documentation to be cluttered, we advise you to manually read through the configuration file, where every setting has a description next to it.
-- Some plugin/bot related settings will be covered in the plugins section, not here
+- Some less common settings are not repeated here. The generated config file contains inline descriptions for every setting.
+- Bot-specific settings are documented in [Chat Bots](chat-bots.md).
## Configuration File
### Format
-The configuration file uses the [TOML format](https://toml.io/en/), all of the options are key-value pairs separated into sections.
+The configuration file uses the [TOML format](https://toml.io/en/). Options are key-value pairs grouped into sections.
-Sections are defined in-between the square brackets (Example: `[This is a section]`), each occurrence of this marks a beginning of a new section.
+Sections are defined between square brackets, for example `[This is a section]`.
-The settings/options are defined as key-value pairs, where the name of the setting and the value are separated by the equals sign `=` (Example: `some-setting=some value`).
+Settings are written as key-value pairs, with the key and value separated by `=`, for example `some-setting = "some value"`.
Lines starting with `#` are comments, they do not have an effect on the configuration of the program, their purpose is purely a descriptive one.
-**To get familiar with all the data types and styles of settings please read the [official TOML documenation](https://toml.io/en/v1.0.0).**
+**For the full syntax and data types, see the [official TOML documentation](https://toml.io/en/v1.0.0).**
Full Example:
@@ -52,7 +51,7 @@ Section_Enabled = true
colors = [ "red", "yellow", "green" ]
[ThirdSection.Subsection]
-Coordinate = { x = 145, y = 64, y = 2045 }
+Coordinate = { x = 145, y = 64, z = 2045 }
```
## Main Section
@@ -107,11 +106,11 @@ Coordinate = { x = 145, y = 64, y = 2045 }
- **Description:**
- This setting is where you define the type of your account: `mojang` or `microsoft`
+ This setting defines the account type: `mojang`, `microsoft`, or `yggdrasil`.
Tip
- **Mojang accounts are going to stop working soon for everyone, they already are not working for some people.**
+ **Use `microsoft` for normal Microsoft accounts. `yggdrasil` is for custom authlib/Yggdrasil servers.**
@@ -159,12 +158,12 @@ Coordinate = { x = 145, y = 64, y = 2045 }
- **Type:** `string`
-- **Default:** `en_gb`
+- **Default:** `en_us`
- **Example:**
```
- Language = "en_gb"
+ Language = "en_us"
```
#### `ConsoleTitle`
@@ -268,7 +267,7 @@ Coordinate = { x = 145, y = 64, y = 2045 }
Tip
- **MCC supports only 1.4.6 - 1.19.2**
+ **Current code support is `1.4.6` through `1.21.11`.**
@@ -286,7 +285,7 @@ Coordinate = { x = 145, y = 64, y = 2045 }
- `no`
- `force`
-- **Default:** `auto`
+- **Default:** `no`
Tip
diff --git a/docs/guide/contibuting.md b/docs/guide/contibuting.md
index c89c5b69..a59279a7 100644
--- a/docs/guide/contibuting.md
+++ b/docs/guide/contibuting.md
@@ -4,11 +4,11 @@ title: Contributing
# Contributing
-At this moment this page needs to be created.
+This page is still being filled in. For now, use the links below for the current contributor workflow.
If you are working with SWE AI agents, start with [AI-Assisted Development](ai-assisted-development.md). It covers the shell setup, local server loop, and the skills in `.skills/`.
-For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
+You can also use the guide in the [GitHub repository wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
@@ -16,12 +16,12 @@ To improve translations for MCC, please visit: [Crowdin - Minecraft Console Clie
**It is recommended to translate `MCC in-app text` first.**
-If you can't find the language you want to translate into, please contact us at Github or Discord to add it.
+If you cannot find the language you want to translate into, contact us on GitHub or Discord and we can add it.
-Github:
https://github.com/MCCTeam/Minecraft-Console-Client
+GitHub:
https://github.com/MCCTeam/Minecraft-Console-Client
Discord:
https://discord.gg/9HPr2EE4C4
## Contributors
-[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).
+[Check out our contributors on GitHub](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).
diff --git a/docs/guide/creating-bots.md b/docs/guide/creating-bots.md
index b5012a3b..6d0f6342 100644
--- a/docs/guide/creating-bots.md
+++ b/docs/guide/creating-bots.md
@@ -14,7 +14,7 @@ title: Creating Chat Bots
Tip
-**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
+**This page covers the basics of the Chat Bot API. For the full surface area, read [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and the example scripts linked below.**
@@ -42,7 +42,7 @@ This introduction assumes that you have the basic knowledge of C#.
Tip
-**Here we will use terms Chat Bot and Script interchangeably**
+**In this page, "Chat Bot" and "Script" are used interchangeably.**
@@ -59,8 +59,8 @@ MCC.LoadBot(new ExampleChatBot());
// The code and comments above are defining a "Script Metadata" section
-// Every single chat bot (script) must be a class which extends the ChatBot class.
-// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
+// Every chat bot script must define a class that extends ChatBot.
+// Instantiate that class in the script metadata section and pass it to MCC.LoadBot.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
@@ -92,7 +92,7 @@ class ExampleChatBot : ChatBot
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
-If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
+If everything worked, you should see `[Example Chat Bot] An example Chat Bot has been initialized!` in the console.
### Structure of Chat Bots
@@ -111,9 +111,9 @@ Every single Chat Bot (Script) must have this section at the beginning in order
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
-`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
+`//MCCScript Extensions` marks the end of the **Script Metadata** section. It must appear before the Chat Bot class.
-In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
+To load a Chat Bot script, instantiate the bot class between `//MCCScript 1.0` and `//MCCScript Extensions`, then pass it to `MCC.LoadBot`.
Example code:
@@ -121,7 +121,7 @@ Example code:
MCC.LoadBot(new YourChatBotClassNameHere());
```
-**Script Metadata** section allows for including C# packages and libraries with: `//using
` and `/dll `.
+The **Script Metadata** section also lets you include namespaces and DLL references with `//using ` and `//dll `.
Tip
@@ -129,7 +129,7 @@ MCC.LoadBot(new YourChatBotClassNameHere());
-By the default the following packages are loaded:
+By default, the following namespaces are loaded:
```csharp
using System;
@@ -167,28 +167,28 @@ MCC.LoadBot(new ExampleChatBot());
### Chat Bot Class
-After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
+After the **Script Metadata** section, you can define any number of helper classes. The main bot class must extend `ChatBot`.
There are no required methods, everything is optional.
-When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called.
+When the Chat Bot is initialized for the first time, the `Initialize` method is called.
-In it you can initialize variables, eg. Dictionaries, etc..
+Use it to initialize state such as dictionaries or cached values.
Tip
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
-
.
+
## Examples
-You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
+You can find more examples in the [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config) folders in the GitHub repository.
## C# API
-As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
+The authoritative reference for the C# API is [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs).
Each method is well documented with standard C# documentation comments.
-In the future we will make a script to auto-generate this section based on the documentation in the code.
+This page intentionally stays focused on the basics. For newer hooks and overloads, check the source file directly.
diff --git a/docs/guide/creating-text-script.md b/docs/guide/creating-text-script.md
index 0c4aa0a9..7b5178be 100644
--- a/docs/guide/creating-text-script.md
+++ b/docs/guide/creating-text-script.md
@@ -4,9 +4,9 @@ title: Creating Simple Script
# Creating Simple Script
-A simple script is a text file with one command per line. See [Internal Commands](https://mccteam.github.io/guide/usage.html#internal-commands) section or type `/help` in the console to see available commands. Any line beginning with `#` is ignored and treated as a comment.
+A simple script is a text file with one command per line. See the [Internal Commands](usage.md#internal-commands) section, or type `/help` in the console to see the available commands. Any line beginning with `#` is ignored and treated as a comment.
-Application variables defined using the set command or [AppVars] INI section can be used. The following read-only variables can also be used: `%username%, %login%, %serverip%, %serverport%, %datetime%`
+Application variables defined with the `set` command or in the `[AppVars]` config section can be used. The following read-only variables are also available: `%username%`, `%login%`, `%serverip%`, `%serverport%`, `%datetime%`.
## Example
@@ -21,6 +21,6 @@ send Now quitting. Bye :)
exit
```
-Go to [example scripts](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config) to see more example.
+See the [example scripts](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config) folder for more examples.
-If you want need advanced functions, please see [Creating Chat Bots](creating-bots.md)
\ No newline at end of file
+If you need more advanced behavior, see [Creating Chat Bots](creating-bots.md).
diff --git a/docs/guide/installation.md b/docs/guide/installation.md
index cf1db6f0..f9e66687 100644
--- a/docs/guide/installation.md
+++ b/docs/guide/installation.md
@@ -20,7 +20,7 @@ If you're not the kind of person that likes textual tutorials, our community has
## Download a compiled binary
-You can download a compiled binary file of the latest build from our Releases section on Git Hub: [Download](https://github.com/MCCTeam/Minecraft-Console-Client/releases)
+You can download a compiled binary of the latest build from the [GitHub Releases](https://github.com/MCCTeam/Minecraft-Console-Client/releases) page.
## Building from the source code
@@ -33,7 +33,7 @@ However, if you want to build the program from source code, please follow the gu
Requirements:
- [Git](https://www.git-scm.com/)
-- [.NET 7.0 or new-er](https://dotnet.microsoft.com/en-us/download) or [Visual Studio](https://visualstudio.microsoft.com/) configured for C# app development
+- [.NET 10 SDK](https://dotnet.microsoft.com/en-us/download) or [Visual Studio](https://visualstudio.microsoft.com/) configured for C# app development
Tip
@@ -48,12 +48,18 @@ Install [Git](https://www.git-scm.com/)
1. Make a new folder where you want to keep the source code
2. Then open it up, hold `SHIFT` and do a `right-click` on the empty white space in the folder
3. Click on `Git Bash Here` in the context menu
-4. Clone the [Git Hub Repository](https://github.com/MCCTeam/Minecraft-Console-Client) by typing end executing the following command:
+4. Clone the [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client) by running:
```bash
git clone https://github.com/MCCTeam/Minecraft-Console-Client.git --recursive
```
+If you cloned the repository without `--recursive`, run:
+
+```bash
+git submodule update --init --recursive
+```
+
5. Once the repository has been cloned, you can close the `Git Bash` terminal emulator
6. Open up the new cloned folder
@@ -83,7 +89,7 @@ git clone https://github.com/MCCTeam/Minecraft-Console-Client.git --recursive
6. Right click on `MinecraftClient` solution in the `Solution Explorer`
7. Click `Build`
-If the build has succeeded, the compiled binary `MinecraftClient.exe` will be in `MinecraftClient/bin/Release/net7.0/win-x64/publish` folder.
+If the build succeeds, the published binary `MinecraftClient.exe` will be in `MinecraftClient/bin/Release/net10.0/win-x64/publish/`.
#### Building using .NET manually without Visual Studio
@@ -92,10 +98,10 @@ If the build has succeeded, the compiled binary `MinecraftClient.exe` will be in
3. Run the following command to build the project:
```bash
-dotnet publish MinecraftClient -f net7.0 -r win-x64 --no-self-contained -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None
+dotnet publish MinecraftClient.sln -f net10.0 -r win-x64 --self-contained=true -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=Embedded
```
-If the build has succeeded, the compiled binary `MinecraftClient.exe` will be in `MinecraftClient/bin/Release/net7.0/win-x64/publish` folder.
+If the build succeeds, the published binary `MinecraftClient.exe` will be in `MinecraftClient/bin/Release/net10.0/win-x64/publish/`.
### Linux, macOS
@@ -113,7 +119,7 @@ Requirements:
- [Install Git on macOS](https://git-scm.com/download/mac)
-- .NET SDK 7.0 or new-er
+- .NET 10 SDK
- [Install .NET on Linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
- [Install .NET on macOS](https://docs.microsoft.com/en-us/dotnet/core/install/macos)
@@ -121,7 +127,7 @@ Requirements:
#### Cloning using Git
1. Open up a terminal emulator and navigate to the folder where you will store the MCC
-2. Recursively clone the [Git Hub Repository](https://github.com/MCCTeam/Minecraft-Console-Client) by typing end executing the following command:
+2. Recursively clone the [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client) by running:
```bash
git clone https://github.com/MCCTeam/Minecraft-Console-Client.git --recursive
@@ -134,31 +140,31 @@ git clone https://github.com/MCCTeam/Minecraft-Console-Client.git --recursive
- On Linux:
```bash
- dotnet publish MinecraftClient -f net7.0 -r linux-x64 --no-self-contained -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None
+ dotnet publish MinecraftClient.sln -f net10.0 -r linux-x64 --self-contained=true -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=Embedded
```
Tip
- **If you're using Linux that is either ARM, 32-bit, Rhel based, Using Musl, or Tirzen, [find an appropriate RID](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#linux-rids) for your platform and replace the `-r linux-64` with an appropriate `-r RID_NAME` (Example for arm: `-r linux-arm64`)**
+ **If you are using Linux on ARM, 32-bit, RHEL-based distributions, or Musl, [pick the appropriate RID](https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#linux-rids) for your platform and replace `-r linux-x64` with it, for example `-r linux-arm64`.**
- On macOS:
```bash
- dotnet publish MinecraftClient -f net7.0 -r osx-x64 --no-self-contained -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None
+ dotnet publish MinecraftClient.sln -f net10.0 -r osx-x64 --self-contained=true -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=Embedded
```
Tip
- **If you're not using MAC with Intel, find an appropriate RID for your ARM processor, [find an appropriate RID](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#macos-rids) and replace the `-r osx-64` with an appropriate `-r RID_NAME` (Example for arm: `-r osx.12-arm64`)**
+ **If you are not using an Intel Mac, [pick the appropriate RID](https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#macos-rids) for your processor and replace `-r osx-x64` with it, for example `-r osx-arm64`.**
If the build has succeeded, the compiled binary `MinecraftClient` will be in:
-- Linux: `MinecraftClient/bin/Release/net7.0/linux-x64/publish/`
-- macOS: `MinecraftClient/bin/Release/net7.0/osx-x64/publish/`
+- Linux: `MinecraftClient/bin/Release/net10.0/linux-x64/publish/`
+- macOS: `MinecraftClient/bin/Release/net10.0/osx-x64/publish/`
## Using Docker
@@ -175,11 +181,11 @@ Requirements:
Warning
-**Pay attention at warnings, Docker currently works, but you must start the containers in the interactive mode or MCC will crash, we're working on solving this.**
+**Docker works, but you need to start the container in interactive mode. Starting it in headless mode can still crash MCC.**
-1. Clone the [Git Hub Repository](https://github.com/MCCTeam/Minecraft-Console-Client) by typing end executing the following command:
+1. Clone the [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client) by running:
```bash
git clone https://github.com/MCCTeam/Minecraft-Console-Client.git --recursive
@@ -196,12 +202,12 @@ docker build -t minecraft-console-client:latest .
Danger
-**There is a bug with the ConsoleInteractive which causes a crash when a container is started in a headless mode, so you need to use the interactive mode. Do not restart containers in a classic way, stop then and start them with interactive mode (this command), after that simply detach with `CTRL + P` and then `CTRL + Q`.**
+**Because of a ConsoleInteractive issue, starting the container in headless mode can crash MCC. Start it with the interactive command below, then detach with `CTRL + P` followed by `CTRL + Q` if you want to leave it running in the background.**
```bash
-# You could also ignore the -v parameter if you dont want to mount the volume that is up to you. If you don't it's harder to edit the .ini file if thats something you want to do
+# You can omit -v if you do not want a mounted volume. Keeping the volume makes it much easier to edit the TOML config stored in MinecraftClient.ini from the host.
docker run -it -v
:/opt/data minecraft-console-client:latest
```
@@ -234,11 +240,11 @@ Remember to remove the container after usage:
docker-compose down
```
-If you use the INI file and entered your data (username, password, server) there, you can start your container using
+If you use `MinecraftClient.ini` and entered your data there, you can start your container using
```bash
docker-compose up
-docker-compose up -d #for deamonized running in the background
+docker-compose up -d # for daemonized background running
```
Note that you won't be able to interact with the client using `docker-compose up`. If you want that functionality, please use the first method: `docker-compose run MCC`.
@@ -251,11 +257,11 @@ docker-compose down
## Run on Android
-It is possible to run the Minecraft Console Client on Android through Termux and Ubuntu 22.04 in it, however it requires a manual setup with a lot of commands, be careful no to skip any steps. Note that this might take anywhere from 10 to 20 minutes or more to do depending on your technical knowledge level, Internet speed and CPU speed.
+It is possible to run Minecraft Console Client on Android through Termux and Ubuntu 22.04, but it requires a manual setup with a lot of commands, so be careful not to skip any steps. Depending on your technical background, internet speed, and device speed, this can take anywhere from 10 to 20 minutes or more.
Tip
-**This section is going to get a bit technical, I'll try my best to make everything as simple as possible. If you are having trouble following along or if you encounter any issues, feel free to open up a discussion on our Github repository page.**
+**This section gets a bit technical. If you run into issues, open a discussion on our GitHub repository page.**
@@ -277,11 +283,11 @@ It is possible to run the Minecraft Console Client on Android through Termux and
Warning
-**The Play Store version of Termux is outdated and not supported, do not use it, use the the [Github one](https://github.com/termux/termux-app/releases/latest/).**
+**The Play Store version of Termux is outdated and not supported. Use the [GitHub release](https://github.com/termux/termux-app/releases/latest/) instead.**
-Go to [the Termux Github latest release](https://github.com/termux/termux-app/releases/latest/), download the `debug_universal.apk`, unzip it and run it.
+Go to [the latest Termux GitHub release](https://github.com/termux/termux-app/releases/latest/), download the `debug_universal.apk`, unzip it, and run it.
Tip
@@ -350,7 +356,7 @@ Once the installation is complete, you can start Ubuntu with:
#### Installing .NET on ARM
-Since there are issues installing .NET 7.0 via the APT package manager at the time of writing, we will have to install it manually.
+If the package-manager route does not provide a current enough SDK for your setup, install .NET manually instead.
First we need to update the APT package manager repositories and install dependencies.
@@ -366,7 +372,7 @@ After you did it, we need to install dependencies for .NET, with the following c
apt install wget nano unzip libc6 libgcc1 libgssapi-krb5-2 libstdc++6 zlib1g libicu70 libssl3 -y
```
-After you have installed dependencies, it's time to install .NET, you either can follow this tutorial or the [Microsoft one](https://docs.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#manual-install).
+After you have installed the dependencies, install .NET either by following this guide or by using Microsoft's [manual install instructions](https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#manual-install).
Navigate to your `/root` home directory with the following command:
@@ -374,27 +380,27 @@ Navigate to your `/root` home directory with the following command:
cd /root
```
-First you need to download .NET 7.0, you can do it with the following command:
+Download a current .NET SDK tarball for your platform from Microsoft. For example:
```bash
-wget https://download.visualstudio.microsoft.com/download/pr/6cd2eaa7-4c06-4168-b90b-ee2d6bb40b10/4a8387eb07e17d262bfb9965f6d34462/dotnet-sdk-7.0.203-linux-arm64.tar.gz
+wget
```
Tip
-**This tutorial assumes that you have 64 bit version of ARM processor, if you happen to have a 32-bit version replace the link in the command above with [this one](https://download.visualstudio.microsoft.com/download/pr/55972ef4-146e-47e6-b014-0163cbaca6a3/fa9713f73f44088898843016d68c5929/dotnet-sdk-7.0.203-linux-arm.tar.gz)**
+**This example assumes a 64-bit ARM processor. If you are using a different architecture, download the matching SDK archive for that platform instead.**
Tip
-**This tutorial assumes that you're following along and using Ubuntu 22.04, if you're using a different distro, like Alpine, go to [here](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) and copy an appropriate link for your distro.**
+**This tutorial assumes Ubuntu 22.04. If you are using a different distro, get the current SDK archive for your platform from the [.NET download page](https://dotnet.microsoft.com/en-us/download).**
Once the file has been downloaded, you need to run the following commands in order:
-1. `DOTNET_FILE=dotnet-sdk-7.0.203-linux-arm64.tar.gz`
+1. `DOTNET_FILE=`
Warning
@@ -537,7 +543,7 @@ Also, here are some linux tutorials for people who are new to it:
Tip
-**This is a new section, if you find a mistake, please report it by opening an Issue in our [Github repository](https://github.com/MCCTeam/Minecraft-Console-Client). Thank you!**
+**This is a newer section. If you spot a mistake, please report it by opening an issue in our [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client).**
@@ -1057,10 +1063,10 @@ Remove the file, we do not need it anymore:
rm packages-microsoft-prod.deb
```
-Finally, install .NET Core 7:
+Finally, install the current .NET SDK:
```bash
-sudo apt-get update -y && sudo apt-get install -y dotnet-sdk-7.0
+sudo apt-get update -y && sudo apt-get install -y dotnet-sdk-10.0
```
Run the following command to check if everything was installed correctly:
@@ -1087,11 +1093,11 @@ path-to-application:
If you do not get this output and the installation was not successful, [try other methods](https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu#2204).
-If it was successful, you can now install the MCC.
+If it was successful, you can now install MCC.
### Installing MCC on a VPS
-Now that you have .NET Core 7.0 and a user account, you should install the `screen` utility, you will need this in order to keep the MCC running once you close down the SSH session (if you do not have it, the MCC will just stop working once you disconnect). You can look at the `screen` like a window, except it's in a terminal, it lets you have multiple "windows" open at the same time.
+Now that you have the .NET SDK and a user account, install the `screen` utility. You will need it if you want MCC to keep running after you close the SSH session.
Tip
diff --git a/docs/guide/usage.md b/docs/guide/usage.md
index 633ed93c..93d5d150 100644
--- a/docs/guide/usage.md
+++ b/docs/guide/usage.md
@@ -47,7 +47,7 @@ screen -S mcc
# Detach from the screen by pressing CTRL + A + D
-# Re-attach if you want to have accces again
+# Re-attach if you want access again
screen -r mcc
```
@@ -59,7 +59,7 @@ See [Run using Docker](./installation.md#using-docker)
## Command-line usage
-**Minecraft Console Client** has a plethora of useful command line parameters, here you can learn about them.
+**Minecraft Console Client** has a number of useful command-line parameters. This section covers the most important ones.
### For people not familiar with the command line
@@ -97,6 +97,8 @@ Here is an example for using a `--help` command line parameter for MCC that will
MinecraftClient.exe --help
```
+MCC also supports a few maintenance and debugging switches such as `--upgrade`, `--force-upgrade`, `--generate`, `--keyboard-debug`, `BasicIO`, and `BasicIO-NoColor`.
+
### Quick usage of MCC with examples
Tip
@@ -119,16 +121,16 @@ Examples:
# Logging in as a user: notch, with a password: password123 onto a server with the ip: mc.someserver.com:25565
MinecraftClient.exe notch password123 mc.someserver.com:25565
-# Overriding a setting from MinecraftClient.ini using a command line parameter
+# Overriding a setting from MinecraftClient.ini using a command-line parameter
MinecraftClient.exe --debugmessages=false
-# Providing a custom settings ini file and overriding a language to Chinese
+# Providing a custom settings file and overriding the language to Chinese
MinecraftClient.exe CustomSettingsFile.ini --language=zh
```
### Rules of using the command line parameters
-You can mix and match arguments by following theses rules:
+You can mix and match arguments by following these rules:
- First positional argument may be either the login or a settings file
- Other positional arguments are read in order: login, password, server, command
@@ -150,7 +152,7 @@ MinecraftClient.exe
"/mycommand"
```
- This will automatically send `/mycommand` to the server and close.
-- To send several commands and/or stay connected, use the 1ScriptScheduler1 bot instead.
+- To send several commands or stay connected, use the `ScriptScheduler` bot instead.
```bash
MinecraftClient.exe
@@ -247,7 +249,7 @@ In scripts and remote control, no slash is needed to perform the command, eg. `q
Reports the block type at the given position.
- If you use the `-s` option it will report the types of blocks around the targeted blokcs.
+ If you use the `-s` option, it also reports the surrounding block types.
- **Usage:**
@@ -558,11 +560,11 @@ In scripts and remote control, no slash is needed to perform the command, eg. `q
- **Description:**
- Reloads settings from MinecraftClient.ini and Chat Bots.
+ Reloads the active configuration file and chat bots.
Tip
- **Some settings won't be reloaded since they are used before the client initialization. Also, settings provided by the command line paramteres will be overriden. This also does not reload the ReplayBot due to technical limitations.**
+ **Some settings are not reloaded because they are used before client initialization. Settings passed on the command line also override file values. ReplayCapture is not reloaded due to technical limitations.**
@@ -800,7 +802,7 @@ In scripts and remote control, no slash is needed to perform the command, eg. `q
Tip
- **This command is avaliable only with [Follow Player](chat-bots.md#follow-player) Chat Bot enabled.**
+ **This command is available only when the [Follow Player](chat-bots.md#follow-player) chat bot is enabled.**
diff --git a/docs/guide/websocket/Commands.md b/docs/guide/websocket/Commands.md
index d6754445..25f196e7 100644
--- a/docs/guide/websocket/Commands.md
+++ b/docs/guide/websocket/Commands.md
@@ -1,1413 +1,5 @@
-# Web Socket Commands
+# WebSocket Commands
-## Important
+This page is archived.
-**I'll try to include a full list of commands here with full examples, but you will have to take a look at the source code from time to time to see the types you can send in more details.**
-
-**The source code of the WebSocket Chat Bot:** [Click here](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/ChatBots/WebSocketBot.cs#L484)
-
-## Protocol Commands
-
-Protocol commands are commands to manipulate the protocol.
-
-### `Authenticate`
-
- This command is used to authenticate if there is a password set in the Web Socket chat bot settings.
-
- **Parameters:**
-
- It takes a single parameters of a string type that contains a password.
-
- **Example:**
-
- ```json
- {
- "command": "Authenticate",
- "requestId": "a08rt980u15j890",
- "parameters": ["wspass12345"]
- }
- ```
-
-### `ChangeSessionId`
-
- This command is used to change the name/alias/id of a session.
-
- **Parameters:**
-
- It takes a single parameters of a string type that contains a name.
-
- **Example:**
-
- ```json
- {
- "command": "ChangeSessionId",
- "requestId": "9845eybjb8936j0i3",
- "parameters": ["My Custom Session Name"]
- }
- ```
-
-## Procedures
-
-Procedures are the methods/functions you can execute on the MCC itself to interact with the minecraft server.
-
-### - `LogToConsole`
-
-**Description:**
-
-Log stuff in to the MCC console.
-
-**Parameters:**
-
-- `message`
-
- **Type:** `string`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "LogToConsole",
- "requestId": "9qaeuitgng",
- "parameters": ["Some text to log..."]
-}
-```
-
-### - `LogDebugToConsole`
-
-**Description:**
-
-Log stuff in to the MCC debug console channel.
-
-**Parameters:**
-
-- `message`
-
- **Type:** `string`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "LogDebugToConsole",
- "requestId": "yt30j83g-uq",
- "parameters": ["Some text to log..."]
-}
-```
-
-### - `LogToConsoleTranslated`
-
-**Description:**
-
-Log a translated string in to the MCC console.
-
-**Parameters:**
-
-- `message`
-
- **Type:** `string`
-
-**Return type:** `boolean`
-
-```json
-{
- "command": "LogToConsoleTranslated",
- "requestId": "qt089t1jh1t1t",
- "parameters": ["ChatBot.WebSocketBot.DebugMode"]
-}
-```
-
-### - `LogDebugToConsoleTranslated`
-
-**Description:**
-
-Log a translated string in to the MCC debug console channel.
-
-**Parameters:**
-
-- `message`
-
- **Type:** `string`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "LogDebugToConsoleTranslated",
- "requestId": "gpiqahjgpag",
- "parameters": ["ChatBot.WebSocketBot.DebugMode"]
-}
-```
-
-### - `ReconnectToTheServer`
-
-**Description:**
-
-Reconnect to the server the MCC is connected to.
-
-**Parameters:**
-
-- `extraAttempts`
-
- **Type:** `integer`
-
- **Note:** Use -1 for unlimited attempts number.
-
-- `delaySeconds`
-
- **Type:** `integer`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "ReconnectToTheServer",
- "requestId": "098uqh3r2w0qt9",
- "parameters": [60, 360]
-}
-```
-
-### - `DisconnectAndExit`
-
-**Description:**
-
-Disconnect MCC from the server and close the program.
-
-**Parameters:**
-
-- No parameters
-
-**Example:**
-
-```json
-{
- "command": "DisconnectAndExit",
- "requestId": "89seut02349wjk",
- "parameters": []
-}
-```
-
-### - `RunScript`
-
-**Description:**
-
-Run a MCC C# script.
-
-**Parameters:**
-
-- `scriptName`
-
- **Type:** `string`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "RunScript",
- "requestId": "q3r098qhtqj-0",
- "parameters": ["testScript.cs"]
-}
-```
-
-### - `GetTerrainEnabled`
-
-**Description:**
-
-Check if the Terrain Handling is enabled.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "GetTerrainEnabled",
- "requestId": "089wqejru",
- "parameters": []
-}
-```
-
-### - `SetTerrainEnabled`
-
-**Description:**
-
-Try enabling the Terrain Handling.
-
-**Parameters:**
-
-- `enabled`
-
- **Type:** `boolean`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "SetTerrainEnabled",
- "requestId": "9uW4HT9A",
- "parameters": [true]
-}
-```
-
-### - `GetEntityHandlingEnabled`
-
-**Description:**
-
-Check if the Entity Handling is enabled.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "GetEntityHandlingEnabled",
- "requestId": "ua5yht9-a8u",
- "parameters": []
-}
-```
-
-### - `Sneak`
-
-**Description:**
-
-Toggle sneak.
-
-**Parameters:**
-
-- `toggle`
-
- **Type:** `boolean`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "Sneak",
- "requestId": "iurwt8h97",
- "parameters": [true]
-}
-```
-
-### - `SendEntityAction`
-
-**Description:**
-
-Send an entity action.
-
-**Parameters:**
-
-- `actionType`
-
- **Type:** [`EntityActionType` as a an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Protocol/EntityActionType.cs#L3)
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "SendEntityAction",
- "requestId": "0j5t3yb89j-q5b9j8",
- "parameters": [1]
-}
-```
-
-### - `DigBlock`
-
-**Description:**
-
-Dig a block in the world.
-
-**Parameters:**
-
-- `X`
-
- **Type:** `double`
-
-- `Y`
-
- **Type:** `double`
-
-- `Z`
-
- **Type:** `double`
-
-- `swingArms` (optional, default `true`)
-
- **Type:** `boolean`
-
-- `lookAtBlock` (optional, default `true`)
-
- **Type:** `boolean`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "DigBlock",
- "requestId": "89q58u9qb",
- "parameters": [12.5, 72, 12.5, true, true]
-}
-```
-
-### - `SetSlot`
-
-**Description:**
-
-Set the current active hot bar slot.
-
-**Parameters:**
-
-- `slotId`
-
- **Type:** `integer`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "SetSlot",
- "requestId": "9hu43tv9hu4tv",
- "parameters": [1]
-}
-```
-
-### - `GetWorld`
-
-**Description:**
-
-Get world info.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** [`json encoded object with world info`](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Mapping/World.cs)
-
-**Example:**
-
-```json
-{
- "command": "GetWorld",
- "requestId": "89753q6bh756b",
- "parameters": []
-}
-```
-
-### - `GetEntities`
-
-**Description:**
-
-Get a list of entities around the player.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** [`json encoded array of Entity`](https://github.com/milutinke/MCC.js/blob/dc5ccfecb65284f021c94c8381c3d7fb4f36a2c3/src/MccTypes/Entity.ts#L130)
-
-**Example:**
-
-```json
-{
- "command": "GetEntities",
- "requestId": "9ujrte9ujp",
- "parameters": []
-}
-```
-
-### - `GetPlayersLatency`
-
-**Description:**
-
-Get a list of players and their latencies.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `json encoded array of player object with { "": }`
-
-**Example:**
-
-```json
-{
- "command": "GetPlayersLatency",
- "requestId": "9uj53ybwj8945sby6",
- "parameters": []
-}
-```
-
-### - `GetCurrentLocation`
-
-**Description:**
-
-Get the current bot location in the world.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** [`json encoded Location object`](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Mapping/Location.cs)
-
-**Example:**
-
-```json
-{
- "command": "GetCurrentLocation",
- "requestId": "8953ybu896b539j8056b3",
- "parameters": []
-}
-```
-
-### - `MoveToLocation`
-
-**Description:**
-
-Move to a location in the world.
-
-**Parameters:**
-
-- `X`
-
- **Type:** `double`
-
-- `Y`
-
- **Type:** `double`
-
-- `Z`
-
- **Type:** `double`
-
-- `allowUnsafe` (optional, default: `true`)
-
- **Type:** `boolean`
-
- **Description:** Allow the bot to go through unsafe areas, warning: it might get hurt.
-
-- `allowDirectTeleport` (optional, default: `false`)
-
- **Type:** `boolean`
-
- **Description:** Allow bot to send a teleport packet.
-
-- `maxOffset` (optional, default: `0`)
-
- **Type:** `integer`
-
- **Description:** Maximum number of blocks from the location where the bot can stop.
-
-- `minOfset` (optional, default: `0`)
-
- **Type:** `integer`
-
- **Description:** Minimum number of blocks from the location where the bot can stop.
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "MoveToLocation",
- "requestId": "853yb8u,6b589uj",
- "parameters": [12.5, 71, 142.5]
-}
-```
-
-### - `ClientIsMoving`
-
-**Description:**
-
-Check if the bot is currently moving.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "ClientIsMoving",
- "requestId": "539ayg88a9u63",
- "parameters": []
-}
-```
-
-### - `LookAtLocation`
-
-**Description:**
-
-Make the bot look at a specific location.
-
-**Parameters:**
-
-- `X`
-
- **Type:** `double`
-
-- `Y`
-
- **Type:** `double`
-
-- `Z`
-
- **Type:** `double`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "LookAtLocation",
- "requestId": "a45g90unhu9a5t",
- "parameters": [12, 71, 134]
-}
-```
-
-### - `GetTimestamp`
-
-**Description:**
-
-Get current time in `yyyy-MM-dd HH:mm:ss` format.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `string`
-
-**Example:**
-
-```json
-{
- "command": "GetTimestamp",
- "requestId": "87htgqq76y8g",
- "parameters": []
-}
-```
-
-### - `GetServerPort`
-
-**Description:**
-
-Get the current server port.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `int`
-
-**Example:**
-
-```json
-{
- "command": "GetServerPort",
- "requestId": "89u53ybq89uqb",
- "parameters": []
-}
-```
-
-### - `GetServerHost`
-
-**Description:**
-
-Get the current server IPv4 address.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `string`
-
-**Example:**
-
-```json
-{
- "command": "GetServerHost",
- "requestId": "hu3ay5u9h35",
- "parameters": []
-}
-```
-
-### - `GetUsername`
-
-**Description:**
-
-Get current logged in account username.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `string`
-
-**Example:**
-
-```json
-{
- "command": "GetUsername",
- "requestId": "8t7fhq87q6yw",
- "parameters": []
-}
-```
-
-### - `GetGamemode`
-
-**Description:**
-
-Get the current game mode in which the bot is.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `string`
-
-**Example:**
-
-```json
-{
- "command": "GetGamemode",
- "requestId": "5ta309h7835ty89j70",
- "parameters": []
-}
-```
-
-### - `GetYaw`
-
-**Description:**
-
-Get current bot yaw.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `double`
-
-**Example:**
-
-```json
-{
- "command": "GetYaw",
- "requestId": "B9Q5G380UJQ",
- "parameters": []
-}
-```
-
-### - `GetPitch`
-
-**Description:**
-
-Get the current bot pitch.
-
-**Parameters:**
-
-- No parameters
-
-- **Return type:** `double`
-
-**Example:**
-
-```json
-{
- "command": "GetPitch",
- "requestId": "7hm4rtv2q5Y74",
- "parameters": []
-}
-```
-
-### - `GetUserUUID`
-
-**Description:**
-
-Get the UUID of the current account.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `string`
-
-**Example:**
-
-```json
-{
- "command": "GetUserUUID",
- "requestId": "34tva89hq986h",
- "parameters": []
-}
-```
-
-### - `GetOnlinePlayers`
-
-**Description:**
-
-Get a list of online players on the server.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `json encoded array of string`
-
-**Example:**
-
-```json
-{
- "command": "GetOnlinePlayers",
- "requestId": "894tvu2u8qv6",
- "parameters": []
-}
-```
-
-### - `GetOnlinePlayersWithUUID`
-
-**Description:**
-
-Get a list of online players on the server with their nicknames and UUIDs.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `json encoded array of object in the following format: { "": "" }`
-
-**Example:**
-
-```json
-{
- "command": "GetOnlinePlayersWithUUID",
- "requestId": "903fy5tv8qwu89",
- "parameters": []
-}
-```
-
-### - `GetServerTPS`
-
-**Description:**
-
-Get the current server TPS.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `integer`
-
-**Example:**
-
-```json
-{
- "command": "GetServerTPS",
- "requestId": "70atv4fy7890",
- "parameters": []
-}
-```
-
-### - `InteractEntity`
-
-**Description:**
-
-Interact with an entity.
-
-**Parameters:**
-
-- `entityId`
-
- **Type:** `integer`
-
-- `interactionType`
-
- **Type:** [`InteractType` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Mapping/InteractType.cs)
-
-- `hand` (optional)
-
- **Type:** [`Hand` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/Hand.cs)
-
- **Default value:** `0` (Main Hand)
-
- You can omit this parameter if you want to interact with the main hand.
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "InteractEntity",
- "requestId": "a34890u hgtv90h",
- "parameters": [1452, 1]
-}
-```
-
-### - `CreativeGive`
-
-**Description:**
-
-Give an item from the Creative Inventory.
-
-**Parameters:**
-
-- `slot`
-
- **Type:** `integer`
-
- **Description:** The slot id in which the items will be added to.
-
-- `itemType`
-
- **Type:** [`ItemType` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/ItemType.cs)
-
-- `count`
-
- **Type:** `integer`
-
- **Description** The number of items you want to give.
-
-- `nbt` (optional)
-
- **Type:** `string with json of nbt object`
-
- **Description** The item NBT data
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "CreativeGive",
- "requestId": "sedoiuneag87",
- "parameters": [12, 1, 64]
-}
-```
-
-### - `CreativeDelete`
-
-**Description:**
-
-Clear an inventory slot of items in the Creative Mode.
-
-**Parameters:**
-
-- `slot`
-
- **Type:** `integer`
-
- **Description:** The slot id from which the items will be deleted from.
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "CreativeDelete",
- "requestId": "09hfgq9qui0gq",
- "parameters": [12]
-}
-```
-
-### - `SendAnimation`
-
-**Description:**
-
-Send an animation, for example a hand swing.
-
-**Parameters:**
-
-- `hand`
-
- **Type:** [`Hand` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/Hand.cs)
-
- **Default value:** `0` (Main Hand)
-
- You can omit this parameter if you want to interact with the main hand.
-
-**Return type:** `boolean`
-
-
-**Example:**
-
-```json
-{
- "command": "SendAnimation",
- "requestId": "0ig09ug0iwq",
- "parameters": []
-}
-```
-
-### - `SendPlaceBlock`
-
-**Description:**
-
-Place a block somewhere in the world.
-
-**Parameters:**
-
-- `X`
-
- **Type:** `double`
-
-- `Y`
-
- **Type:** `double`
-
-- `Z`
-
- **Type:** `double`
-
-- `direction`
-
- **Type:** [`Direction` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Mapping/Direction.cs)
-
-- `hand` (optional)
-
- **Type:** [`Hand` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/Hand.cs)
-
- **Default value:** `0` (Main Hand)
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "SendPlaceBlock",
- "requestId": "zibgweybuini9o",
- "parameters": [12, 72, 134, 4]
-}
-```
-
-### - `UseItemInHand`
-
-**Description:**
-
-Use an item in the hand.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "UseItemInHand",
- "requestId": "qat0qtg90gqtn",
- "parameters": []
-}
-```
-
-### - `GetInventoryEnabled`
-
-**Description:**
-
-Check if the inventory is enabled.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "GetInventoryEnabled",
- "requestId": "2t4q0j9qwg8h",
- "parameters": []
-}
-```
-
-### - `GetPlayerInventory`
-
-**Description:**
-
-Get the items in the player inventory.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** [`json encoded inventory/container object`](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/Container.cs)
-
-**Example:**
-
-```json
-{
- "command": "GetPlayerInventory",
- "requestId": "gbugabuiga",
- "parameters": []
-}
-```
-
-### - `GetInventories`
-
-**Description:**
-
-Get opened inventories list and items in them.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** [`json encoded array of inventory/container objects`](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/Container.cs)
-
-**Example:**
-
-```json
-{
- "command": "GetPlayerInventory",
- "requestId": "awgpawighago0ia",
- "parameters": []
-}
-```
-
-### - `WindowAction`
-
-**Description:**
-
-Send an inventory action, for example a click.
-
-**Parameters:**
-
-- `windowId`
-
- **Type:** `integer`
-
- **Description:** An id of an inventory
-
-- `slotId`
-
- **Type:** `integer`
-
- **Description** An id of an inventory slot
-
-- `windowActionType`
-
- **Type:** [`WindowActionType` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Inventory/WindowActionType.cs)
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "WindowAction",
- "requestId": "agpoigjawg0iawg",
- "parameters": [2, 14, 1]
-}
-```
-
-### - `ChangeSlot`
-
-**Description:**
-
-Change the currently selected hot bar slot.
-
-**Parameters:** - `slotId`
-
-**Type:** `integer`
-
-**Description** An id of an inventory slot.
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "ChangeSlot",
- "requestId": "awdadiajh0fgi",
- "parameters": [2]
-}
-```
-
-### - `GetCurrentSlot`
-
-**Description:**
-
-Get the currently selected hot bar slot.
-
-**Parameters:**
-
-- No Parameters
-
-**Return type:** `integer`
-
-**Example:**
-
-```json
-{
- "command": "GetCurrentSlot",
- "requestId": "sadg0as8h",
- "parameters": []
-}
-```
-
-### - `ClearInventories`
-
-**Description:**
-
-Clear the list of opened inventories.
-
-**Parameters:**
-
-- No Parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "ClearInventories",
- "requestId": "2ouniuowaseghbnew",
- "parameters": []
-}
-```
-
-### - `UpdateSign`
-
-**Description:**
-
-Update the text in signs.
-
-**Parameters:**
-
-- `X`
-
- **Type:** `double`
-
-- `Y`
-
- **Type:** `double`
-
-- `Z`
-
- **Type:** `double`
-
-- `line1`
-
- **Type:** `string`
-
-- `line2`
-
- **Type:** `string`
-
-- `line3`
-
- **Type:** `string`
-
-- `line4`
-
- **Type:** `string`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "UpdateSign",
- "requestId": "gsisgsuig0gs",
- "parameters": [145, 67, 1234, "This is line 1", "This is line 2", "This is line 3", "This is line 4"]
-}
-```
-
-### - `SelectTrade`
-
-**Description:**
-Select a villager trade.
-
-**Parameters:**
-
-- `selectedSlot`
-
- **Type:** `integer`
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "SelectTrade",
- "requestId": "awdpa[9doujwapdi]",
- "parameters": [2]
-}
-```
-
-### - `UpdateCommandBlock`
-
-**Description:**
-
-Update the command block.
-
-**Parameters:**
-
-- `X`
-
- **Type:** `double`
-
-- `Y`
-
- **Type:** `double`
-
-- `Z`
-
- **Type:** `double`
-
-- `command`
-
- **Type:** `string`
-
-- `mode`
-
- **Type:** [`CommandBlockMode` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Mapping/CommandBlockMode.cs)
-
-- `flags`
-
- **Type:** [`CommandBlockFlags` as an integer](https://github.com/MCCTeam/Minecraft-Console-Client/blob/5de84d7e5927062d867585d7fe0a0bba937ec039/MinecraftClient/Mapping/CommandBlockFlags.cs)
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "UpdateCommandBlock",
- "requestId": "aw[apkda=-pd]",
- "parameters": [56, 122, 34, "say This is a command", 4, 2]
-}
-```
-
-### - `CloseInventory`
-
-**Description:**
-
-Close an inventory id.
-
-**Parameters:**
-
-- `windowId`
-
- **Type:** `integer`
-
- **Description:** Inventory Id
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "CloseInventory",
- "requestId": "awpkfa0phiawd",
- "parameters": [5]
-}
-```
-
-### - `GetMaxChatMessageLength`
-
-**Description:**
-
-Get the max chat message length.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `integer`
-
-**Example:**
-
-```json
-{
- "command": "GetMaxChatMessageLength",
- "requestId": "foajfja0fajf0i",
- "parameters": []
-}
-```
-
-### - `Respawn`
-
-**Description:**
-
-Respawn the bot when it's dead.
-
-**Parameters:**
-
-- No parameters
-
-**Return type:** `boolean`
-
-**Example:**
-
-```json
-{
- "command": "Respawn",
- "requestId": "qawepifaihopafhio",
- "parameters": []
-}
-```
-
-### - `GetProtocolVersion`
-
-**Description:**
-
-Get the current protocol version
-
-**Parameters:**
-
-No parameters
-
-**Return type:** `integer`
-
-**Example:**
-
-```json
-{
- "command": "GetProtocolVersion",
- "requestId": "219u2wqt-q9j-t9ujq",
- "parameters": []
-}
-```
+The command list that used to live here documented an older WebSocket bot that is no longer present in the current MCC codebase. There is no current in-tree implementation backing those commands, so keeping the old catalog here as if it were active would be misleading.
diff --git a/docs/guide/websocket/Events.md b/docs/guide/websocket/Events.md
index 3a6b6cec..5b17eaec 100644
--- a/docs/guide/websocket/Events.md
+++ b/docs/guide/websocket/Events.md
@@ -1,1524 +1,5 @@
-# Web Socket Events (Web Socket Chat Bot protocol events)
+# WebSocket Events
-## `OnWsCommandResponse`
+This page is archived.
- **Description:**
-
- Sent by the WebSocket Chat Bot when a command was executed.
-
- **Response body:**
-
- - `success`
-
- **Type:** `boolean`
-
- **Description:** Flags the command execution as either successful if `true` or not successful if `false`.
-
- - `requestId`
-
- **Type:** `string`
-
- **Description:** The request Id that was sent when the command was sent to the WebSocket Chat Bot, used to track commands. (Randomly generated on each command sending)
-
- - `command`
-
- **Type:** `string`
-
- **Description:** The command that was sent.
-
- - `result`
-
- **Type:** `object`
-
- **Description:** The value that the command has returned.
-
- **Example:**
-
- ```json
- {
- "event": "OnWsCommandResponse",
- "data": {
- "success": true,
- "requestId": "ZLxcOhfMyf4SzNCqwMTx",
- "command": "LogToConsole",
- "result": true
- }
- }
- ```
-
-# MCC Events
-
-## `OnBlockBreakAnimation`
-
- **Description:**
-
- Sent when a block is broken in the world.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- - `Location`
-
- **Type:** `Location json encoded object`
-
- - `stage`
-
- **Type:** `integer`
-
- **Example:**
-
- ```json
- {
- "event": "OnBlockBreakAnimation",
- "data": {}
- }
- ```
-
-## `OnEntityAnimation`
-
- **Description:**
-
- Sent when an entity does an animation.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- - `animation`
-
- **Type:** `integer`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityAnimation",
- "data": {
- "entity": {
- "ID":8,
- "UUID":"8c0e3dc3-9bcc-3e03-a138-53348330d4ee",
- "Name":"someplayer",
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":77,
- "Location":{
- "X":-46.08784180879593,
- "Y":68,
- "Z":147.68046873807907,
- "Status":0,
- "ChunkX":-3,
- "ChunkY":8,
- "ChunkZ":9,
- "ChunkBlockX":1,
- "ChunkBlockY":4,
- "ChunkBlockZ":3
- },
- "Yaw":178.59375,
- "Pitch":28.125,
- "ObjectData":-1,
- "Health":20,
- "Item":{
- "Type":18,
- "Count":0,
- "NBT":null,
- "IsEmpty":true,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":{
- "6":0
- },
- "Equipment": {}
- },
- "animation":0
- }
- }
- ```
-
-## `OnChatPrivate`
-
- **Description:**
-
- Sent when the MCC receives a private chat message.
-
- **Parameters:**
-
- - `sender`
-
- **Type:** `string`
-
- - `message`
-
- **Type:** `string`
-
- - `rawText`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnChatPublic",
- "data": {
- "sender":"milutinke",
- "message":"hey there",
- "rawText":"milutinke whispers to you: hey there"
- }
- }
- ```
-
-## `OnChatPublic`
-
- **Description:**
-
- Sent when a public message was sent in the chat.
-
- **Parameters:**
-
- - `username`
-
- **Type:** `string`
-
- - `message`
-
- **Type:** `string`
-
- - `rawText`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnChatPublic",
- "data": {
- "username":"milutinke",
- "message":"hello world",
- "rawText":" hello world"
- }
- }
- ```
-
-## `OnTeleportRequest`
-
- **Description:**
-
- Sent when the bot gets a teleport request
-
- **Parameters:**
-
- - `sender`
-
- **Type:** `string`
-
- - `rawText`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnTeleportRequest",
- "data": {
- "sender": "milutinke",
- "rawText": "Milutinke want's to teleport to you. Type /tpaccept to accept the teleport request."
- }
- }
- ```
-
-## `OnChatRaw`
-
- **Description:**
-
- Sent when any kind of chat message was received by the MCC. Can contain JSON.
-
- **Parameters:**
-
- - `text`
-
- **Type:** `string`
-
- - `json`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnChatRaw",
- "data": {
- "text":"someplayer has made the advancement §a[§aCover Me with Diamonds]",
- "json":"{\"translate\":\"chat.type.advancement.task\",\"with\":[{\"insertion\":\"someplayer\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/tell someplayer \"},\"hoverEvent\":{\"action\":\"show_entity\",\"contents\":{\"type\":\"minecraft:player\",\"id\":\"8c0e3dc3-9bcc-3e03-a138-53348330d4ee\",\"name\":{\"text\":\"someplayer\"}}},\"text\":\"someplayer\"},{\"color\":\"green\",\"translate\":\"chat.square_brackets\",\"with\":[{\"hoverEvent\":{\"action\":\"show_text\",\"contents\":{\"color\":\"green\",\"extra\":[{\"text\":\"\\n\"},{\"translate\":\"advancements.story.shiny_gear.description\"}],\"translate\":\"advancements.story.shiny_gear.title\"}},\"translate\":\"advancements.story.shiny_gear.title\"}]}]}"
- }
- }
- ```
-
-## `OnDisconnect`
-
- **Description:**
-
- Sent when the bot has disconnected from a server. At this point you can't send commands to the MCC.
-
- **Parameters:**
-
- - `reason`
-
- **Type:** `string`
-
- - `message`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnDisconnect",
- "data": {
- "reason": "",
- "message": ""
- }
- }
- ```
-
-## `OnPlayerProperty`
-
- **Description:**
-
- Sent when the server need to update a player property
-
- **Parameters:**
-
- - `prop`
-
- **Type:** `json encoded object of { string key: double/number value }`
-
- **Example:**
-
- ```json
- {
- "event": "OnPlayerProperty",
- "data": {
- "minecraft:generic.movement_speed": 0.10000000149011612
- }
- }
- ```
-
-## `OnServerTpsUpdate`
-
- **Description:**
-
- Sent when the server TPS changes/updates.
-
- **Parameters:**
-
- - `tps`
-
- **Type:** `double`
-
- **Example:**
-
- ```json
- {
- "event": "OnServerTpsUpdate",
- "data": {
- "tps": 20.0
- }
- }
- ```
-
-## `OnTimeUpdate`
-
- **Description:**
-
- Sent when the world time changes.
-
- **NOTE: Sent quite frequently.**
-
- **Parameters:**
-
- - `worldAge`
-
- **Type:** `long`
-
- - `timeOfDay`
-
- **Type:** `long`
-
- **Example:**
-
- ```json
- {
- "event": "OnTimeUpdate",
- "data": {
- "worldAge": 1719192,
- "timeOfDay": -1132
- }
- }
- ```
-
-## `OnEntityMove`
-
- **Description:**
-
- Sent when an entity moves.
-
- **NOTE: Sent quite frequently.**
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityMove",
- "data": {
- "ID":16,
- "UUID":"00000000-0000-0000-0000-000000000000",
- "Name":null,
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":14,
- "Location":{
- "X":5.5,
- "Y":-47.9375,
- "Z":204.5,
- "Status":0,
- "ChunkX":0,
- "ChunkY":1,
- "ChunkZ":12,
- "ChunkBlockX":5,
- "ChunkBlockY":0,
- "ChunkBlockZ":12
- },
- "Yaw":0,
- "Pitch":0,
- "ObjectData":0,
- "Health":1,
- "Item":{
- "Type":18,
- "Count":0,
- "NBT":null,
- "IsEmpty":true,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":null,
- "Equipment": {}
- }
- }
- ```
-
-## `OnInternalCommand`
-
- **Description:**
-
- Sent when an internal MCC command has been executed.
-
- **Parameters:**
-
- - `command`
-
- **Type:** `string`
-
- - `parameters`
-
- **Type:** `string`
-
- - `result`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnInternalCommand",
- "data": {
- "command": "dig -115 74 -19",
- "parameters": "-115 74 -19",
- "result": "Attempting to dig block at -114,5 74 -18,5 (Grass Block)"
- }
- }
- ```
-
-## `OnEntitySpawn`
-
- **Description:**
-
- Sent when an entity is spawned or enters the player radius.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntitySpawn",
- "data": {
- "ID":78,
- "UUID":"00000000-0000-0000-0000-000000000000",
- "Name":null,
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":15,
- "Location":{
- "X":-47.5,
- "Y":68,
- "Z":146.5,
- "Status":0,
- "ChunkX":-3,
- "ChunkY":8,
- "ChunkZ":9,
- "ChunkBlockX":0,
- "ChunkBlockY":4,
- "ChunkBlockZ":2
- },
- "Yaw":30.9375,
- "Pitch":0,
- "ObjectData":0,
- "Health":1,
- "Item":{
- "Type":18,
- "Count":0,
- "NBT":null,
- "IsEmpty":true,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":null,
- "Equipment":{ }
- }
- }
- ```
-
-## `OnEntityDespawn`
-
- **Description:**
-
- Sent when an entity is de-spawned or leaves the player radius.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityDespawn",
- "data": {
- "ID":15,
- "UUID":"00000000-0000-0000-0000-000000000000",
- "Name":null,
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":56,
- "Location":{
- "X":-38.818737210380526,
- "Y":68,
- "Z":194.05856433486986,
- "Status":0,
- "ChunkX":-3,
- "ChunkY":8,
- "ChunkZ":12,
- "ChunkBlockX":9,
- "ChunkBlockY":4,
- "ChunkBlockZ":2
- },
- "Yaw":0,
- "Pitch":0,
- "ObjectData":0,
- "Health":1,
- "Item":{
- "Type":396,
- "Count":1,
- "NBT":{ },
- "IsEmpty":false,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":{
- "8":{
- "Type":396,
- "Count":1,
- "NBT":{
-
- },
- "IsEmpty":false,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- }
- },
- "Equipment":{ }
- }
- }
- ```
-
-### - `OnHeldItemChange`
-
- **Description:**
-
- Sent when a held item is changed.
-
- **Parameters:**
-
- - `itemSlot`
-
- **Type:** `integer`
-
- **Example:**
-
- ```json
- {
- "event": "OnHeldItemChange",
- "data": {
- "itemSlot": 1
- }
- }
- ```
-
-### - `OnHealthUpdate`
-
- **Description:**
-
- Sent when player's health is updated.
-
- **Parameters:**
-
- - `health`
-
- **Type:** `float`
-
- - `food`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnHealthUpdate",
- "data": {
- "health": 18,
- "food": 7
- }
- }
- ```
-
-### - `OnExplosion`
-
- **Description:**
-
- Sent when there is an explosion.
-
- **Parameters:**
-
- - `Location`
-
- **Type:** `Location json encoded object`
-
- - `strength`
-
- **Type:** `float`
-
- - `recordCount`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnExplosion",
- "data": {
- "location": {
- "X": -117.49000000953674,
- "Y": 66.0612500011921,
- "Z": -26.490000009536743,
- "Status": 0,
- "ChunkX": -8,
- "ChunkY": 8,
- "ChunkZ": -2,
- "ChunkBlockX": 10,
- "ChunkBlockY": 2,
- "ChunkBlockZ": 5
- },
- "strength": 4,
- "recordCount": 139
- }
- }
- ```
-
-### - `OnSetExperience`
-
- **Description:**
-
- Sent when the player's experience is updated.
-
- **Parameters:**
-
- - `experienceBar`
-
- **Type:** `float`
-
- - `level`
-
- **Type:** `int`
-
-- `totalExperience`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnSetExperience",
- "data": {
- "experienceBar": 0.60504204,
- "level": 7,
- "totalExperience": 120
- }
- }
- ```
-
-### - `OnGamemodeUpdate`
-
- **Description:**
-
- Sent when the player's game mode has changed.
-
- **Parameters:**
-
- - `playerName`
-
- **Type:** `string`
-
- - `uuid`
-
- **Type:** `string with UUID`
-
- - `gameMode`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnGamemodeUpdate",
- "data": {
- "playerName": "milutinke",
- "uuid": "8c0e3dc3-9bcc-3e03-a138-53348330d4ee",
- "gameMode": "creative"
- }
- }
- ```
-
-### - `OnLatencyUpdate`
-
- **Description:**
-
- Sent when the player's ping has changed.
-
- **Parameters:**
-
-- `playerName`
-
- **Type:** `string`
-
-- `uuid`
-
- **Type:** `string with UUID`
-
-- `latency`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnLatencyUpdate",
- "data": {
- "playerName": "someplayer",
- "uuid":"baa6eda2-cbc5-5119-870d-1960ce60574d",
- "latency": 14
- }
- }
- ```
-
-### - `OnMapData`
-
- **Description:**
-
- Sent when map data is received.
-
- **Parameters:**
-
- - `mapId`
-
- **Type:** `int`
-
- - `scale`
-
- **Type:** `integer`
-
- - `trackingPosition`
-
- **Type:** `bool`
-
- - `locked`
-
- **Type:** `bool`
-
- - `icons`
-
- **Type:** `array of map icon object`
-
- - `columnsUpdated`
-
- **Type:** `integer`
-
- - `rowsUpdated`
-
- **Type:** `integer`
-
- - `mapColumnX`
-
- **Type:** `integer`
-
- - `mapRowZ`
-
- **Type:** `integer`
-
- - `colors`
-
- **Type:** `base 64 encoded string of colors`
-
- **Example:**
-
- ```json
- {
- "event": "OnMapData",
- "data": {
- "mapId": 1,
- "scale": 0,
- "trackingPosition": true,
- "locked": false,
- "icons": [],
- "columnsUpdated": 128,
- "rowsUpdated": 128,
- "mapColumnX": 0,
- "mapRowZ": 0,
- "colors": null // ommited in this example, too long
- }
- }
- ```
-
-### - `OnTradeList`
-
- **Description:**
-
- Sent when villager's trade list has been received/updated.
-
- **Parameters:**
-
- - `windowId`
-
- **Type:** `int`
-
- - `trades`
-
- **Type:** `List`
-
- - `villagerInfo`
-
- **Type:** `VillagerInfo`
-
-
-### - `OnTitle`
-
- **Description:**
-
- Sent when a title action has been received.
-
- **Parameters:**
- - `action`
-
- **Type:** `int`
-
- - `titleText`
-
- **Type:** `string`
-
- - `subtitleText`
-
- **Type:** `string`
-
- - `actionBarText`
-
- **Type:** `string`
-
- - `fadeIn`
-
- **Type:** `int`
-
- - `stay`
-
- **Type:** `int`
-
- - `fadeout`
-
- **Type:** `int`
-
- - `json_`
-
- **Type:** `string`
-
-### - `OnEntityEquipment`
-
- **Description:**
-
- Sent when entity has changed or equipped equipment.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object` (nullable)
-
- - `slot`
-
- **Type:** `int`
-
- - `item`
-
- **Type:** `Item?`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityEquipment",
- "data": {
- "entity":{
- "ID":8,
- "UUID":"8c0e3dc3-9bcc-3e03-a138-53348330d4ee",
- "Name":"someplayer",
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":77,
- "Location":{
- "X":-46.88311344939438,
- "Y":68,
- "Z":146.96050249975414,
- "Status":0,
- "ChunkX":-3,
- "ChunkY":8,
- "ChunkZ":9,
- "ChunkBlockX":1,
- "ChunkBlockY":4,
- "ChunkBlockZ":2
- },
- "Yaw":178.59375,
- "Pitch":28.125,
- "ObjectData":-1,
- "Health":20,
- "Item":{
- "Type":18,
- "Count":0,
- "NBT":null,
- "IsEmpty":true,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":{
- "6":0
- },
- "Equipment":{
- "0":{
- "Type":368,
- "Count":1,
- "NBT":{
- "Damage":0
- },
- "IsEmpty":false,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- }
- }
- },
- "slot":0,
- "item":{
- "Type":368,
- "Count":1,
- "NBT":{
- "Damage":0
- },
- "IsEmpty":false,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- }
- }
- }
- ```
-
-### - `OnEntityEffect`
- **Description:**
- Sent when there are effects applied to an entity.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- - `effect`
-
- **Type:** `Effects`
-
- - `amplifier`
-
- **Type:** `int`
-
- - `duration`
-
- **Type:** `int`
-
- - `flags`
-
- **Type:** `integer`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityEffect",
- "data": {
- "entity": {
- "ID": 50,
- "UUID": "8c0e3dc3-9bcc-3e03-a138-53348330d4ee",
- "Name": "milutinke",
- "CustomNameJson": null,
- "IsCustomNameVisible": false,
- "CustomName": null,
- "Latency": 0,
- "Type": 77,
- "Location": {
- "X": -116.15188604696566,
- "Y": 74.79847191937456,
- "Z": -22.679173221632723,
- "Status": 0,
- "ChunkX": -8,
- "ChunkY": 8,
- "ChunkZ": -2,
- "ChunkBlockX": 11,
- "ChunkBlockY": 10,
- "ChunkBlockZ": 9
- },
- "Yaw": 330.46875,
- "Pitch": 9.84375,
- "ObjectData": -1,
- "Health": 20,
- "Item": {
- "Type": 18,
- "Count": 0,
- "NBT": null,
- "IsEmpty": true,
- "DisplayName": null,
- "Lores": null,
- "Damage": 0
- },
- "Pose": 0,
- "Metadata": {
- "9": 20,
- "11": true,
- "16": 122,
- "17": 127
- },
- "Equipment": {}
- },
- "effect": 33,
- "amplifier": 0,
- "duration": 77,
- "flags": 0
- }
- }
- ```
-
-### - `OnScoreboardObjective`
-
- **Description:**
-
- Sent when scoreboard objective has been added.
-
- **Parameters:**
-
- - `objectiveName`
-
- **Type:** `string`
-
- - `mode`
-
- **Type:** `integer`
-
- - `objectiveValue`
-
- **Type:** `string`
-
- - `type`
-
- **Type:** `int`
-
- - `json_`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnScoreboardObjective",
- "data": {
- "objectiveName": "testObj",
- "mode": 0,
- "objectiveValue": "Test Objective",
- "type": 0,
- "rawJson": "{\"text\":\"Testobj\"}"
- }
- }
- ```
-
-### - `OnUpdateScore`
-
- **Description:**
-
- Sent when scoreboard objective has been update/changed for an entity.
-
- **Parameters:**
-
- - `entityName`
-
- **Type:** `string`
-
- - `action`
-
- **Type:** `int`
-
- - `objectiveName`
-
- **Type:** `string`
-
- - `type`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnUpdateScore",
- "data": {
- "entityName": "test entity",
- "action": 1,
- "objectiveName": "test_objective",
- "type": 1
- }
- }
- ```
-
-### - `OnInventoryUpdate`
-
- **Description:**
-
- Sent when the an inventory has been updated.
-
- **Parameters:**
-
- - `inventoryId`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnInventoryUpdate",
- "data": {
- "inventoryId": 4
- }
- }
- ```
-
-### - `OnInventoryOpen`
-
- **Description:**
-
- Sent when a player opens an inventory.
-
- **Parameters:**
-
- - `inventoryId`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnInventoryOpen",
- "data": {
- "inventoryId": 5
- }
- }
- ```
-
-### - `OnInventoryClose`
-
- **Description:**
-
- Sent when a player/server closes an inventory.
-
- **Parameters:**
-
- - `inventoryId`
-
- **Type:** `int`
-
- **Example:**
-
- ```json
- {
- "event": "OnInventoryClose",
- "data": {
- "inventoryId": 4
- }
- }
- ```
-
-### - `OnPlayerJoin`
-
- **Description:**
-
- Sent when a player joins the server. (Not the bot)
-
- **Parameters:**
-
- - `uuid`
-
- **Type:** `string with UUID`
-
- - `name`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnPlayerJoin",
- "data": {
- "uuid": "8c0e3dc3-9bcc-3e03-a138-53348330d4ee",
- "name": "milutinke"
- }
- }
- ```
-
-### - `OnPlayerLeave`
-
- **Description:**
-
- Sent when a player leaves the server. (Not the bot)
-
- **Parameters:**
-
- - `uuid`
-
- **Type:** `string with UUID`
-
- - `name`
-
- **Type:** `string`
-
- **Example:**
-
- ```json
- {
- "event": "OnPlayerLeave",
- "data": {
- "uuid":"8c0e3dc3-9bcc-3e03-a138-53348330d4ee",
- "name":"milutinke"
- }
- }
- ```
-
-### - `OnDeath`
-
- **Description:**
-
- Sent when the bot dies.
-
- **Parameters:** None
-
- **Example:**
-
- ```json
- {
- "event": "OnDeath",
- "data": null
- }
- ```
-
-### - `OnRespawn`
-
- **Description:**
-
- Sent when the bot respawns.
-
- **Parameters:** None
-
- **Example:**
-
- ```json
- {
- "event": "OnRespawn",
- "data": null
- }
- ```
-
-### - `OnEntityHealth`
-
- **Description:**
-
- Sent when an entity health changes/updates.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object` (nullable)
-
- - `health`
-
- **Type:** `float`
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityHealth",
- "data": {
- "entity":{
- "ID":78,
- "UUID":"00000000-0000-0000-0000-000000000000",
- "Name":null,
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":15,
- "Location":{
- "X":-47.5,
- "Y":68,
- "Z":146.5,
- "Status":0,
- "ChunkX":-3,
- "ChunkY":8,
- "ChunkZ":9,
- "ChunkBlockX":0,
- "ChunkBlockY":4,
- "ChunkBlockZ":2
- },
- "Yaw":30.9375,
- "Pitch":0,
- "ObjectData":0,
- "Health":3,
- "Item":{
- "Type":18,
- "Count":0,
- "NBT":null,
- "IsEmpty":true,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":{
- "9":4
- },
- "Equipment":{
-
- }
- },
- "health":3
- }
- }
- ```
-
-### - `OnEntityMetadata`
-
- **Description:**
-
- Sent when entity's metadata has been received/updated/changed.
-
- **Parameters:**
-
- - `Entity`
-
- **Type:** `Entity json encoded object`
-
- - `metadata`
-
- **Type:** `Object of number as a key and object as value` (nullable)
-
- **Example:**
-
- ```json
- {
- "event": "OnEntityMetadata",
- "data": {
- "entity":{
- "ID":78,
- "UUID":"00000000-0000-0000-0000-000000000000",
- "Name":null,
- "CustomNameJson":null,
- "IsCustomNameVisible":false,
- "CustomName":null,
- "Latency":0,
- "Type":15,
- "Location":{
- "X":-47.5,
- "Y":68,
- "Z":146.5,
- "Status":0,
- "ChunkX":-3,
- "ChunkY":8,
- "ChunkZ":9,
- "ChunkBlockX":0,
- "ChunkBlockY":4,
- "ChunkBlockZ":2
- },
- "Yaw":30.9375,
- "Pitch":0,
- "ObjectData":0,
- "Health":3,
- "Item":{
- "Type":18,
- "Count":0,
- "NBT":null,
- "IsEmpty":true,
- "DisplayName":null,
- "Lores":null,
- "Damage":0
- },
- "Pose":0,
- "Metadata":{
- "9":3
- },
- "Equipment":{
-
- }
- },
- "metadata":{
- "9":3
- }
- }
- }
- ```
-
-### - `OnPlayerStatus`
-
- **Description:**
-
- Sent when player's status has been updated/changed.
-
- **Parameters:**
-
- - `statusId`
-
- **Type:** `integer`
-
- **Example:**
-
- ```json
- {
- "event": "OnPlayerStatus",
- "data": {
- "statusId": 5
- }
- }
- ```
-
-### - `OnNetworkPacket`
-
- **Description:**
-
- Sent when player's status has been updated/changed.
-
- **Parameters:**
-
- - `packetId`
-
- **Type:** `integer`
-
- - `isLogin`
-
- **Type:** `boolean`
-
- **Description:** Is the packet sent during the `login` phase. (Always `false`)
-
- - `isInbound`
-
- **Type:** `integer`
-
- **Description:** Is the packet sent from the server or by the MCC.
-
- - `packetData`
-
- **Type:** `array of bytes`
-
- **Description:** A raw byte array.
\ No newline at end of file
+The event list that used to live here documented an older WebSocket bot protocol that is not implemented in the current MCC tree. The old event names and payloads no longer match the codebase, so this page should not be treated as current API documentation.
diff --git a/docs/guide/websocket/README.md b/docs/guide/websocket/README.md
index b5eff123..deb6d0f5 100644
--- a/docs/guide/websocket/README.md
+++ b/docs/guide/websocket/README.md
@@ -1,142 +1,7 @@
-# Web Socket Chat Bot documentation
+# WebSocket Chat Bot
-This is a documentation page on the Web Socket chat bot and on how to make a library that uses web socket to execute commands in the MCC and processes events sent by the MCC.
+The in-tree WebSocket chat bot is not part of the current MCC codebase.
-Please read the [Important things](#important-things) before everything.
+These pages are kept only as historical placeholders because older documentation linked to them. Current mainline builds do not ship a `WebSocketBot`, and there is no supported WebSocket protocol to configure or rely on in the current project state.
-# Page index
-
-- [Important things](#important-things)
- - [Prerequisites](#prerequisites)
- - [Limitations](#limitations)
- - [Precision of information](#precisionvalidity-of-the-information-in-this-guide)
-- [How does it work?](#how-does-it-work)
-- [Sending commands](#sending-commands-to-mcc)
-- [Websocket Commands](Commands.md)
-- [Websocket Events](Events.md)
-- [Reference Implementation](#reference-implementation)
-
-## Reference implementation
-
-I have made a reference implementation in TypeScript/JavaScript, it is avaliable here:
-
-[https://github.com/milutinke/MCC.js](https://github.com/milutinke/MCC.js)
-
-It is great for better understanding how this works.
-
-## Important things
-
-### Prerequisites
-
-This guide/documentation assumes that you have enough of programming knowledge to know:
-
- - What Web Socket is
- - Basics of networking and concurency
- - What JSON is
- - What are the various data types such as boolean, integer, long, float, double, object, dictionary/hash map
-
-Without knowing those, I highly recommend learning about those concepts before trying to implement your own library.
-
-### Limitations
-
-The Web Socket chat bot should be considered experimental and prone to change, it has not been fully tested and might change, keep an eye on updates on our official Discord server.
-
-### Precision/Validity of the information in this guide
-
-This guide has been mostly generated from the code itself, so the types are C# types, except in few cases where I have manually changed them.
-
-For some thing you will have to dig in to the MCC C# code of the Chat Bot and various helper classes.
-
-**Some information sent by the MCC, for example entity metadata, block ids, item ids, or various other data is different for each Minecraft Version, thus you need to map it for each minecraft version.**
-
-Some events might not be that useful, eg. `OnNetworkPacket`
-
-## How does it work?
-
-So, basically, this Web Socket Chat Bot is a chat bot that has a Web Socket server running while you're connected to a minecraft server.
-
-It sends events, and listens for commands and responds to commands.
-
-It has build in authentication, which requires you to send a command to authenticate if the the password is set, if it is not set, it should automatically authenticate you on the first command.
-
-You also can name every connection (session) with an alias.
-
-The flow of the protocol is the following:
-
-```
-Connect to the chat bot via web socket
-
- |
- |
- \ /
- `
-
-Optionally set a session alias/name with "ChangeSessionId" command
-(this can be done multiple times at any point)
-
- |
- |
- \ /
- `
-
-Send an "Authenticate" command if there is a password set
-
- |
- |
- \ /
- `
-
-Send commands and listen for events
-```
-
-In order to implement a library that communicates witht this chat bot, you need to make a way to send commands, remember the sent commands via the `requestId` value, and listen for `OnWsCommandResponse` event in which you need to detect if your command has been executed by looking for the `requestId` that matches the one you've sent. I also recommend you put a 5-10 seconds command execution timeout, where you discard the command if it has not been executed in the given timeout range.
-
-## Sending commands to MCC
-
-You can send text in the chat, execute client commands or execute remote procedures (WebSocket Chat Bot commands).
-
-Each thing that is sent to the chat bot results in a response through the [`OnWsCommandResponse`](#onwscommandresponse) event.
-
-### Sending chat messages
-
-To send a chat message just send a plain text with your message to via the web socket.
-
-### Executing client commands
-
-To execute a client command, just send plain text with your command.
-
-Example: `/move suth`
-
-### Execution remote procedures (WebSocket Chat Bot commands)
-
-In order to execute a remote procedure, you need to send a json encoded string in the following format:
-
-```json
-{
- "command": "",
- "requestId": "",
- "parameters": [ 1, "some string", true, "etc.." ]
-}
-```
-
-#### `command`
-
- Refers to the name of the command
-
-#### `requestId`
-
- Is a unique indentifier you generate on each command, it will be returned in the response of the command execution ([`OnWsCommandResponse`](#onwscommandresponse)), use it to track if a command has been successfully executed or not, and to get the return value if it has been successfully executed. (*It's recommended to generate at least 7 characters to avoid collision, best to use an UUID format*).
-
-#### `parameters`
-
- Are parameters (attibutes) of the procedure you're executing, they're sent as an array of data of various types, the Web Socket chat bot does parsing and conversion and returns an error if you have sent a wrong type for the given parameters, of if you haven't send enough of them.
-
- **Example:**
-
- ```json
- {
- "command": "Authenticate",
- "requestId": "8w9u60-q39ik",
- "parameters": ["wspass12345"]
- }
- ```
\ No newline at end of file
+If this feature returns in a future release, this section should be rewritten from the implementation instead of from the old archived docs.