a50dc89f2f
- Added former contributor to author list as well - Cleanup block changes from RaphiMC's last commit - Fixed some block related issues - Conditionally load IP-Next compat mixin - Made all Mixins abstract and methods private This commit is the initial commit to clean up some fundamental issues of VFP since its release: - Actually start with having a package structure to group mixins - Don't over-engineer debug/information system but keep it simple as it's only debugging - Renamed definition package to fixes to address its purpose - Start with creating proper packages for fixes - Start with documenting the source code tree so new contributors understand what we're doing |
||
---|---|---|
.github | ||
.idea/copyright | ||
gradle/wrapper | ||
src/main | ||
.gitignore | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
jitpack.yml | ||
LICENSE | ||
README.md | ||
settings.gradle |
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
- DashLoader (*) - Font rendering related fixes aren't working
- Armor Skin (*) - Beta HUD changes aren't working
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.
- Clone the repository using
git clone https://github.com/ViaVersion/ViaFabricPlus
. - CD into the local repository.
- Run
./gradlew genSources
. - Open the folder as a Gradle project in your preferred IDE.
- 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!)