MCPcopy Index your code
hub / github.com/ViaVersion/ViaBackwards

github.com/ViaVersion/ViaBackwards @5.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 5.10.0 ↗ · + Follow
2,151 symbols 5,529 edges 324 files 41 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ViaBackwards

Latest Release Build Status Discord

Allows the connection of older clients to newer server versions for Minecraft servers.

Requires ViaVersion to be installed.

Supported Versions

As a plugin, ViaBackwards runs on servers on releases 1.10-latest. You can also use ViaBackwards in ViaFabric or ViaFabricPlus. - in ViaFabric, put ViaBackwards into the mods folder - in ViaFabricPlus, put ViaBackwards into the config/viafabriclus/jars folder

See HERE for an overview of the different Via* projects.

Snapshot support

ViaBackwards will only be released a few days after a Minecraft update unless the protocol changes of the update were trivial. If you want early-access, usually days or even weeks before the final release, you can subscribe to either: - GitHub Sponsors (preferred option. Use the /verify command on this Discord after), or alternatively - Patreon (see the highest tier and make sure to link Patreon to your Discord account under Settings->Connections) This also includes access to a private repository with the code, which will be pushed to the public repository after the given delay on a Minecraft update.

Releases/Dev Builds

You can find releases in the following places:

  • Hangar (for our plugins): https://hangar.papermc.io/ViaVersion/ViaBackwards
  • Modrinth (for our mods): https://modrinth.com/mod/viabackwards
  • GitHub: https://github.com/ViaVersion/ViaBackwards/releases

Dev builds for all of our projects are on our Jenkins server:

  • Jenkins: https://ci.viaversion.com/view/ViaBackwards/

Known issues

  • 1.17+ min_y and height world values that are not 0/256 are not supported. Clients older than 1.17 will not be able to see or interact with blocks below y=0 and above y=255
  • <1.17 clients on 1.17+ servers might experience inventory desyncs on certain inventory click actions
  • Sound mappings are incomplete (see here)
  • <1.19.4 clients on 1.20+ servers won't be able to use the smithing table. This can be fixed by installing AxSmithing

Other Links

Maven: https://repo.viaversion.com

List of contributors: https://github.com/ViaVersion/ViaBackwards/graphs/contributors

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.

You need JDK 17 or newer to build ViaBackwards.

License

This project is licensed under the GNU General Public License Version 3.

Special Thanks

https://www.yourkit.com/

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

Extension points exported contracts — how you extend this code

Input (Interface)
(no doc) [8 implementers]
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/data/input/Input.java
GitCommandParameters (Interface)
(no doc)
build-logic/src/main/kotlin/extensions.kt
BackwardsBlockEntityHandler (Interface)
(no doc) [14 implementers]
common/src/main/java/com/viaversion/viabackwards/protocol/v1_13to1_12_2/provider/BackwardsBlockEntityProvider.java
Widget (Interface)
(no doc) [5 implementers]
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/data/widget/Widget.java
DialogViewProvider (Interface)
Interface for providing dialog view functionality to this protocol. Requires a storage to save per-user data while being [2 …
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/provider/DialogViewProvider.java
ViaBackwardsPlatform (Interface)
(no doc) [4 implementers]
common/src/main/java/com/viaversion/viabackwards/api/ViaBackwardsPlatform.java

Core symbols most depended-on inside this repo

write
called by 752
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_2to1_21/storage/RecipeStorage.java
get
called by 677
common/src/main/java/com/viaversion/viabackwards/api/rewriters/LegacyEntityRewriter.java
type
called by 203
common/src/main/java/com/viaversion/viabackwards/protocol/v1_19to1_18_2/storage/StoredPainting.java
equals
called by 136
common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/storage/ChunkLightStorage.java
remove
called by 91
common/src/main/java/com/viaversion/viabackwards/protocol/v1_19_4to1_19_3/storage/LinkedEntityStorage.java
add
called by 77
common/src/main/java/com/viaversion/viabackwards/protocol/v1_16_2to1_16_1/data/BiomeMappings1_16_1.java
getString
called by 75
common/src/main/java/com/viaversion/viabackwards/ViaBackwardsConfig.java
identifier
called by 73
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_2to1_21/storage/RecipeStorage.java

Shape

Method 1,795
Class 328
Interface 15
Function 9
Enum 4

Languages

Java99%
Kotlin1%

Modules by API surface

common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_2to1_21/storage/RecipeStorage.java42 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/provider/ChestDialogViewProvider.java33 symbols
common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsStructuredItemRewriter.java30 symbols
common/src/main/java/com/viaversion/viabackwards/ViaBackwardsConfig.java27 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/Protocol1_21_6To1_21_5.java23 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_9to1_21_7/storage/MannequinData.java22 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/storage/ChestDialogStorage.java21 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_6to1_21_5/data/Dialog.java21 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/Protocol1_21_11To1_21_9.java20 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_20_5to1_20_3/Protocol1_20_5To1_20_3.java20 symbols
common/src/main/java/com/viaversion/viabackwards/api/rewriters/LegacyBlockItemRewriter.java20 symbols
common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_5to1_21_4/Protocol1_21_5To1_21_4.java19 symbols

For agents

$ claude mcp add ViaBackwards \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact