A library for communication with a Minecraft client/server.
Find a file
Alex 6b2ec667c1
Some checks failed
Java CI with Gradle / build (push) Has been cancelled
Deploy / build (push) Has been cancelled
Improve MCPL ticking data and behaviour (#865)
* Move packets to proper packages & implement game thread metadata for every packet

* Add new ticking info for 1.21.3

Notable info:
ServerboundSelectBundleItemPacket is not ticked, it's instant
ClientboundSetHeldSlotPacket is already ticked as it is just renamed ClientboundSetCarriedItemPacket

* Expose packet handler executor

* Do not tick delimiter packet

* Allow server to define packet handler executor factory

* Update protocol/src/main/java/org/geysermc/mcprotocollib/network/packet/Packet.java

Co-authored-by: chris <github@onechris.mozmail.com>

---------

Co-authored-by: chris <github@onechris.mozmail.com>
2024-11-28 00:06:58 +08:00
.github/workflows Move package/license to GeyserMC, gradle conventions and submodules (#782) 2024-01-11 12:21:23 -05:00
buildSrc Disable code signing for Jitpack (#813) 2024-06-02 01:16:19 -07:00
example Merge remote-tracking branch 'origin/master' into feature/1.21.2 2024-10-17 14:08:01 -04:00
gradle Replace MCAuth with RK_01 MinecraftAuth (#795) 2024-06-17 13:23:42 -07:00
protocol Improve MCPL ticking data and behaviour (#865) 2024-11-28 00:06:58 +08:00
.editorconfig Add .editorconfig (#801) 2024-05-08 14:44:49 +01:00
.gitignore Migrate to gradle, fix examples (#769) 2023-12-19 13:01:53 -05:00
build.gradle.kts Move package/license to GeyserMC, gradle conventions and submodules (#782) 2024-01-11 12:21:23 -05:00
gradlew Migrate to gradle, fix examples (#769) 2023-12-19 13:01:53 -05:00
gradlew.bat Migrate to gradle, fix examples (#769) 2023-12-19 13:01:53 -05:00
Jenkinsfile Fix Javadocs 2024-05-13 22:29:24 -04:00
jitpack.yml Create jitpack.yml (#778) 2023-12-22 19:32:29 -08:00
LICENSE.txt Move package/license to GeyserMC, gradle conventions and submodules (#782) 2024-01-11 12:21:23 -05:00
lombok.config Remove unused exceptions, use java 9+ features and checkerframework, other cleanup (#780) 2024-01-04 13:04:25 -05:00
README.md Update README.md (#844) 2024-08-20 12:00:28 +02:00
settings.gradle.kts Replace MCAuth with RK_01 MinecraftAuth (#795) 2024-06-17 13:23:42 -07:00

MCProtocolLib

MCProtocolLib is a simple library for communicating with Minecraft clients and servers. It allows developers to build custom bots, clients, or servers for Minecraft with ease.

Example Code

See the example folder for sample usage.

Adding as a Dependency

MCProtocolLib builds are published to the Open Collaboration repository. Follow the below steps to add MCProtocolLib as a dependency to your project.

Maven

Add the Repository

<repositories>
    <repository>
        <id>opencollab</id>
        <url>https://repo.opencollab.dev/main/</url>
    </repository>
</repositories>

Add the Dependency

<dependency>
    <groupId>org.geysermc.mcprotocollib</groupId>
    <artifactId>protocol</artifactId>
    <version>(version here)</version>
</dependency>

Gradle (Groovy DSL)

Add the Repository

repositories {
    maven { 
        name 'opencollab'
        url 'https://repo.opencollab.dev/main/'
    }
}

Add the Dependency

dependencies {
    implementation 'org.geysermc.mcprotocollib:protocol:(version here)'
}

Gradle (Kotlin DSL)

Add the Repository

repositories {
    maven("https://repo.opencollab.dev/main/") {
        name = "opencollab"
    }
}

Add the Dependency

dependencies {
    implementation("org.geysermc.mcprotocollib:protocol:(version here)")
}

Snapshots

To use snapshot builds, switch the URL to https://repo.opencollab.dev/maven-snapshots/.

Javadocs

You can find the Javadocs for MCProtocolLib on opencollab.

Building the Source

MCProtocolLib uses Gradle to manage dependencies. To build the source code, run ./gradlew clean build in the project root directory.

Support and Development

Please join the GeyserMC Discord server and visit the #mcprotocollib channel for discussion and support for this project.

License

MCProtocolLib is licensed under the MIT license.