GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 2008Choco/Networking: A platform-agnostic networking framework for Minecraft

BranchesTags
Open more actions menu

Latest commit

 

History

40 Commits
40 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
gradle/wrapper
gradle/wrapper
 
 
networking-bukkit
networking-bukkit
 
 
networking-common
networking-common
 
 
networking-fabric
networking-fabric
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.gradle.kts
build.gradle.kts
 
 
checkstyle.xml
checkstyle.xml
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle.kts
settings.gradle.kts
 
 

Repository files navigation

Networking

Born from VeinMiner (Bukkit)'s networking code to facilitate communication between a Bukkit server plugin and Fabric client mod, Networking aims to provide a platform-independent framework for modded Minecraft client-server communication. With an object-friendly API in mind, developers are able to create a protocol that may be shared between client and server codebases without having to copy and paste the same packet contents.

While Networking does support any platform, its usefulness shines through especially in projects that do not share a common library. For instance, a Bukkit plugin wanting to communicate with a Fabric mod. Or a Sponge server wanting to communicate with a Forge client. Networking may be used in a modded environment with shared libraries, but often their in-built APIs for client-server communication tend to be sufficient and more accustomed to their own types.

Dependency Information

Currently supported platforms are bukkit, and fabric. If your platform is not listed, you may use common as a platform, you will just need to implement the ChannelRegistrar implementation for yourself. Or contribute it here! Pull requests are welcomed.

Support for Forge and NeoForge are planned. Sponge is not planned, but feel free to contribute.

Maven:

<repositories>
    <repository>
        <id>choco-repo</id>
        <url>https://repo.choco.wtf/releases</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>wtf.choco</groupId>
        <artifactId>networking-{PLATFORM}</artifactId>
        <version>{VERSION}</version>
    </dependency>
</dependencies>

Gradle (Groovy):

repositories {
    maven { url = "https://repo.choco.wtf/releases" }
}

dependencies {
    implementation 'wtf.choco:networking-{PLATFORM}:{VERSION}'
}

Gradle (Kotlin DSL):

repositories {
    maven { url = "https://repo.choco.wtf/releases" }
}

dependencies {
    implementation("wtf.choco:networking-{PLATFORM}:{VERSION}")
}

Usage/Examples

For usage information and examples on how to use Networking, please refer to the wiki which will go more in-depth about how to create a protocol, defining packets (messages), protocol configurations, and ChannelRegistrars for supported platforms.

Used By

If you would like to see this library in action, VeinMiner (Bukkit) uses it heavily to communicate with its client-sided mod.

About

A platform-agnostic networking framework for Minecraft

Topics

bukkitfabricjavaminecraftnetworkingpackets

Resources

Readme
MIT license
Activity

Stars

3 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.