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

github.com/ViaVersion/ViaFabricPlus @4.6.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 4.6.1 ↗ · + Follow
2,100 symbols 5,796 edges 561 files 107 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ViaFabricPlus logo

ViaFabricPlus

Mod Loader: Fabric Environment: Client Discord

Modrinth Downloads CurseForge Downloads Build Status

Minecraft Fabric mod that allows you to join every Minecraft server version (Classic, Alpha, Beta, Release, April Fools, Bedrock)

ViaFabricPlus is a Minecraft mod for Fabric that builds on the ViaVersion plugin. It lets you connect to servers from almost every Minecraft version while fixing issues that the original project couldn't.

These fixes make older servers feel much closer to how they originally played, with improvements to movement, block and entity interactions, graphics, and more. In short, it recreates the classic Minecraft experience on today's client.

Important to know

  • Works only with the newest Minecraft client version
  • Runs only on Fabric. (There won't be a Forge or NeoForge version)
  • Multiplayer only – it does not affect singleplayer worlds
  • Clientside only – it does not run on Multiplayer servers
  • No cross-version resource packs – resource packs from older versions are not supported
  • If you want to play using older Minecraft clients, you should use the original ViaFabric instead. For a detailed comparison between the two projects, check out the ViaFabric vs ViaFabricPlus section.

How to use

Supported Server versions

  • Release (1.0.0–latest supported release*)
  • Beta (b1.0 – b1.8.1)
  • Alpha (a1.0.15 – a1.2.6)
  • Classic (c0.0.15 – c0.30 including CPE)
  • April Fools (3D Shareware, 20w14infinite, 25w14craftmine)
  • Combat Snapshots (Combat Test 8c)
  • Bedrock Edition 1.26.30 (Some features are missing)

*Support for new Mojang releases is usually added within a few days

For Developers & Contributors

Credits

Huge thanks to all our contributors who made this project possible.

Disclaimer

We cannot guarantee this mod will be allowed on every server. Some servers may treat it as suspicious and flag it with anti-cheat plugins. Use responsibly and at your own risk!

Extension points exported contracts — how you extend this code

IBlockStateHandler (Interface)
(no doc) [11 implementers]
src/main/java/com/viaversion/viafabricplus/features/block/connections/IBlockStateHandler.java
ViaFabricPlusLoadEntrypoint (Interface)
Optional Entrypoint called before the ViaFabricPlus loading cycle starts. This is needed to register a {@link LoadingCyc [2 …
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/entrypoint/ViaFabricPlusLoadEntrypoint.java
IPlayerTabOverlay (Interface)
(no doc) [2 implementers]
viafabricplus-visuals/src/main/java/com/viaversion/viafabricplus/visuals/injection/access/r1_7_tab_list_tyle/IPlayerTabOverlay.java
ICrossCollisionBlock (Interface)
(no doc) [5 implementers]
src/main/java/com/viaversion/viafabricplus/injection/access/block/shape/ICrossCollisionBlock.java
ViaFabricPlusBase (Interface)
General API point for mods. Get instance via ViaFabricPlus#getImpl(). [1 implementers]
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/ViaFabricPlusBase.java
IPlayerInfo (Interface)
(no doc) [2 implementers]
viafabricplus-visuals/src/main/java/com/viaversion/viafabricplus/visuals/injection/access/r1_7_tab_list_tyle/IPlayerInfo.java
IMouseKeyboardHandlers (Interface)
(no doc) [4 implementers]
src/main/java/com/viaversion/viafabricplus/injection/access/execute_inputs_sync/IMouseKeyboardHandlers.java
LoadingCycleCallback (Interface)
This event is fired in various loading stages of ViaFabricPlus. See LoadingCycle for more information.
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/events/LoadingCycleCallback.java

Core symbols most depended-on inside this repo

getTargetVersion
called by 581
src/main/java/com/viaversion/viafabricplus/protocoltranslator/ProtocolTranslator.java
getValue
called by 127
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/settings/AbstractSetting.java
add
called by 117
src/main/java/com/viaversion/viafabricplus/save/SaveManager.java
write
called by 83
src/main/java/com/viaversion/viafabricplus/save/AbstractSave.java
get
called by 71
src/main/java/com/viaversion/viafabricplus/screen/VFPScreen.java
setValue
called by 59
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/settings/type/ModeSetting.java
get
called by 55
src/main/java/com/viaversion/viafabricplus/features/recipe/RecipeManager1_11_2.java
isEnabled
called by 48
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/settings/type/VersionedBooleanSetting.java

Shape

Method 1,516
Class 544
Interface 35
Enum 3
Function 2

Languages

Java100%
Kotlin1%

Modules by API surface

src/main/java/com/viaversion/viafabricplus/injection/mixin/features/movement/sprinting_and_sneaking/MixinLocalPlayer.java31 symbols
src/main/java/com/viaversion/viafabricplus/ViaFabricPlusImpl.java26 symbols
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/ViaFabricPlusBase.java25 symbols
src/main/java/com/viaversion/viafabricplus/injection/mixin/features/networking/packet_handling/MixinClientPacketListener.java23 symbols
src/main/java/com/viaversion/viafabricplus/injection/mixin/features/interaction/replace_block_item_use_logic/MixinMultiPlayerGameMode.java20 symbols
src/main/java/com/viaversion/viafabricplus/screen/VFPScreen.java19 symbols
src/main/java/com/viaversion/viafabricplus/injection/mixin/features/movement/collision/MixinEntity.java17 symbols
src/main/java/com/viaversion/viafabricplus/features/recipe/Recipes1_11_2.java17 symbols
src/main/java/com/viaversion/viafabricplus/screen/impl/realms/BedrockRealmsScreen.java16 symbols
src/main/java/com/viaversion/viafabricplus/screen/impl/PerServerVersionScreen.java16 symbols
viafabricplus-api/src/main/java/com/viaversion/viafabricplus/api/settings/AbstractSetting.java15 symbols
src/main/java/com/viaversion/viafabricplus/screen/impl/classic4j/ClassiCubeServerListScreen.java14 symbols

For agents

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

⬇ download graph artifact