From 6403610e751ec3f56094f8c43b1c70c55d6c4235 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Tue, 6 Feb 2024 22:31:44 +0100 Subject: [PATCH] Cleanup of README files --- README.md | 118 +++++------------------------------- docs/DEVELOPER_API.md | 59 +++++++++--------- docs/UPDATE_INSTRUCTIONS.md | 8 +++ 3 files changed, 53 insertions(+), 132 deletions(-) diff --git a/README.md b/README.md index c6388478..e0dea6c3 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,8 @@ # 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 + +## Supported Server versions - Release (1.0.0 - 1.20.5) - Beta (b1.0 - b1.8.1) - Alpha (a1.0.15 - a1.2.6) @@ -22,115 +23,24 @@ At the time of writing, VFP is the only protocol translation platform for the cl - Snapshots (3D Shareware, 20w14infinite, Combat Test 8C) - Bedrock (1.20.0) -# For users -### Detailed instructions for use are available [here](docs/USAGE.md) -### If you encounter any issues, please report them on the [issue tracker](https://github.com/ViaVersion/ViaFabricPlus/issues) or on the ViaVersion [Discord](https://discord.gg/viaversion) - ## Known incompatibilities -### Breaks -- ***[ViaFabric (*)](https://github.com/ViaVersion/ViaFabric)*** -- ***[krypton (<= 0.2.2)](https://github.com/astei/krypton)*** -- ***[MemoryLeakFix (<= 1.1.0)](https://github.com/fxmorin/MemoryLeakFix)*** +- ***[ViaFabric](https://github.com/ViaVersion/ViaFabric)*** - Both mods are doing the same thing and conflict +- ***[DashLoader](https://github.com/alphaqu/DashLoader/tree/fabric-1.20)*** - Font rendering related fixes aren't working +- ***[Armor Skin](https://github.com/IzzyDotExe/ArmorSkin)*** - Beta HUD changes aren't working -### Conflicts -- ***[DashLoader (*)](https://github.com/alphaqu/DashLoader/tree/fabric-1.20)*** - Font rendering related fixes aren't working -- ***[Armor Skin (*)](https://github.com/IzzyDotExe/ArmorSkin)*** - Beta HUD changes aren't working +## For players +- Tutorial for installing and using the mod can be found [here](docs/USAGE.md) +- If you encounter any issues, please report them on the [issue tracker](https://github.com/ViaVersion/ViaFabricPlus/issues) or on the ViaVersion [Discord](https://discord.gg/viaversion) -## Feature list -
- Click to open +## For contributors/volunteers +- Guidelines for contributions can be found [here](docs/UPDATE_INSTRUCTIONS.md) +- The current TODO list can be found [here](https://github.com/ViaVersion/ViaFabricPlus/blob/main/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java) -- [x] Bounding boxes for all versions -- [x] Entity interaction and movement related packet fixes -- [x] Sync and async mouse/keyboard handling in <= 1.12.2 -- [x] Mining speeds and item attributes -- [x] Filter item creative tabs for only available items -- [x] Combat system in <= 1.8 -- [x] Tons of modifications to ViaVersion, ViaAprilFools, ViaLegacy and ViaBedrock to make it more legit (Metadata fixes, broken packets, edge-cases) -- [x] Visual and screen related changes (newer Command Block features, GameMode selection, ...) -- [x] Chat signatures (secure login) for all versions (1.19.0, 1.19.1, 1.19.2) -- [x] Address parsing for all Minecraft versions -- [x] PackFormats and HTTP Header for all resource pack versions -- [x] Raytrace related fixes in <= 1.8 -- [x] Implementing HUD changes for <= b1.7.3 -- [x] Chat lengths of all versions -- [x] Implementing non-sequenced block placement in <= 1.18.2 -- [x] Animation related fixes (1.7 Sneaking, c0.30 walking animation, ...) -- [x] Fixed clientside packet handling (1.16.5 transactions, 1.19.0 tablist, ...) -
+## For other modders +- API and integration examples can be found [here](docs/DEVELOPER_API.md) -# For developers and translators -### Contributions in the form of pull requests are always welcome, [here](docs/UPDATE_INSTRUCTIONS.md) are some guidelines for contributing to the project. -#### A detailed TODO list can be found at the class header of [this](https://github.com/ViaVersion/ViaFabricPlus/blob/main/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java) 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](https://gradle.org/install/). -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 -```groovy -repositories { - maven { - name = "ViaVersion" - url = "https://repo.viaversion.com" - } -} - -dependencies { - modImplementation("de.florianmichael:viafabricplus:3.0.2") // Get the latest version from releases -} -``` - -```xml - - - viaversion - https://repo.viaversion.com - - - - - - de.florianmichael - viafabricplus - 3.0.2 - - -``` - -### To learn more about the API and about addons, you can simply click [here](docs/DEVELOPER_API.md) +#### If you just want to talk or need help with ViaFabricPlus feel free to join my [Discord](https://discord.gg/BwWhCHUKDf). ## 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](https://discord.gg/BwWhCHUKDf) \ No newline at end of file diff --git a/docs/DEVELOPER_API.md b/docs/DEVELOPER_API.md index 13ad6162..70b457f9 100644 --- a/docs/DEVELOPER_API.md +++ b/docs/DEVELOPER_API.md @@ -1,6 +1,37 @@ # Developer API ViaFabricPlus provides various events and APIs for developers to use. This page explains how to use them. +## Include via Gradle/Maven +```groovy +repositories { + maven { + name = "ViaVersion" + url = "https://repo.viaversion.com" + } +} + +dependencies { + modImplementation("de.florianmichael:viafabricplus:x.x.x") // Get the latest version from releases +} +``` + +```xml + + + viaversion + https://repo.viaversion.com + + + + + + de.florianmichael + viafabricplus + x.x.x + + +``` + ## Events ViaFabricPlus events are using the [Fabric Event API](https://fabricmc.net/wiki/tutorial:events). You can register to them like this: ```java @@ -60,31 +91,3 @@ if (ItemRegistryDiff.contains(Items.STONE, VersionRange.andOlder(VersionEnum.r1_ // Do something } ``` - -### Creating own settings for the settings screen -```java -public class ExampleSettingGroup extends SettingGroup { - - private static final ExampleSettingGroup INSTANCE = new ExampleSettingGroup(); - - public final BooleanSetting test = new BooleanSetting(this, Text.of("Test"), false); - - public ExampleSettingGroup() { - super("Example"); - } - - public static ExampleSettingGroup global() { - return INSTANCE; - } - -} -``` - -and then you register the setting group in your onLoad method -```java -RegisterSettingsCallback.EVENT.register(state -> { - if (state == RegisterSettingsCallback.State.POST) { - ViaFabricPlus.global().getSettingsManager().addGroup(ExampleSettingGroup.INSTANCE); - } -}); -``` diff --git a/docs/UPDATE_INSTRUCTIONS.md b/docs/UPDATE_INSTRUCTIONS.md index eda41708..53e3fcea 100644 --- a/docs/UPDATE_INSTRUCTIONS.md +++ b/docs/UPDATE_INSTRUCTIONS.md @@ -21,6 +21,14 @@ Translation files are located in `src/main/resources/assets/viafabricplus/lang/` 7. Create a pull request and wait for it to be reviewed and merged. 8. You're done, congrats! +## Setting up a Workspace +ViaFabricPlus uses Gradle, to make sure that it is installed properly you can check [Gradle's website](https://gradle.org/install/). +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. + ## Update to a new Minecraft version 1. Update all upstream versions in `gradle.properties`. The main versions you need to update are: - `minecraft_version`