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 cb31189cb8
Codestyle changes on mixin files:
- Use else block and ternary operator when possible
- Rely more on MixinExtras annotations (e.g. WrapWithCondition)
- Prevent not needed local fields
- Only use var if field type is clear or to prevent lines from getting to long
- Use VersionEnum#isNewerThan in disabling/removal injections
2024-01-23 20:41:05 +01:00
.github Update CI and fabric. 2024-01-20 23:18:23 +01:00
.idea/copyright Updated metadata 2024-01-01 17:52:14 +01:00
docs Some code styling 2023-12-27 23:31:46 +01:00
gradle/wrapper Updated Fabric and gradle to latest upstream 2023-12-13 23:14:28 +01:00
src/main Codestyle changes on mixin files: 2024-01-23 20:41:05 +01:00
.gitignore Reformatted .gitignore 2023-08-03 20:21:39 +02:00
build.gradle Updated build.gradle 2024-01-19 21:48:02 +01:00
gradle.properties Update CI and fabric. 2024-01-20 23:18:23 +01:00
gradlew Updated Fabric and gradle to latest upstream 2023-12-13 23:14:28 +01:00
gradlew.bat Updated Fabric and gradle to latest upstream 2023-12-13 23:14:28 +01:00
jitpack.yml Ensure the JDK is defaulted in shell 2024-01-21 14:02:50 +01:00
LICENSE updated README and cleaned up code 2023-03-17 21:31:55 +01:00
README.md 24w03b 2024-01-18 20:04:39 +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, it 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.5)
  • 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, here are some guidelines for contributing to the project.

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
MCPing https://github.com/Lenni0451/MCPing
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 {
    modImplementation("de.florianmichael:viafabricplus:3.0.2") // Get the latest version from releases
}
<repositories>
    <repository>
        <id>viaversion</id>
        <url>https://repo.viaversion.com</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>de.florianmichael</groupId>
        <artifactId>viafabricplus</artifactId>
        <version>3.0.2</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