Fabric mod to connect to EVERY Minecraft server version (Release, Beta, Alpha, Classic, Snapshots, Bedrock) with QoL fixes to the gameplay
Go to file
FlorianMichael 94471bf961
Code cleanup
2023-11-27 19:59:01 +01:00
.github Moved documentation related resources into documentation folder 2023-11-26 12:58:59 +01:00
.idea/copyright Update copyright header 2023-11-25 15:53:18 +01:00
documentation Moved documentation related resources into documentation folder 2023-11-26 12:58:59 +01:00
gradle/wrapper Gradle 8.4, G1GC, Update dependencies. (#275) 2023-10-20 20:53:24 +02:00
src/main Code cleanup 2023-11-27 19:59:01 +01:00
.gitignore Reformatted .gitignore 2023-08-03 20:21:39 +02:00
build.gradle Added and fixed tons of clientside fixes 2023-11-26 21:11:41 +01:00
gradle.properties Merge remote-tracking branch 'origin/main' into recode/3.0.0 2023-11-27 17:32:37 +01:00
gradlew Gradle 8.3 and other dependency updates. (#259) 2023-10-02 01:03:39 +02:00
gradlew.bat Gradle 8.3 and other dependency updates. (#259) 2023-10-02 01:03:39 +02:00
jitpack.yml Gradle 8.3 and other dependency updates. (#259) 2023-10-02 01:03:39 +02:00
LICENSE updated README and cleaned up code 2023-03-17 21:31:55 +01:00
README.md Moved documentation related resources into documentation folder 2023-11-26 12:58:59 +01:00
settings.gradle Updated build code 2023-05-15 20:27:07 +02:00

ViaFabricPlus


Fabric mod to connect to EVERY Minecraft server version (Release, Beta, Alpha, Classic, Snapshots, Bedrock) with QoL fixes to the gameplay

Why another protocol translator?

ViaFabricPlus is a deep integration of ViaVersion on the Fabric platform, unlike the classic Via* implementations, ViaFabricPlus implements many changes that can't be fixed on protocol level (old animations, old movement/swimming, collisions and general rendering changes). At the time of writing, VFP is the only protocol translation platform for the client with which you can play on all Minecraft multiplayer versions with many QoL features and get the feel of the old versions.

Supported Server versions

  • Release (1.0.0 - 1.20.3 snapshot)
  • Beta (b1.0 - b1.8.1)
  • Alpha (a1.0.15 - a1.2.6)
  • Classic (c0.0.15 - c0.30 including CPE)
  • Snapshots (3D Shareware, 20w14infinite, Combat Test 8C)
  • Bedrock (1.20.0)

For users

Detailed instructions for use are available here

If you encounter any issues, please report them on the issue tracker or on the ViaVersion Discord

Known incompatibilities

Breaks

Conflicts

Feature list

Click to open
  • Bounding boxes for all versions
  • Entity interaction and movement related packet fixes
  • Sync and async mouse/keyboard handling in <= 1.12.2
  • Mining speeds and item attributes
  • Filter item creative tabs for only available items
  • Combat system in <= 1.8
  • Tons of modifications to ViaVersion, ViaAprilFools, ViaLegacy and ViaBedrock to make it more legit (Metadata fixes, broken packets, edge-cases)
  • Visual and screen related changes (newer Command Block features, GameMode selection, ...)
  • Chat signatures (secure login) for all versions (1.19.0, 1.19.1, 1.19.2)
  • Address parsing for all Minecraft versions
  • PackFormats and HTTP Header for all resource pack versions
  • Raytrace related fixes in <= 1.8
  • Implementing HUD changes for <= b1.7.3
  • Chat lengths of all versions
  • Implementing non-sequenced block placement in <= 1.18.2
  • Animation related fixes (1.7 Sneaking, c0.30 walking animation, ...)
  • Fixed clientside packet handling (1.16.5 transactions, 1.19.0 tablist, ...)

For developers and translators

Contributions in the form of pull requests are always welcome, please just stick to my code style and make sure your code is easy to update and compatible with other mods.

Translations

Translations for other languages are always welcome, in ~/resources/assets/viafabricplus/lang you can find all translations,
if you know a language well, feel free to make a PR and add translations for that language

Changes to the code base

If you want to make changes to the code base, please make sure that your changes are compatible with other mods and that they are easy to update. Also, please follow my code style and make sure that cursed parts of your code are documented ™️

A detailed TODO List can be found at the class header of this file.

Dependencies

For compiling only! You do not need to install these!

Click to get a list of all dependencies
Dependency Download
Fabric API https://github.com/fabricMC/fabric
Fabric Loader https://github.com/fabricMC/fabric-loader
Classic4J https://github.com/FlorianMichael/Classic4J
ViaVersion https://github.com/ViaVersion/ViaVersion
ViaBackwards https://github.com/ViaVersion/ViaBackwards
ViaLoader https://github.com/ViaVersion/ViaLoader
ViaLegacy https://github.com/ViaVersion/ViaLegacy
ViaAprilFools https://github.com/ViaVersion/ViaAprilFools
ViaBedrock https://github.com/RaphiMC/ViaBedrock
MinecraftAuth https://github.com/RaphiMC/MinecraftAuth
Netty-transport-RakNet https://github.com/CloudburstMC/Network/tree/develop
Reflect https://github.com/Lenni0451/Reflect
MixinExtras https://github.com/LlamaLad7/MixinExtras

Setting up a Workspace

ViaFabricPlus uses Gradle, to make sure that it is installed properly you can check Gradle's website.

  1. Clone the repository using git clone https://github.com/ViaVersion/ViaFabricPlus.
  2. CD into the local repository.
  3. Run ./gradlew genSources.
  4. Open the folder as a Gradle project in your preferred IDE.
  5. Run the mod.

Include via Gradle/Maven

repositories {
    maven { 
        name = "ViaVersion"
        url = "https://repo.viaversion.com"
    }
}

dependencies {
    implementation ("de.florianmichael:viafabricplus:2.9.5") { // Get the latest version from releases
        transitive = false
    }
}
<repositories>
    <repository>
        <id>viaversion</id>
        <url>https://repo.viaversion.com</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>de.florianmichael</groupId>
        <artifactId>viafabricplus</artifactId>
        <version>2.9.5</version> <!-- Get the latest version from releases -->
    </dependency>
</dependencies>

To learn more about the API and about addons, you can simply click here

Disclaimer

It cannot be guaranteed that this mod is allowed on specific servers as it can possibly cause problems with anti-cheat plugins.
(USE ONLY WITH CAUTION!)

If you want to talk with me, feel free to join my Discord