More packet sending API
Allows for easy packet sending from a specific version to or from any client version supported by Via.
For example, you can send packets in the 1.17.1 format to both client and server, and it will be transformed accordingly if executed on another server version or sent to a different client version.
16 files changed
tree: ae092ba56119825c59e678b830e707b3956470b2
  1. .github/
  2. .gitignore
  3. LICENSE
  4. README.md
  5. adventure/
  6. api-legacy/
  7. api/
  8. build-logic/
  9. build.gradle.kts
  10. bukkit-legacy/
  11. bukkit/
  12. bungee/
  13. common/
  14. fabric/
  15. gradle.properties
  16. gradle/
  17. gradlew
  18. gradlew.bat
  19. java-compat/
  20. licenses/
  21. settings.gradle.kts
  22. sponge-legacy/
  23. sponge/
  24. universal/
  25. velocity/
README.md

ViaVersion - Spigot, Sponge, BungeeCord, Velocity

Latest Release Build Status Discord

Allows the connection of higher client versions to lower server versions

Supported Versions:

Table (https://i.imgur.com/uDM9HR8.png)

On Paper you may also use ProtocolSupport, but ensure you have the right build for your server version.

User Docs: https://docs.viaversion.com/display/VIAVERSION/

Sources:

wiki.vg (Used for information regarding packet structure, we also contribute back)

Burger (See PAaaS)

OpenNBT

Releases / Dev Builds:

You can find official releases here:

https://www.spigotmc.org/resources/viaversion.19254/history


You can find official dev builds here:

Jenkins: https://ci.viaversion.com

JavaDocs: https://jd.viaversion.com

Maven Repository:

<repository>
    <id>viaversion-repo</id>
    <url>https://repo.viaversion.com</url>
</repository>

API-artifact:

<dependency>
    <groupId>com.viaversion</groupId>
    <artifactId>viaversion-api</artifactId>
    <version>LATEST</version>
    <scope>provided</scope>
</dependency>

Replace the version depending on your needs.

If you need access to the existing protocol or platform implementations, use the parent artifact viaversion. Please note the differences in licensing.

Building:

After cloning this repository, build the project with Gradle by running ./gradlew build and take the created jar out of the build/libs directory.

License:

The entirety of the API directory (including the legacy API directory) is licensed under the MIT License; see licenses/MIT.md for details.

Everything else, unless explicitly stated otherwise, is licensed under the GNU General Public License, including the end product as a whole; see licenses/GPL.md for details.

Special thanks to all our Contributors.