Описание
🏛️ ProtocolExtension extends server possibilities by adding more packets* to the game.
**Note:** If you're using my mods, please do not buy Minecraft.
📦 Setup (only for server owners)
ProtocolExtension can only be installed as a client on Fabric, and as a server on Paper (and forks). I may add more compatibility in the future but it is not considered currently. The project JAR is both for the server, and the client.
Download the ProtocolExtension latest JAR file
Download the PacketEvents latest JAR file
Upload both JARs to the server `plugins` folder
Of course, all players also need to install the ProtocolExtension JAR file (to be able to have the custom packets work), but it doesn't have any dependencies on the client.
###### (You can make a plugin that kicks players for not using this as a mod, however it's optional to do so - because most plugins I make use this just as a QoL thing, not an essential part of any process)
Older versions of ProtocolExtension are not supported. If you need an update for an older Minecraft version, please request it on the GitHub Issues page - if it's not too different from the latest (in terms of code), I might make a version for it.
🪶 Packets
[Serverbound]
Activate (internal) - sent first to notify the server of the ProtocolExtension support
KeyPressedC2S - received when the client presses a non-special key in-game
MouseMoveC2S - received when the client moves the mouse in a screen
ChatOpenedC2SPayload - received when the client opens the chat screen
ChatClosedC2SPayload - received when the client closes the chat screen
[Clientbound]
Activate (internal) - sent back to notify the client of the ProtocolExtension support
ToggleHUDS2C - sent to click F1 on behalf of the client**
HUDPutElementS2C - adds an element with a given id, position and text to the in-game HUD
HUDDeleteElementS2C - deletes an element with a given id from the ingame HUD
HUDClearS2C - clears all elements from the ingame HUD
HUDSettingHotbarS2C - toggles hotbar visibility on the ingame HUD
MoveToggleS2C - toggles movement ticking in the client logic
ServerCommandS2C - sets the player's sneaking and sprinting modes
SetWindowTitleS2C - appends a text literal to the game window title
SetPerspectiveS2C - sets the client's perspective
ToggleRenderingS2C - toggles whether the game renders for the client
ClearChatS2CPayload - clears the client's chat
🛡️ Security
ProtocolExtension treats your device safety seriously, and minimizes the provided data as much as possible. The server **cannot**:
- evaluate raw code on your client
- log your keyboard or mouse states when used outside of the game
- view any HUD elements not created by it
All HUD elements the server makes are automatically removed after you leave the server.
🏮 API
ProtocolExtension has an API to send the custom packets to the clients. A documentation will be available for it soon. To install it, you need to embed the ProtocolExtension jar in your maven.pom/build.gradle as compile-only; [more info here](https://github.com/Olafcio1/ProtocolExtension?tab=readme-ov-file#-quickstart).
* it actually uses CustomPayload packets
** toggle HUD visibility