diff --git a/build.gradle b/build.gradle index e9210d36f46..e89412f25dd 100644 --- a/build.gradle +++ b/build.gradle @@ -120,7 +120,7 @@ dependencies { modRuntimeOnly "com.terraformersmc:modmenu:${project.mod_menu_version}" modImplementation "maven.modrinth:sodium:${project.sodium_version}" modImplementation "maven.modrinth:lithium:${project.lithium_version}" - modImplementation "de.florianmichael:ViaFabricPlus:${project.viafabricplus_version}" + modImplementation "com.viaversion:viafabricplus:${project.viafabricplus_version}" // Minecraft Authlib includeDependency ("com.github.CCBlueX:mc-authlib:${project.mc_authlib_version}") { diff --git a/gradle.properties b/gradle.properties index 0f7b482ba39..5cbe724aa22 100644 --- a/gradle.properties +++ b/gradle.properties @@ -46,4 +46,4 @@ mc_authlib_version=1.4.1 mod_menu_version=13.0.0-beta.1 sodium_version=mc1.21.4-0.6.5-fabric lithium_version=mc1.21.4-0.14.3-fabric -viafabricplus_version=3.6.1 +viafabricplus_version=4.0.0-SNAPSHOT diff --git a/src/main/java/net/ccbluex/liquidbounce/utils/client/vfp/VfpCompatibility.java b/src/main/java/net/ccbluex/liquidbounce/utils/client/vfp/VfpCompatibility.java index 68cdcd53bc6..16ab440244e 100644 --- a/src/main/java/net/ccbluex/liquidbounce/utils/client/vfp/VfpCompatibility.java +++ b/src/main/java/net/ccbluex/liquidbounce/utils/client/vfp/VfpCompatibility.java @@ -21,10 +21,9 @@ package net.ccbluex.liquidbounce.utils.client.vfp; +import com.viaversion.viafabricplus.ViaFabricPlus; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.VersionType; -import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator; -import de.florianmichael.viafabricplus.screen.base.ProtocolSelectionScreen; import net.ccbluex.liquidbounce.LiquidBounce; import net.ccbluex.liquidbounce.utils.client.ClientProtocolVersion; import net.minecraft.client.MinecraftClient; @@ -42,7 +41,7 @@ public enum VfpCompatibility { public ClientProtocolVersion unsafeGetProtocolVersion() { try { - ProtocolVersion version = ProtocolTranslator.getTargetVersion(); + ProtocolVersion version = ViaFabricPlus.getImpl().getTargetVersion(); return new ClientProtocolVersion(version.getName(), version.getVersion()); } catch (Throwable throwable) { LiquidBounce.INSTANCE.getLogger().error("Failed to get protocol version", throwable); @@ -73,7 +72,7 @@ public void unsafeOpenVfpProtocolSelection() { currentScreen = new TitleScreen(); } - ProtocolSelectionScreen.INSTANCE.open(currentScreen); + ViaFabricPlus.getImpl().openProtocolSelectionScreen(currentScreen); } catch (Throwable throwable) { LiquidBounce.INSTANCE.getLogger().error("Failed to open ViaFabricPlus screen", throwable); } @@ -86,7 +85,7 @@ public void unsafeSelectProtocolVersion(int protocolId) { } ProtocolVersion version = ProtocolVersion.getProtocol(protocolId); - ProtocolTranslator.setTargetVersion(version); + ViaFabricPlus.getImpl().setTargetVersion(version); } catch (Throwable throwable) { LiquidBounce.INSTANCE.getLogger().error("Failed to select protocol version", throwable); } @@ -94,7 +93,7 @@ public void unsafeSelectProtocolVersion(int protocolId) { public boolean isEqual1_8() { try { - var version = ProtocolTranslator.getTargetVersion(); + var version = ViaFabricPlus.getImpl().getTargetVersion(); // Check if the version is equal to 1.8 return version.equalTo(ProtocolVersion.v1_8); @@ -106,7 +105,7 @@ public boolean isEqual1_8() { public boolean isOlderThanOrEqual1_8() { try { - var version = ProtocolTranslator.getTargetVersion(); + var version = ViaFabricPlus.getImpl().getTargetVersion(); // Check if the version is older or equal than 1.8 return version.olderThanOrEqualTo(ProtocolVersion.v1_8); @@ -118,7 +117,7 @@ public boolean isOlderThanOrEqual1_8() { public boolean isOlderThanOrEqual1_7_10() { try { - var version = ProtocolTranslator.getTargetVersion(); + var version = ViaFabricPlus.getImpl().getTargetVersion(); // Check if the version is older or equal than 1.7.10 return version.olderThanOrEqualTo(ProtocolVersion.v1_7_6); @@ -130,7 +129,7 @@ public boolean isOlderThanOrEqual1_7_10() { public boolean isNewerThanOrEqual1_16() { try { - var version = ProtocolTranslator.getTargetVersion(); + var version = ViaFabricPlus.getImpl().getTargetVersion(); // Check if the version is older or equal than 1.12.2 return version.newerThanOrEqualTo(ProtocolVersion.v1_16); diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/ProtocolUtil.kt b/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/ProtocolUtil.kt index c58a53e4f31..768de69895c 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/ProtocolUtil.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/utils/client/ProtocolUtil.kt @@ -28,12 +28,7 @@ import net.minecraft.util.math.BlockPos // Only runs once val usesViaFabricPlus = runCatching { - Class.forName("de.florianmichael.viafabricplus.ViaFabricPlus") - true -}.getOrDefault(false) - -val hasProtocolTranslator = runCatching { - Class.forName("de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator") + Class.forName("com.viaversion.viafabricplus.ViaFabricPlus") true }.getOrDefault(false) @@ -46,7 +41,7 @@ val defaultProtocolVersion = ClientProtocolVersion(SharedConstants.getGameVersio val protocolVersion: ClientProtocolVersion get() = runCatching { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - if (hasProtocolTranslator) { + if (usesViaFabricPlus) { return@runCatching VfpCompatibility.INSTANCE.unsafeGetProtocolVersion() } else { return@runCatching defaultProtocolVersion @@ -58,7 +53,7 @@ val protocolVersion: ClientProtocolVersion val protocolVersions: Array get() = runCatching { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - if (hasProtocolTranslator) { + if (usesViaFabricPlus) { return@runCatching VfpCompatibility.INSTANCE.unsafeGetProtocolVersions() } else { return@runCatching arrayOf(defaultProtocolVersion) @@ -72,7 +67,7 @@ data class ClientProtocolVersion(val name: String, val version: Int) val isEqual1_8: Boolean get() = runCatching { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - hasProtocolTranslator && VfpCompatibility.INSTANCE.isEqual1_8 + usesViaFabricPlus && VfpCompatibility.INSTANCE.isEqual1_8 }.onFailure { logger.error("Failed to check if the server is using old combat", it) }.getOrDefault(false) @@ -80,7 +75,7 @@ val isEqual1_8: Boolean val isOlderThanOrEqual1_8: Boolean get() = runCatching { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - hasProtocolTranslator && VfpCompatibility.INSTANCE.isOlderThanOrEqual1_8 + usesViaFabricPlus && VfpCompatibility.INSTANCE.isOlderThanOrEqual1_8 }.onFailure { logger.error("Failed to check if the server is using old combat", it) }.getOrDefault(false) @@ -88,7 +83,7 @@ val isOlderThanOrEqual1_8: Boolean val isOlderThanOrEquals1_7_10: Boolean get() = runCatching { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - hasProtocolTranslator && VfpCompatibility.INSTANCE.isOlderThanOrEqual1_7_10 + usesViaFabricPlus && VfpCompatibility.INSTANCE.isOlderThanOrEqual1_7_10 }.onFailure { logger.error("Failed to check if the server is using 1.7.10", it) }.getOrDefault(false) @@ -96,14 +91,14 @@ val isOlderThanOrEquals1_7_10: Boolean val isNewerThanOrEquals1_16: Boolean get() = runCatching { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - hasProtocolTranslator && VfpCompatibility.INSTANCE.isNewerThanOrEqual1_16 + usesViaFabricPlus && VfpCompatibility.INSTANCE.isNewerThanOrEqual1_16 }.onFailure { logger.error("Failed to check if the server is using 1.16+", it) }.getOrDefault(false) fun selectProtocolVersion(protocolId: Int) { // Check if the ViaFabricPlus mod is loaded - prevents from causing too many exceptions - if (hasProtocolTranslator) { + if (usesViaFabricPlus) { VfpCompatibility.INSTANCE.unsafeSelectProtocolVersion(protocolId) // Update the window title @@ -126,7 +121,7 @@ fun openVfpProtocolSelection() { } fun sendSignUpdate(blockPos: BlockPos, lines: Array) { - require(hasProtocolTranslator) { "ProtocolTranslator is missing" } + require(usesViaFabricPlus) { "ViaFabricPlus is missing" } require(isEqual1_8) { "Not 1.8 protocol" } VfpCompatibility1_8.INSTANCE.sendSignUpdate(blockPos, lines)