diff --git a/.idea/copyright/profile_settings.xml b/.idea/copyright/profiles_settings.xml similarity index 88% rename from .idea/copyright/profile_settings.xml rename to .idea/copyright/profiles_settings.xml index 9b501edb..cc5db2f2 100644 --- a/.idea/copyright/profile_settings.xml +++ b/.idea/copyright/profiles_settings.xml @@ -1,5 +1,5 @@ - + diff --git a/README.md b/README.md index e5acb20e..5fa3f857 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,21 @@ # ViaFabric [![ViaVersion Discord](https://img.shields.io/badge/chat-on%20discord-blue.svg)](https://viaversion.com/discord) -[![CurseForge Downloads](http://cf.way2muchnoise.eu/full_viafabric_downloads.svg)](https://viaversion.com/fabric) -[![Modrinth Downloads](https://img.shields.io/modrinth/dt/ViaFabric?label=Modrinth&logo=Modrinth&style=flat-square)](https://modrinth.com/mod/ViaFabric) -[![CurseForge Versions](http://cf.way2muchnoise.eu/versions/viafabric.svg)](https://viaversion.com/fabric) +[![CurseForge Downloads](http://cf.way2muchnoise.eu/full_viafabric_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/viafabric) +[![Modrinth Downloads](https://img.shields.io/modrinth/dt/ViaFabric?label=Modrinth&logo=Modrinth&style=flat-square)](https://viaversion.com/fabric) +[![CurseForge Versions](http://cf.way2muchnoise.eu/versions/viafabric.svg)](https://www.curseforge.com/minecraft/mc-mods/viafabric) ### Client-side and server-side ViaVersion implementation for Fabric Allows the connection to/from different Minecraft versions on your Minecraft client/server (LAN worlds too) -This mod can be installed on 1.8.9, 1.12.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.1, 1.20.4, 1.20.6, 1.21 with Fabric Loader. +This mod can be installed on 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.1, 1.20.4, 1.20.6, 1.21 with Fabric Loader. + +The `legacy` branch also supports Legacy Fabric 1.8.9 and 1.12.2 versions. + +If you are using the latest Minecraft version and care about the gameplay being more enjoyable/functional, you may want to +check [ViaFabricPlus](https://modrinth.com/mod/viafabricplus) out. See the [differences](#viafabricplus) between ViaFabric and ViaFabricPlus. ## Dependencies @@ -18,20 +23,19 @@ This mod can be installed on 1.8.9, 1.12.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18 |-----------------------------------------------|----------------------------------------------------------------| | (Bundled) ViaVersion | https://viaversion.com/ | | (Bundled) Cotton Client Commands (MC 1.14-15) | https://jitpack.io/#TinfoilMC/ClientCommands | -| Fabric API (MC 1.14+) | https://modrinth.com/mod/fabric-api | -| Legacy Fabric API (MC 1.8.9 and 1.12.2) | https://modrinth.com/mod/legacy-fabric-api | +| Fabric API | https://modrinth.com/mod/fabric-api | Note: ViaVersion is designed for Vanilla Minecraft servers. It probably will not work with modded registry entries or registry synchronization (fabric-registry-sync mod). ## ViaVersion -### How can I install ViaBackwards/ViaRewind?: +### How can I install ViaBackwards/ViaRewind/ViaAprilFools?: - Just drop them into mods folder. Make sure you are using versions compatible with the ViaVersion version you are using. -### What versions can ViaVersion, ViaBackwards and ViaRewind translate?: +### What versions can ViaVersion, ViaBackwards, ViaRewind and ViaAprilFools translate?: - **With [ViaVersion](https://viaversion.com)**: Your server can accept newer versions. Your client can connect to older versions. @@ -40,18 +44,18 @@ registry synchronization (fabric-registry-sync mod). optionally [ViaRewind](https://viaversion.com/rewind))**: Your server can accept older versions. Your client can connect to newer versions. +- **Adding [ViaAprilFools](https://viaversion.com/aprilfools)**: Your server can accept April Fools versions. + Note: When using ViaFabric for versions older than 1.17, you need [Java 8 builds](https://ci.viaversion.com/) - Server-side: See https://viaversion.com/ - Client-side: -| | 1.8.x | 1.9.x | 1.10-1.20.x | 1.21.x | -|---------------|-------|-------|-------------|--------| -| 1.8.9 client | ✓ | ⏪ | ⏪⟲ | ⏪⟲ | ⏪⟲ | ⏪⟲ | ⏪⟲ | ⏪⟲ | ⏪⟲ | ⏪⟲ | -| 1.12.2 client | ✓ | ✓ | ⟲ | ⟲ | ⏪ |⏪ | ⏪ | ⏪ | ⏪ | ⏪ | -| 1.14.4-1.20.6 clients | ✓ | ✓ | ✓ | ⟲ | ⟲ ⟲ | ⟲ | ⟲ | ⟲ | ⟲ | -| 1.21 client | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| | 1.8.x | 1.9.x | 1.10-1.20.x | 1.21.x | +|-----------------------|-------|-------|-------------|--------| +| 1.14.4-1.20.6 clients | ✓ | ✓ | ✓ | ⟲ | ⟲ ⟲ | ⟲ | ⟲ | ⟲ | ⟲ | +| 1.21 client | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ = [ViaVersion](https://viaversion.com) ⟲ = [ViaBackwards](https://viaversion.com/backwards) ⏪ = [ViaRewind](https://viaversion.com/rewind) @@ -60,31 +64,32 @@ registry synchronization (fabric-registry-sync mod). ### Can ViaVersion, ViaBackwards and ViaRewind support snapshots?: -- Check https://ci.viaversion.com/ for development builds with snapshot support +- Check https://viaversion.com/donate for getting early access to snapshots. You can use the preview ViaVersion builds with ViaFabric by + putting them in the mods' folder. During Minecraft updates there will be usual a branch on this repository with the updated ViaFabric. ## Alternatives ### Client-side: +- [ViaForge](https://modrinth.com/mod/viaforge): Clientside Implementation of ViaVersion for Forge. +- [ViaFabricPlus](https://modrinth.com/mod/viafabricplus): Fabric mod for the latest Minecraft version with QoL fixes and enhancements to the gameplay. - [ClientViaVersion](https://github.com/Gerrygames/ClientViaVersion): Discontinued 5zig plugin. - [multiconnect](https://www.curseforge.com/minecraft/mc-mods/multiconnect): Discontinued Fabric mod for connecting to older versions: down to 1.11 (stable) and 1.8 (experimental). -- [ViaForge](https://www.modrinth.com/mod/viaforge): Clientside Implementation of ViaVersion for Forge. -- [ViaFabricPlus](https://www.modrinth.com/mod/viafabricplus): Fabric ViaVersion/ViaLegacy/ViaAprilFools/ViaBedrock implementation with client-side fixes. ### Server-side: -- [ProtocolSupport](https://protocol.support/): Bukkit plugin for older client versions (down to 1.4.7). -- [ViaVersion](https://viaversion.com): Plugin for BungeeCord, CraftBukkit, SpongeCommon and Velocity servers. +- [ViaVersion](https://viaversion.com): Plugin for Velocity and Paper/Bukkit (and optionally also Sponge/BungeeCord). +- [ProtocolSupport](https://github.com/ProtocolSupport/ProtocolSupport): Discontinued Bukkit plugin for older client versions (down to 1.4.7). ### Standalone proxy: -- [DirtMultiversion](https://github.com/DirtPowered/DirtMultiversion): Proxy allowing to connect down to Beta 1.3 with - newer Minecraft client versions. -- [VIAaaS](https://github.com/ViaVersion/VIAaaS): Standalone ViaVersion proxy with ViaBackwards and ViaRewind, allowing - you to connect without a mod installed on your client. Supports online mode. - [ViaProxy](https://github.com/ViaVersion/ViaProxy): Standalone ViaVersion proxy with ViaBackwards, ViaRewind and ViaLegacy, allowing you to connect to a wide range of versions (down to classic versions) with your modern client (1.7.2+). Supports online mode. +- [VIAaaS](https://github.com/ViaVersion/VIAaaS): Standalone ViaVersion proxy with ViaBackwards and ViaRewind, allowing + you to connect without a mod installed on your client. Supports online mode. +- [DirtMultiversion](https://github.com/DirtPowered/DirtMultiversion): Discontinued Proxy allowing to connect down to Beta 1.3 with + newer Minecraft client versions. ### Cool things to try: @@ -144,4 +149,4 @@ registry synchronization (fabric-registry-sync mod). ## 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!)*** +***(USE ONLY WITH CAUTION!)*** \ No newline at end of file diff --git a/build.gradle b/build.gradle index 88579577..5ef66f29 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ def ENV = System.getenv() group = "com.viaversion.fabric" description = "Client-side and server-side ViaVersion implementation for Fabric" -version = "0.4.14+" + ENV.GITHUB_RUN_NUMBER + "-" + getBranch() +version = "0.4.15+" + ENV.GITHUB_RUN_NUMBER + "-" + getBranch() logger.lifecycle("Building ViaFabric: $version") def getBranch() { @@ -74,7 +74,6 @@ allprojects { dependencies { // transitive = false because Guava is conflicting on runClient implementation("com.viaversion:viaversion:${rootProject.viaver_version}") { transitive = false } - implementation("org.yaml:snakeyaml:${rootProject.yaml_version}") modImplementation("net.fabricmc:fabric-loader:${rootProject.loader_version}") } @@ -144,7 +143,6 @@ dependencies { mappings("net.legacyfabric:yarn:1.13.2+build.541:v2") includeJ8("com.viaversion:viaversion:${rootProject.viaver_version}") - include("org.yaml:snakeyaml:${rootProject.yaml_version}") } remapJar { diff --git a/gradle.properties b/gradle.properties index 14f849ed..dc2b74f0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,8 @@ # suppress inspection "UnusedProperty" for whole file org.gradle.jvmargs=-Xms32M -Xmx4G -XX:+UseG1GC -XX:+UseStringDeduplication -loader_version=0.15.11 -viaver_version=5.0.2-SNAPSHOT -yaml_version=2.2 +loader_version=0.16.0 +viaver_version=5.0.3-SNAPSHOT publish_mc_versions=1.12.2, 1.8.9 # example: 1.19.1-rc1. Can be a blank value diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136..2c352119 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a4413138..09523c0e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index cde676d5..f5feea6d 100755 --- a/gradlew +++ b/gradlew @@ -86,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -202,7 +203,7 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, @@ -248,4 +249,4 @@ eval "set -- $( tr '\n' ' ' )" '"$@"' -exec "$JAVACMD" "$@" \ No newline at end of file +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 0b186d70..9d21a218 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -36,7 +36,7 @@ set APP_HOME=%DIRNAME% for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS=-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -91,4 +91,4 @@ exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal -:omega \ No newline at end of file +:omega