MCPcopy Index your code
hub / github.com/Exceptionflug/protocolize

github.com/Exceptionflug/protocolize @v2.4.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.4.2 ↗ · + Follow
1,027 symbols 2,073 edges 166 files 109 documented · 11% updated 2mo agov2.4.2 · 2024-10-23★ 34724 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://github.com/Exceptionflug/protocolize/raw/v2.4.2/protocolize-logo.webp" width="512">

Next generation protocol manipulation framework for proxy servers.

<a href="http://ci.exceptionflug.de/job/Protocolize2/"><img src="http://ci.exceptionflug.de/buildStatus/icon?job=Protocolize2"></a>
<a href="https://github.com/Exceptionflug/Protocolize/releases"><img src="https://img.shields.io/github/downloads/Exceptionflug/Protocolize/total?color=GREEN&label=Downloads"></a>
<a href="https://discord.gg/ZsYjwcNRbV"><img src="https://img.shields.io/discord/752533664696369204?label=Discord"></a>
<img src="https://img.shields.io/github/license/Exceptionflug/Protocolize"></a>
<a href="https://twitter.com/Exceptionflug"><img src="https://img.shields.io/twitter/follow/Exceptionflug?label=Twitter&style=social"></a>

Protocolize v2

This is the official repository for the next generation proxy server protocol manipulation framework. If you wish to see the repository for Protocolize v1, click here.

Getting started

Installation

In order to use Protocolize, you have to install it onto your proxy server. Protocolize is supporting BungeeCord and Velocity proxy servers. Download the latest protocolize version for your proxy software right here: https://exceptionflug.de/protocolize.

Maven dependency and repository

<repository>
    <id>exceptionflug</id>
    <url>https://mvn.exceptionflug.de/repository/exceptionflug-public/</url>
</repository>
<dependency>
    <groupId>dev.simplix</groupId>
    <artifactId>protocolize-api</artifactId>
    <version>2.4.2</version>
    <scope>provided</scope>
</dependency>

Or alternatively, with Gradle:

repsitories {
    maven {
        url = uri('https://mvn.exceptionflug.de/repository/exceptionflug-public/')
    }
}

dependencies {
    compileOnly("dev.simplix:protocolize-api:2.4.1")
}

Compatibility

Protocolize is shipped with it's default data module which adds support for the following versions: | Minecraft Version | Supported | |--|--| | 1.8.x - 1.12.2 | ❌ (Only with additional legacy module) | | 1.13 - 1.13.2 | ✔️ (Sounds only with additional legacy module) | | 1.14 - 1.21 | ✔️ |

Implemented packets by default:

Packet Class
Player block placement dev.simplix.protocolize.data.packets.BlockPlacement
Inventory click dev.simplix.protocolize.data.packets.ClickWindow
Close inventory dev.simplix.protocolize.data.packets.CloseWindow
Confirm transaction dev.simplix.protocolize.data.packets.ConfirmTransaction
Held item change dev.simplix.protocolize.data.packets.HeldItemChange
Named sound effect dev.simplix.protocolize.data.packets.NamedSoundEffect
Sound effect dev.simplix.protocolize.data.packets.SoundEffect
Open inventory dev.simplix.protocolize.data.packets.OpenWindow
Player look update dev.simplix.protocolize.data.packets.PlayerLook
Player position update dev.simplix.protocolize.data.packets.PlayerPosition
Player position and look update dev.simplix.protocolize.data.packets.PlayerPositionLook
Player slot update dev.simplix.protocolize.data.packets.SetSlot
Player item interaction dev.simplix.protocolize.data.packets.UseItem
Inventory items dev.simplix.protocolize.data.packets.WindowItems
Inventory properties dev.simplix.protocolize.data.packets.WindowProperty

You can easily add support for new packets and versions by installing modules.

Known issues

  • Protocolize is unstable when being used with proxy installations of Geyser / Floodgate and/or ViaVersion.

Get some help

For documentation take a look at the wiki pages. If you have questions feel free to join our discord server.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 785
Interface 132
Class 95
Enum 15

Languages

Java100%

Modules by API surface

protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FoodComponent.java19 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BaseItemStack.java19 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/JukeboxPlayableComponent.java18 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ProtocolUtil.java17 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/player/ProtocolizePlayer.java16 symbols
protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityProtocolRegistrationProvider.java15 symbols
protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/util/QuerzNbtToJoNbtMapper.java15 symbols
protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/util/JoNbtToQuerzNbtMapper.java15 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/item/ItemStack.java15 symbols
protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordProtocolRegistrationProvider.java14 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ReflectionUtil.java14 symbols
protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ToolComponent.java14 symbols

For agents

$ claude mcp add protocolize \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page