{"id":21905992,"url":"https://github.com/2008choco/networking","last_synced_at":"2025-10-31T09:31:19.312Z","repository":{"id":220440043,"uuid":"751646384","full_name":"2008Choco/Networking","owner":"2008Choco","description":"A platform-agnostic networking framework for Minecraft","archived":false,"fork":false,"pushed_at":"2025-01-02T15:12:19.000Z","size":158,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T16:59:42.302Z","etag":null,"topics":["bukkit","fabric","java","minecraft","networking","packets"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2008Choco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-02T02:40:37.000Z","updated_at":"2025-01-27T23:59:34.000Z","dependencies_parsed_at":"2024-05-08T04:40:27.481Z","dependency_job_id":null,"html_url":"https://github.com/2008Choco/Networking","commit_stats":null,"previous_names":["2008choco/networking"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2008Choco%2FNetworking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2008Choco%2FNetworking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2008Choco%2FNetworking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2008Choco%2FNetworking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2008Choco","download_url":"https://codeload.github.com/2008Choco/Networking/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239171871,"owners_count":19594047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit","fabric","java","minecraft","networking","packets"],"created_at":"2024-11-28T16:39:53.503Z","updated_at":"2025-10-31T09:31:13.980Z","avatar_url":"https://github.com/2008Choco.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Networking\n\nBorn from [VeinMiner (Bukkit)](https://github.com/2008Choco/VeinMiner/)'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.\n\nWhile 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.\n\n## Dependency Information\n\nCurrently 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](https://github.com/2008Choco/Networking/pulls)! Pull requests are welcomed.\n\nSupport for Forge and NeoForge are planned. Sponge is not planned, but feel free to contribute.\n\n**Maven:**\n```xml\n\u003crepositories\u003e\n    \u003crepository\u003e\n        \u003cid\u003echoco-repo\u003c/id\u003e\n        \u003curl\u003ehttps://repo.choco.wtf/releases\u003c/url\u003e\n    \u003c/repository\u003e\n\u003c/repositories\u003e\n\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ewtf.choco\u003c/groupId\u003e\n        \u003cartifactId\u003enetworking-{PLATFORM}\u003c/artifactId\u003e\n        \u003cversion\u003e{VERSION}\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n**Gradle (Groovy):**\n```groovy\nrepositories {\n    maven { url = \"https://repo.choco.wtf/releases\" }\n}\n\ndependencies {\n    implementation 'wtf.choco:networking-{PLATFORM}:{VERSION}'\n}\n```\n\n**Gradle (Kotlin DSL):**\n```kotlin\nrepositories {\n    maven { url = \"https://repo.choco.wtf/releases\" }\n}\n\ndependencies {\n    implementation(\"wtf.choco:networking-{PLATFORM}:{VERSION}\")\n}\n```\n\n## Usage/Examples\n\nFor usage information and examples on how to use Networking, please refer to [the wiki](https://github.com/2008Choco/Networking/wiki) which will go more in-depth about how to create a protocol, defining packets (messages), protocol configurations, and ChannelRegistrars for supported platforms.\n\n## Used By\n\nIf you would like to see this library in action, [VeinMiner (Bukkit)](https://github.com/2008Choco/Networking) uses it heavily to communicate with its client-sided mod.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2008choco%2Fnetworking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2008choco%2Fnetworking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2008choco%2Fnetworking/lists"}