A library for communication with a Minecraft client/server.
Find a file
RednedEpic 64410dbe48 Implement packet codec system to remove expensive protocol state switches
With the way this lib used to previously work, any time the protocol state changed, all the packet maps got cleared and had new packets inserted into them depending on the protocol state. This was unnecessarily expensive and although called rarely, it was not ideal.

The packet codecs added are static, immutable and can be reused across sessions. The codec system also opens up the door for multi-version capability in the future.
2021-11-13 16:44:55 -06:00
.github/workflows Refactor to use Mojmap packet names (#662) 2021-11-12 12:59:12 -05:00
example/com/github/steveice10/mc/protocol/test Implement packet codec system to remove expensive protocol state switches 2021-11-13 16:44:55 -06:00
src Implement packet codec system to remove expensive protocol state switches 2021-11-13 16:44:55 -06:00
.gitignore General cleanup, fixes, and re-versioning. 2015-07-20 11:13:18 -07:00
Jenkinsfile Update to new packetlib changes 2021-11-13 13:52:39 -06:00
LICENSE.txt Update license year. 2021-05-13 00:28:31 -07:00
pom.xml Update to new packetlib changes 2021-11-13 13:52:39 -06:00
README.md Refactor to use Mojmap packet names (#662) 2021-11-12 12:59:12 -05:00

MCProtocolLib

MCProtocolLib is a simple library for communicating with a Minecraft client/server. It aims to allow people to make custom bots, clients, or servers for Minecraft easily.

Example Code

See example/com/github/steveice10/mc/protocol/test/MinecraftProtocolTest.java

Adding as a Dependency

The recommended way of fetching MCProtocolLib is through jitpack.io. See here for more details on how to include MCProtocolLib in your project.

Maven:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.github.Steveice10</groupId>
    <artifactId>MCProtocolLib</artifactId>
    <version>(version here)</version>
</dependency>

Gradle:

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

dependencies {
    implementation 'com.github.Steveice10:MCProtocolLib:(version here)'
}

Building the Source

MCProtocolLib uses Maven to manage dependencies. Simply run 'mvn clean install' in the source's directory.

Support and development

Please join us at https://discord.gg/geysermc under #mcprotocollib for discussion and support for this project.

License

MCProtocolLib is licensed under the MIT license.