diff --git a/build.gradle b/build.gradle index c75b712..15a95eb 100644 --- a/build.gradle +++ b/build.gradle @@ -14,9 +14,6 @@ description = "Client-side and server-side ViaVersion implementation for Fabric" version = "0.4.0" + "+" + ENV.GITHUB_RUN_NUMBER + "-" + getBranch() logger.lifecycle("Building ViaFabric: " + version) -import net.fabricmc.loom.task.RunClientTask -import net.fabricmc.loom.task.RunServerTask - def getBranch() { def ENV = System.getenv() if (ENV.GITHUB_REF) { @@ -32,32 +29,6 @@ def getBranch() { return branch.substring(branch.lastIndexOf("/") + 1) } -def moduleDependencies(project, List depNames) { - def deps = depNames.iterator().collect { project.dependencies.project(path: ":$it", configuration: 'dev') } - project.dependencies { - deps.each { - compile it - } - } - project.publishing { - publications { - mavenJava(MavenPublication) { - pom.withXml { - def depsNode = asNode().appendNode("dependencies") - deps.each { - def depNode = depsNode.appendNode("dependency") - depNode.appendNode("groupId", it.group) - depNode.appendNode("artifactId", it.name) - depNode.appendNode("version", it.version) - depNode.appendNode("scope", "compile") - } - } - } - } - } -} - - allprojects { apply plugin: "maven-publish" apply plugin: "fabric-loom" @@ -93,6 +64,8 @@ allprojects { // transitive = false because Guava is conflicting on runClient implementation("com.viaversion:viaversion:$vvVer") { transitive = false } implementation("org.yaml:snakeyaml:1.28") + + modImplementation("net.fabricmc:fabric-loader:0.11.3") } jar { @@ -108,14 +81,14 @@ allprojects { artifacts { dev file: file("${project.buildDir}/libs/$archivesBaseName-${version}-dev.jar"), type: "jar", builtBy: jar } + } - processResources { - filesMatching("fabric.mod.json") { - filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [ - version : rootProject.version, - description: rootProject.description - ]) - } + processResources { + filesMatching("fabric.mod.json") { + filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [ + version : rootProject.version, + description: rootProject.description + ]) } } @@ -132,43 +105,11 @@ allprojects { } } -javadoc { - options { - source = "8" - encoding = "UTF-8" - charSet = "UTF-8" - memberLevel = JavadocMemberLevel.PACKAGE - links( - "https://guava.dev/releases/21.0/api/docs/", - "https://asm.ow2.io/javadoc/", - "https://docs.oracle.com/javase/8/docs/api/", - "http://jenkins.liteloader.com/job/Mixin/javadoc/", - "https://logging.apache.org/log4j/2.x/log4j-api/apidocs/" - // Need to add minecraft jd publication etc once there is one available - ) - // Disable the crazy super-strict doclint tool in Java 8 - addStringOption("Xdoclint:none", "-quiet") - } - - allprojects.each { - source(it.sourceSets.main.allJava.srcDirs) - } - - classpath = sourceSets.main.compileClasspath - include("**/api/**") - failOnError false -} - -task javadocJar(type: Jar) { - dependsOn javadoc - from javadoc.destinationDir - //Set as `fatjavadoc` to prevent an ide form trying to use this javadoc, over using the modules javadoc - archiveClassifier = "fatjavadoc" -} - -build.dependsOn javadocJar - subprojects { + dependencies { + implementation rootProject + } + task remapMavenJar(type: Copy, dependsOn: remapJar) { afterEvaluate { from("${project.buildDir}/libs/$archivesBaseName-${version}.jar") @@ -194,8 +135,6 @@ subprojects { setupRepositories(repositories) } - - javadoc.enabled = false } task remapMavenJar(type: net.fabricmc.loom.task.RemapJarTask, dependsOn: jar) { @@ -217,8 +156,6 @@ publishing { builtBy remapSourcesJar } - artifact javadocJar - pom.withXml { def depsNode = asNode().appendNode("dependencies") subprojects.each { @@ -254,16 +191,13 @@ subprojects.each { remapJar.dependsOn("${it.path}:remapJar") } dependencies { minecraft("com.mojang:minecraft:1.8.9") mappings("net.fabricmc:yarn:1.8.9+build.202103291533:v2") - modImplementation("net.fabricmc:fabric-loader:0.10.5+build.213") include("com.viaversion:viaversion:$vvVer") include("org.yaml:snakeyaml:1.28") - afterEvaluate { - subprojects.each { - //implementation project(path: ":${it.name}", configuration: "dev") - include project("${it.name}:") - } + subprojects.each { + //implementation project(path: ":${it.name}", configuration: "dev") + include project("${it.name}:") } } diff --git a/compile_push_branches.sh b/compile_push_branches.sh deleted file mode 100755 index 32c6168..0000000 --- a/compile_push_branches.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -git checkout mc-1.8 && ./gradlew clean build \ -&& git checkout mc-1.14 && ./gradlew clean build \ -&& git checkout mc-1.15 && ./gradlew clean build \ -&& git checkout mc-1.16 && ./gradlew clean build \ -&& git checkout mc-1.17 && ./gradlew clean build \ -&& git push origin mc-1.8 mc-1.14 mc-1.15 mc-1.16 mc-1.17 \ No newline at end of file diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabricAddress.java b/src/main/java/com/viaversion/fabric/common/VFAddressParser.java similarity index 95% rename from viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabricAddress.java rename to src/main/java/com/viaversion/fabric/common/VFAddressParser.java index d7b6603..ba0625b 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabricAddress.java +++ b/src/main/java/com/viaversion/fabric/common/VFAddressParser.java @@ -1,15 +1,15 @@ -package com.viaversion.fabric.mc18; +package com.viaversion.fabric.common; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import java.util.Locale; -public class ViaFabricAddress { +public class VFAddressParser { public int protocol = 0; public String viaSuffix = null; public String realAddress = null; - public ViaFabricAddress parse(String address) { + public VFAddressParser parse(String address) { if (address == null) return null; String[] parts = address.split("\\."); diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/UserCommandSender.java b/src/main/java/com/viaversion/fabric/common/commands/UserCommandSender.java similarity index 94% rename from viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/UserCommandSender.java rename to src/main/java/com/viaversion/fabric/common/commands/UserCommandSender.java index e2e5609..bfb2e5a 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/UserCommandSender.java +++ b/src/main/java/com/viaversion/fabric/common/commands/UserCommandSender.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc116.commands; +package com.viaversion.fabric.common.commands; import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.command.ViaCommandSender; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/subs/LeakDetectSubCommand.java b/src/main/java/com/viaversion/fabric/common/commands/subs/LeakDetectSubCommand.java similarity index 96% rename from viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/subs/LeakDetectSubCommand.java rename to src/main/java/com/viaversion/fabric/common/commands/subs/LeakDetectSubCommand.java index 9f59291..2dbaa3c 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/subs/LeakDetectSubCommand.java +++ b/src/main/java/com/viaversion/fabric/common/commands/subs/LeakDetectSubCommand.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc114.commands.subs; +package com.viaversion.fabric.common.commands.subs; import io.netty.util.ResourceLeakDetector; import com.viaversion.viaversion.api.command.ViaCommandSender; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/config/VRConfig.java b/src/main/java/com/viaversion/fabric/common/config/VFConfig.java similarity index 93% rename from viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/config/VRConfig.java rename to src/main/java/com/viaversion/fabric/common/config/VFConfig.java index 4244d65..aaa2731 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/config/VRConfig.java +++ b/src/main/java/com/viaversion/fabric/common/config/VFConfig.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc115.config; +package com.viaversion.fabric.common.config; import com.viaversion.viaversion.util.Config; @@ -9,13 +9,13 @@ import java.util.Collections; import java.util.List; import java.util.Map; -public class VRConfig extends Config { +public class VFConfig extends Config { public static final String ENABLE_CLIENT_SIDE = "enable-client-side"; public static final String CLIENT_SIDE_VERSION = "client-side-version"; public static final String CLIENT_SIDE_FORCE_DISABLE = "client-side-force-disable"; public static final String HIDE_BUTTON = "hide-button"; - public VRConfig(File configFile) { + public VFConfig(File configFile) { super(configFile); reloadConfig(); } diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/CommonTransformer.java b/src/main/java/com/viaversion/fabric/common/handler/CommonTransformer.java similarity index 97% rename from viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/CommonTransformer.java rename to src/main/java/com/viaversion/fabric/common/handler/CommonTransformer.java index 234d1ab..41efd04 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/CommonTransformer.java +++ b/src/main/java/com/viaversion/fabric/common/handler/CommonTransformer.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc115.handler; +package com.viaversion.fabric.common.handler; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; diff --git a/src/main/java/com/viaversion/fabric/common/platform/FabricViaAPI.java b/src/main/java/com/viaversion/fabric/common/platform/FabricViaAPI.java new file mode 100644 index 0000000..4749c6e --- /dev/null +++ b/src/main/java/com/viaversion/fabric/common/platform/FabricViaAPI.java @@ -0,0 +1,8 @@ +package com.viaversion.fabric.common.platform; + +import com.viaversion.viaversion.ViaAPIBase; + +import java.util.UUID; + +public class FabricViaAPI extends ViaAPIBase { +} diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRViaConfig.java b/src/main/java/com/viaversion/fabric/common/platform/FabricViaConfig.java similarity index 91% rename from viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRViaConfig.java rename to src/main/java/com/viaversion/fabric/common/platform/FabricViaConfig.java index 7984e9b..a7224d7 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRViaConfig.java +++ b/src/main/java/com/viaversion/fabric/common/platform/FabricViaConfig.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc116.platform; +package com.viaversion.fabric.common.platform; import com.viaversion.viaversion.configuration.AbstractViaConfig; @@ -8,14 +8,14 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -public class VRViaConfig extends AbstractViaConfig { +public class FabricViaConfig extends AbstractViaConfig { // Based on Sponge ViaVersion private static List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", "bungee-ping-save", "bungee-servers", "quick-move-action-fix", "nms-player-ticking", "velocity-ping-interval", "velocity-ping-save", "velocity-servers", "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); - public VRViaConfig(File configFile) { + public FabricViaConfig(File configFile) { super(configFile); // Load config reloadConfig(); diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/protocol/ViaFabricHostnameProtocol.java b/src/main/java/com/viaversion/fabric/common/protocol/HostnameParserProtocol.java similarity index 74% rename from viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/protocol/ViaFabricHostnameProtocol.java rename to src/main/java/com/viaversion/fabric/common/protocol/HostnameParserProtocol.java index 96a4c10..1fda1bf 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/protocol/ViaFabricHostnameProtocol.java +++ b/src/main/java/com/viaversion/fabric/common/protocol/HostnameParserProtocol.java @@ -1,6 +1,6 @@ -package com.viaversion.fabric.mc18.protocol; +package com.viaversion.fabric.common.protocol; -import com.viaversion.fabric.mc18.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.viaversion.api.protocol.AbstractSimpleProtocol; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper; @@ -8,8 +8,8 @@ import com.viaversion.viaversion.api.protocol.remapper.ValueTransformer; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.api.protocol.packet.State; -public class ViaFabricHostnameProtocol extends AbstractSimpleProtocol { - public static final ViaFabricHostnameProtocol INSTANCE = new ViaFabricHostnameProtocol(); +public class HostnameParserProtocol extends AbstractSimpleProtocol { + public static final HostnameParserProtocol INSTANCE = new HostnameParserProtocol(); @Override protected void registerPackets() { @@ -20,7 +20,7 @@ public class ViaFabricHostnameProtocol extends AbstractSimpleProtocol { map(Type.STRING, new ValueTransformer(Type.STRING) { @Override public String transform(PacketWrapper packetWrapper, String s) { - return new ViaFabricAddress().parse(s).realAddress; + return new VFAddressParser().parse(s).realAddress; } }); } diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/FutureTaskId.java b/src/main/java/com/viaversion/fabric/common/util/FutureTaskId.java similarity index 91% rename from viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/FutureTaskId.java rename to src/main/java/com/viaversion/fabric/common/util/FutureTaskId.java index b62fe6a..4edfd78 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/FutureTaskId.java +++ b/src/main/java/com/viaversion/fabric/common/util/FutureTaskId.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc114.util; +package com.viaversion.fabric.common.util; import com.viaversion.viaversion.api.platform.PlatformTask; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/JLoggerToLog4j.java b/src/main/java/com/viaversion/fabric/common/util/JLoggerToLog4j.java similarity index 97% rename from viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/JLoggerToLog4j.java rename to src/main/java/com/viaversion/fabric/common/util/JLoggerToLog4j.java index 3bb5a5f..1ab2fea 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/JLoggerToLog4j.java +++ b/src/main/java/com/viaversion/fabric/common/util/JLoggerToLog4j.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc116.util; +package com.viaversion.fabric.common.util; import java.text.MessageFormat; import java.util.logging.Level; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/ProtocolUtils.java b/src/main/java/com/viaversion/fabric/common/util/ProtocolUtils.java similarity index 98% rename from viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/ProtocolUtils.java rename to src/main/java/com/viaversion/fabric/common/util/ProtocolUtils.java index a7d8bca..926e7a4 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/ProtocolUtils.java +++ b/src/main/java/com/viaversion/fabric/common/util/ProtocolUtils.java @@ -1,4 +1,4 @@ -package com.viaversion.fabric.mc116.util; +package com.viaversion.fabric.common.util; import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 599ee2a..61b9a55 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -11,6 +11,10 @@ "sources": "https://github.com/ViaVersion/ViaFabric", "discord": "https://discord.gg/viaversion" }, + "depends": { + "fabricloader": ">=0.10.0", + "minecraft": ["1.8.x", "1.14.x", "1.15.x", "1.16.x", "1.17.x"] + }, "environment": "*", "authors": [ { diff --git a/viafabric-mc114/build.gradle.kts b/viafabric-mc114/build.gradle.kts index ed6d60b..bd38b6e 100644 --- a/viafabric-mc114/build.gradle.kts +++ b/viafabric-mc114/build.gradle.kts @@ -3,7 +3,6 @@ version = rootProject.version dependencies { minecraft("com.mojang:minecraft:1.14.4") mappings("net.fabricmc:yarn:1.14.4+build.16:v2") - modImplementation("net.fabricmc:fabric-loader:0.8.2+build.194") modImplementation("net.fabricmc.fabric-api:fabric-api:0.13.1+build.257-1.14") modImplementation("io.github.prospector:modmenu:1.7.16.1.14.4+build.128") diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabric.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabric.java index 82b6b0c..8c414a2 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabric.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabric.java @@ -1,12 +1,12 @@ package com.viaversion.fabric.mc114; +import com.viaversion.fabric.common.config.VFConfig; import com.viaversion.fabric.mc114.commands.VRCommandHandler; -import com.viaversion.fabric.mc114.config.VRConfig; -import com.viaversion.fabric.mc114.platform.VRInjector; +import com.viaversion.fabric.mc114.platform.FabricInjector; import com.viaversion.fabric.mc114.platform.VRLoader; -import com.viaversion.fabric.mc114.platform.VRPlatform; -import com.viaversion.fabric.mc114.protocol.ViaFabricHostnameProtocol; -import com.viaversion.fabric.mc114.util.JLoggerToLog4j; +import com.viaversion.fabric.mc114.platform.FabricPlatform; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.google.common.collect.Range; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.mojang.brigadier.arguments.StringArgumentType; @@ -36,7 +36,7 @@ public class ViaFabric implements ModInitializer { public static final ExecutorService ASYNC_EXECUTOR; public static final EventLoop EVENT_LOOP; public static CompletableFuture INIT_FUTURE = new CompletableFuture<>(); - public static VRConfig config; + public static VFConfig config; static { ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("ViaFabric-%d").build(); @@ -64,16 +64,16 @@ public class ViaFabric implements ModInitializer { @Override public void onInitialize() { Via.init(ViaManagerImpl.builder() - .injector(new VRInjector()) + .injector(new FabricInjector()) .loader(new VRLoader()) .commandHandler(new VRCommandHandler()) - .platform(new VRPlatform()).build()); + .platform(new FabricPlatform()).build()); FabricLoader.getInstance().getModContainer("viabackwards").ifPresent(mod -> MappingDataLoader.enableMappingsCache()); ((ViaManagerImpl) Via.getManager()).init(); - Via.getManager().getProtocolManager().registerBaseProtocol(ViaFabricHostnameProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); + Via.getManager().getProtocolManager().registerBaseProtocol(HostnameParserProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); ProtocolVersion.register(-2, "AUTO"); FabricLoader.getInstance().getEntrypoints("viafabric:via_api_initialized", Runnable.class).forEach(Runnable::run); @@ -89,7 +89,7 @@ public class ViaFabric implements ModInitializer { } } - config = new VRConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") + config = new VFConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") .resolve("viafabric.yml").toFile()); INIT_FUTURE.complete(null); diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabricAddress.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabricAddress.java deleted file mode 100644 index 795dd8c..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/ViaFabricAddress.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.viaversion.fabric.mc114; - -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Locale; - -public class ViaFabricAddress { - public int protocol = 0; - public String viaSuffix = null; - public String realAddress = null; - - public ViaFabricAddress parse(String address) { - if (address == null) return null; - String[] parts = address.split("\\."); - - boolean foundDomain = false; - boolean foundOptions = false; - - StringBuilder ourParts = new StringBuilder(); - StringBuilder realAddrBuilder = new StringBuilder(); - - for (int i = parts.length - 1; i >= 0; i--) { - String part = parts[i]; - boolean realAddrPart = false; - if (foundDomain) { - if (!foundOptions) { - if (part.startsWith("_")) { - String arg = part.substring(2); - if (part.toLowerCase(Locale.ROOT).startsWith("_v")) { - try { - protocol = Integer.parseInt(arg); - } catch (NumberFormatException e) { - ProtocolVersion closest = ProtocolVersion.getClosest(arg.replace("_", ".")); - if (closest != null) { - protocol = closest.getVersion(); - } - } - } - } else { - foundOptions = true; - } - } - if (foundOptions) { - realAddrPart = true; - } - } else if (part.equalsIgnoreCase("viafabric")) { - foundDomain = true; - } - if (realAddrPart) { - realAddrBuilder.insert(0, part + "."); - } else { - ourParts.insert(0, part + "."); - } - } - - String realAddr = realAddrBuilder.toString().replaceAll("\\.$", ""); - String suffix = ourParts.toString().replaceAll("\\.$", ""); - - if (realAddr.isEmpty()) { - this.realAddress = address; - } else { - this.realAddress = realAddr; - this.viaSuffix = suffix; - } - - return this; - } - - @Override - public String toString() { - return "ViaFabricAddress{" + - "protocol=" + protocol + - ", viaSuffix='" + viaSuffix + '\'' + - ", realAddress='" + realAddress + '\'' + - '}'; - } -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/UserCommandSender.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/UserCommandSender.java deleted file mode 100644 index c957e5e..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/UserCommandSender.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.viaversion.fabric.mc114.commands; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.connection.UserConnection; - -import java.util.UUID; - -public class UserCommandSender implements ViaCommandSender { - private UserConnection con; - - public UserCommandSender(UserConnection con) { - this.con = con; - } - - @Override - public boolean hasPermission(String s) { - return false; - } - - @Override - public void sendMessage(String s) { - Via.getPlatform().sendMessage(getUUID(), s); - } - - @Override - public UUID getUUID() { - return con.getProtocolInfo().getUuid(); - } - - @Override - public String getName() { - return con.getProtocolInfo().getUsername(); - } -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRClientCommands.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VFClientCommands.java similarity index 88% rename from viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRClientCommands.java rename to viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VFClientCommands.java index 6629921..b0f5881 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRClientCommands.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VFClientCommands.java @@ -5,7 +5,7 @@ import com.mojang.brigadier.CommandDispatcher; import io.github.cottonmc.clientcommands.ClientCommandPlugin; import io.github.cottonmc.clientcommands.CottonClientCommandSource; -public class VRClientCommands implements ClientCommandPlugin { +public class VFClientCommands implements ClientCommandPlugin { @Override public void registerCommands(CommandDispatcher commandDispatcher) { commandDispatcher.register(ViaFabric.command("viafabricclient")); diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRCommandHandler.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRCommandHandler.java index 51e9e9f..6405dd8 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRCommandHandler.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/commands/VRCommandHandler.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.commands; -import com.viaversion.fabric.mc114.commands.subs.LeakDetectSubCommand; +import com.viaversion.fabric.common.commands.subs.LeakDetectSubCommand; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.suggestion.Suggestions; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/config/VRConfig.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/config/VRConfig.java deleted file mode 100644 index 7856952..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/config/VRConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc114.config; - -import com.viaversion.viaversion.util.Config; - -import java.io.File; -import java.net.URL; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -public class VRConfig extends Config { - public static final String ENABLE_CLIENT_SIDE = "enable-client-side"; - public static final String CLIENT_SIDE_VERSION = "client-side-version"; - public static final String CLIENT_SIDE_FORCE_DISABLE = "client-side-force-disable"; - public static final String HIDE_BUTTON = "hide-button"; - - public VRConfig(File configFile) { - super(configFile); - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viafabric/config.yml"); - } - - @Override - protected void handleConfig(Map map) { - } - - @Override - public List getUnsupportedOptions() { - return Collections.emptyList(); - } - - public boolean isClientSideEnabled() { - return getBoolean(ENABLE_CLIENT_SIDE, false); - } - - public void setClientSideEnabled(boolean val) { - set(ENABLE_CLIENT_SIDE, val); - } - - public int getClientSideVersion() { - return getInt(CLIENT_SIDE_VERSION, -1); - } - - public void setClientSideVersion(int val) { - set(CLIENT_SIDE_VERSION, val); - } - - public Collection getClientSideForceDisable() { - return (List) get(CLIENT_SIDE_FORCE_DISABLE, List.class, Collections.emptyList()); - } - - public void setHideButton(boolean val) { - set(HIDE_BUTTON, val); - } - - public boolean isHideButton() { - return getBoolean(HIDE_BUTTON, false); - } - - public boolean isForcedDisable(String line) { - return getClientSideForceDisable().contains(line); - } -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/gui/ViaConfigScreen.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/gui/ViaConfigScreen.java index 46514ba..48ffc89 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/gui/ViaConfigScreen.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/gui/ViaConfigScreen.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc114.gui; import com.viaversion.fabric.mc114.ViaFabric; -import com.viaversion.fabric.mc114.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.viaversion.viaversion.api.Via; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/CommonTransformer.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/CommonTransformer.java deleted file mode 100644 index 7f91444..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/CommonTransformer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.viaversion.fabric.mc114.handler; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.ChannelHandler; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.ByteToMessageDecoder; -import io.netty.handler.codec.MessageToByteEncoder; -import io.netty.handler.codec.MessageToMessageDecoder; -import com.viaversion.viaversion.util.PipelineUtil; - -import java.lang.reflect.InvocationTargetException; - -public class CommonTransformer { - public static final String HANDLER_DECODER_NAME = "via-decoder"; - public static final String HANDLER_ENCODER_NAME = "via-encoder"; - - public static void decompress(ChannelHandlerContext ctx, ByteBuf buf) throws InvocationTargetException { - ChannelHandler handler = ctx.pipeline().get("decompress"); - ByteBuf decompressed = handler instanceof MessageToMessageDecoder - ? (ByteBuf) PipelineUtil.callDecode((MessageToMessageDecoder) handler, ctx, buf).get(0) - : (ByteBuf) PipelineUtil.callDecode((ByteToMessageDecoder) handler, ctx, buf).get(0); - try { - buf.clear().writeBytes(decompressed); - } finally { - decompressed.release(); - } - } - - public static void compress(ChannelHandlerContext ctx, ByteBuf buf) throws Exception { - ByteBuf compressed = ctx.alloc().buffer(); - try { - PipelineUtil.callEncode((MessageToByteEncoder) ctx.pipeline().get("compress"), ctx, buf, compressed); - buf.clear().writeBytes(compressed); - } finally { - compressed.release(); - } - } -} \ No newline at end of file diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricDecodeHandler.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricDecodeHandler.java index e68a686..0ec3d66 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricDecodeHandler.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricDecodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc114.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricEncodeHandler.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricEncodeHandler.java index e084498..dc90692 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricEncodeHandler.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/handler/FabricEncodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc114.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinConnectScreenThread.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinConnectScreenThread.java index 93c9096..1246b1f 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinConnectScreenThread.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinConnectScreenThread.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.mixin.address.client; -import com.viaversion.fabric.mc114.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -13,7 +13,7 @@ public class MixinConnectScreenThread { @Redirect(method = "run()V", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerAddress.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerAddress.java index 87add7d..0bede62 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerAddress.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerAddress.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.mixin.address.client; -import com.viaversion.fabric.mc114.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.network.ServerAddress; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -16,7 +16,7 @@ public abstract class MixinServerAddress { @Redirect(method = "parse", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/ServerAddress;resolveSrv(Ljava/lang/String;)[Ljava/lang/String;")) private static String[] modifySrvAddr(String address) { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return resolveSrv(address); } diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerPinger.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerPinger.java index c484a4b..cfff392 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerPinger.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/address/client/MixinServerPinger.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.mixin.address.client; -import com.viaversion.fabric.mc114.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.client.network.MultiplayerServerListPinger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +14,7 @@ public class MixinServerPinger { @Redirect(method = "add", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/debug/client/MixinDebugHud.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/debug/client/MixinDebugHud.java index a75a513..b23bd3c 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/debug/client/MixinDebugHud.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/debug/client/MixinDebugHud.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.mixin.debug.client; -import com.viaversion.fabric.mc114.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc114.handler.FabricDecodeHandler; import com.viaversion.viaversion.api.connection.ProtocolInfo; import io.netty.channel.ChannelHandler; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/MixinServerNetworkIoChInit.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/MixinServerNetworkIoChInit.java index 6067b24..f358ee7 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/MixinServerNetworkIoChInit.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/MixinServerNetworkIoChInit.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.mixin.pipeline; -import com.viaversion.fabric.mc114.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc114.handler.FabricDecodeHandler; import com.viaversion.fabric.mc114.handler.FabricEncodeHandler; import com.viaversion.viaversion.connection.UserConnectionImpl; diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/client/MixinClientConnectionChInit.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/client/MixinClientConnectionChInit.java index 251bb66..baaef34 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/client/MixinClientConnectionChInit.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/mixin/pipeline/client/MixinClientConnectionChInit.java @@ -1,11 +1,11 @@ package com.viaversion.fabric.mc114.mixin.pipeline.client; import com.viaversion.fabric.mc114.ViaFabric; -import com.viaversion.fabric.mc114.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc114.handler.FabricDecodeHandler; import com.viaversion.fabric.mc114.handler.FabricEncodeHandler; import com.viaversion.fabric.mc114.handler.clientside.ProtocolDetectionHandler; -import com.viaversion.fabric.mc114.protocol.ViaFabricHostnameProtocol; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; import com.viaversion.viaversion.connection.UserConnectionImpl; import com.viaversion.viaversion.protocol.ProtocolPipelineImpl; import io.netty.channel.Channel; @@ -22,7 +22,7 @@ public class MixinClientConnectionChInit { private void onInitChannel(Channel channel, CallbackInfo ci) { if (channel instanceof SocketChannel) { UserConnection user = new UserConnectionImpl(channel, true); - new ProtocolPipelineImpl(user).add(ViaFabricHostnameProtocol.INSTANCE); + new ProtocolPipelineImpl(user).add(HostnameParserProtocol.INSTANCE); channel.pipeline() .addBefore("encoder", CommonTransformer.HANDLER_ENCODER_NAME, new FabricEncodeHandler(user)) diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRInjector.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/FabricInjector.java similarity index 94% rename from viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRInjector.java rename to viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/FabricInjector.java index e8ece1e..738e012 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRInjector.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/FabricInjector.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc114.platform; -import com.viaversion.fabric.mc114.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import net.fabricmc.api.EnvType; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.SharedConstants; @@ -11,7 +11,7 @@ import com.viaversion.viaversion.libs.gson.JsonObject; import java.lang.reflect.Method; import java.util.Arrays; -public class VRInjector implements ViaInjector { +public class FabricInjector implements ViaInjector { @Override public void inject() { // *looks at Mixins* diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRPlatform.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/FabricPlatform.java similarity index 93% rename from viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRPlatform.java rename to viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/FabricPlatform.java index 7640569..99c3955 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRPlatform.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/FabricPlatform.java @@ -1,12 +1,13 @@ package com.viaversion.fabric.mc114.platform; +import com.viaversion.fabric.common.platform.FabricViaAPI; +import com.viaversion.fabric.common.platform.FabricViaConfig; import com.viaversion.fabric.mc114.ViaFabric; import com.viaversion.fabric.mc114.commands.NMSCommandSender; -import com.viaversion.fabric.mc114.commands.UserCommandSender; -import com.viaversion.fabric.mc114.util.FutureTaskId; -import com.viaversion.fabric.mc114.util.JLoggerToLog4j; +import com.viaversion.fabric.common.commands.UserCommandSender; +import com.viaversion.fabric.common.util.FutureTaskId; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.viaversion.viaversion.api.configuration.ViaVersionConfig; -import com.viaversion.viaversion.api.platform.PlatformTask; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import net.fabricmc.api.EnvType; @@ -46,17 +47,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -public class VRPlatform implements ViaPlatform { +public class FabricPlatform implements ViaPlatform { private final Logger logger = new JLoggerToLog4j(LogManager.getLogger("ViaVersion")); - private final VRViaConfig config; + private final FabricViaConfig config; private final File dataFolder; private final ViaAPI api; - public VRPlatform() { + public FabricPlatform() { Path configDir = FabricLoader.getInstance().getConfigDirectory().toPath().resolve("ViaFabric"); - config = new VRViaConfig(configDir.resolve("viaversion.yml").toFile()); + config = new FabricViaConfig(configDir.resolve("viaversion.yml").toFile()); dataFolder = configDir.toFile(); - api = new VRViaAPI(); + api = new FabricViaAPI(); } public static MinecraftServer getServer() { @@ -132,7 +133,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runSync(Runnable runnable, long ticks) { + public FutureTaskId runSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run delayed tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP @@ -142,7 +143,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runRepeatingSync(Runnable runnable, long ticks) { + public FutureTaskId runRepeatingSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run repeating tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRViaAPI.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRViaAPI.java deleted file mode 100644 index 2740e61..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRViaAPI.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.viaversion.fabric.mc114.platform; - -import com.viaversion.viaversion.ViaAPIBase; - -import java.util.UUID; - -public class VRViaAPI extends ViaAPIBase { -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRViaConfig.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRViaConfig.java deleted file mode 100644 index cf5d2fe..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/platform/VRViaConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc114.platform; - -import com.viaversion.viaversion.configuration.AbstractViaConfig; - -import java.io.File; -import java.net.URL; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -public class VRViaConfig extends AbstractViaConfig { - // Based on Sponge ViaVersion - private static List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", - "bungee-ping-save", "bungee-servers", "quick-move-action-fix", "nms-player-ticking", - "velocity-ping-interval", "velocity-ping-save", "velocity-servers", - "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); - - public VRViaConfig(File configFile) { - super(configFile); - // Load config - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viaversion/config.yml"); - } - - @Override - protected void handleConfig(Map config) { - // Nothing Currently - } - - @Override - public List getUnsupportedOptions() { - return UNSUPPORTED; - } - - @Override - public boolean isAntiXRay() { - return false; - } - - @Override - public boolean isNMSPlayerTicking() { - return false; - } - - @Override - public boolean is1_12QuickMoveActionFix() { - return false; - } - - @Override - public String getBlockConnectionMethod() { - return "packet"; - } - - @Override - public boolean is1_9HitboxFix() { - return false; - } - - @Override - public boolean is1_14HitboxFix() { - return false; - } -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/protocol/ViaFabricHostnameProtocol.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/protocol/ViaFabricHostnameProtocol.java deleted file mode 100644 index 232f36c..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/protocol/ViaFabricHostnameProtocol.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.viaversion.fabric.mc114.protocol; - -import com.viaversion.fabric.mc114.ViaFabricAddress; -import com.viaversion.viaversion.api.protocol.AbstractSimpleProtocol; -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; -import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper; -import com.viaversion.viaversion.api.protocol.remapper.ValueTransformer; -import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.api.protocol.packet.State; - -public class ViaFabricHostnameProtocol extends AbstractSimpleProtocol { - public static final ViaFabricHostnameProtocol INSTANCE = new ViaFabricHostnameProtocol(); - - @Override - protected void registerPackets() { - registerServerbound(State.HANDSHAKE, 0, 0, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // Protocol version - map(Type.STRING, new ValueTransformer(Type.STRING) { - @Override - public String transform(PacketWrapper packetWrapper, String s) { - return new ViaFabricAddress().parse(s).realAddress; - } - }); - } - }); - } - - @Override - public boolean isBaseProtocol() { - return true; - } -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/providers/VRVersionProvider.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/providers/VRVersionProvider.java index 36b3ffa..b6b0565 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/providers/VRVersionProvider.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/providers/VRVersionProvider.java @@ -1,9 +1,9 @@ package com.viaversion.fabric.mc114.providers; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc114.ViaFabric; -import com.viaversion.fabric.mc114.ViaFabricAddress; import com.viaversion.fabric.mc114.service.ProtocolAutoDetector; -import com.viaversion.fabric.mc114.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.google.common.primitives.Ints; import com.viaversion.viaversion.api.connection.ProtocolInfo; import net.fabricmc.loader.api.FabricLoader; @@ -68,7 +68,7 @@ public class VRVersionProvider extends BaseVersionProvider { SocketAddress addr = connection.getChannel().remoteAddress(); if (addr instanceof InetSocketAddress) { - int addrVersion = new ViaFabricAddress().parse(((InetSocketAddress) addr).getHostName()).protocol; + int addrVersion = new VFAddressParser().parse(((InetSocketAddress) addr).getHostName()).protocol; if (addrVersion != 0) serverVer = addrVersion; try { diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/service/ProtocolAutoDetector.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/service/ProtocolAutoDetector.java index 94887b6..65785bc 100644 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/service/ProtocolAutoDetector.java +++ b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/service/ProtocolAutoDetector.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc114.service; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc114.ViaFabric; -import com.viaversion.fabric.mc114.ViaFabricAddress; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -114,7 +114,7 @@ public class ProtocolAutoDetector { public static CompletableFuture detectVersion(InetSocketAddress address) { try { InetSocketAddress real = new InetSocketAddress(InetAddress.getByAddress - (new ViaFabricAddress().parse(address.getHostString()).realAddress, + (new VFAddressParser().parse(address.getHostString()).realAddress, address.getAddress().getAddress()), address.getPort()); return SERVER_VER.get(real); } catch (UnknownHostException | ExecutionException e) { diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/JLoggerToLog4j.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/JLoggerToLog4j.java deleted file mode 100644 index c809d51..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/JLoggerToLog4j.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc114.util; - -import java.text.MessageFormat; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; - -public class JLoggerToLog4j extends Logger { - private final org.apache.logging.log4j.Logger base; - - public JLoggerToLog4j(org.apache.logging.log4j.Logger logger) { - super("logger", null); - this.base = logger; - } - - public void log(LogRecord record) { - this.log(record.getLevel(), record.getMessage()); - } - - public void log(Level level, String msg) { - if (level == Level.FINE) { - this.base.debug(msg); - } else if (level == Level.WARNING) { - this.base.warn(msg); - } else if (level == Level.SEVERE) { - this.base.error(msg); - } else if (level == Level.INFO) { - this.base.info(msg); - } else { - this.base.trace(msg); - } - - } - - public void log(Level level, String msg, Object param1) { - if (level == Level.FINE) { - this.base.debug(msg, param1); - } else if (level == Level.WARNING) { - this.base.warn(msg, param1); - } else if (level == Level.SEVERE) { - this.base.error(msg, param1); - } else if (level == Level.INFO) { - this.base.info(msg, param1); - } else { - this.base.trace(msg, param1); - } - - } - - public void log(Level level, String msg, Object[] params) { - log(level, MessageFormat.format(msg, params)); - } - - public void log(Level level, String msg, Throwable params) { - if (level == Level.FINE) { - this.base.debug(msg, params); - } else if (level == Level.WARNING) { - this.base.warn(msg, params); - } else if (level == Level.SEVERE) { - this.base.error(msg, params); - } else if (level == Level.INFO) { - this.base.info(msg, params); - } else { - this.base.trace(msg, params); - } - - } -} diff --git a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/ProtocolUtils.java b/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/ProtocolUtils.java deleted file mode 100644 index 3ff6fe9..0000000 --- a/viafabric-mc114/src/main/java/com/viaversion/fabric/mc114/util/ProtocolUtils.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.viaversion.fabric.mc114.util; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Arrays; -import java.util.stream.Stream; - -public class ProtocolUtils { - public static boolean isSupported(int server, int client) { - return server == client || Via.getManager().getProtocolManager().getProtocolPath(client, server) != null; - } - - public static String getProtocolName(int id) { - if (!ProtocolVersion.isRegistered(id)) return Integer.toString(id); - return ProtocolVersion.getProtocol(id).getName(); - } - - public static boolean isStartOfProtocolText(String s) { - try { - Integer.parseInt(s); - return true; - } catch (NumberFormatException e) { - try { - Integer.parseInt(s + '0'); - return true; - } catch (NumberFormatException e2) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .anyMatch(ver -> ver.startsWith(s)); - } - } - } - - public static Integer parseProtocolId(String s) { - try { - return Integer.parseInt(s); - } catch (NumberFormatException ignored) { - ProtocolVersion closest = ProtocolVersion.getClosest(s); - if (closest == null) return null; - return closest.getVersion(); - } - } - - public static String[] getProtocolSuggestions(String text) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .distinct() - .filter(ver -> ver.startsWith(text)) - .toArray(String[]::new); - } -} diff --git a/viafabric-mc114/src/main/resources/fabric.mod.json b/viafabric-mc114/src/main/resources/fabric.mod.json index 0d4956a..1c1a161 100644 --- a/viafabric-mc114/src/main/resources/fabric.mod.json +++ b/viafabric-mc114/src/main/resources/fabric.mod.json @@ -32,26 +32,21 @@ "com.viaversion.fabric.mc114.ViaFabric" ], "cotton-client-commands": [ - "com.viaversion.fabric.mc114.commands.VRClientCommands" + "com.viaversion.fabric.mc114.commands.VFClientCommands" ], "modmenu": [ "com.viaversion.fabric.mc114.gui.ModMenuConfig" ] }, "depends": { - "fabricloader": ">=0.4.0", "fabric-resource-loader-v0": "*", "minecraft": "1.14.x", "viaversion": ">3.0.1" }, - "conflicts": { - "fabric-registry-sync-v0": "*" - }, "recommends": { "fabric-command-api-v1": "*", "cotton-client-commands": "*" }, - "icon": "assets/viafabric/textures/logo.png", "mixins": [ "mixins.viafabric114.address.json", "mixins.viafabric114.gui.json", diff --git a/viafabric-mc115/build.gradle.kts b/viafabric-mc115/build.gradle.kts index 5dbabd6..ad78926 100644 --- a/viafabric-mc115/build.gradle.kts +++ b/viafabric-mc115/build.gradle.kts @@ -3,7 +3,6 @@ version = rootProject.version dependencies { minecraft("com.mojang:minecraft:1.15.2") mappings("net.fabricmc:yarn:1.15.2+build.17:v2") - modImplementation("net.fabricmc:fabric-loader:0.9.3+build.207") modImplementation("net.fabricmc.fabric-api:fabric-api:0.19.0+build.325-1.15") modImplementation("io.github.prospector:modmenu:1.10.2+build.32") diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabric.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabric.java index 6f6ef1d..567b5b3 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabric.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabric.java @@ -1,17 +1,21 @@ package com.viaversion.fabric.mc115; -import com.viaversion.fabric.mc115.commands.VRCommandHandler; -import com.viaversion.fabric.mc115.config.VRConfig; -import com.viaversion.fabric.mc115.platform.VRInjector; -import com.viaversion.fabric.mc115.platform.VRLoader; -import com.viaversion.fabric.mc115.platform.VRPlatform; -import com.viaversion.fabric.mc115.protocol.ViaFabricHostnameProtocol; -import com.viaversion.fabric.mc115.util.JLoggerToLog4j; import com.google.common.collect.Range; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.builder.RequiredArgumentBuilder; +import com.viaversion.fabric.common.config.VFConfig; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; +import com.viaversion.fabric.common.util.JLoggerToLog4j; +import com.viaversion.fabric.mc115.commands.VRCommandHandler; +import com.viaversion.fabric.mc115.platform.FabricInjector; +import com.viaversion.fabric.mc115.platform.VRLoader; +import com.viaversion.fabric.mc115.platform.FabricPlatform; +import com.viaversion.viaversion.ViaManagerImpl; +import com.viaversion.viaversion.api.Via; +import com.viaversion.viaversion.api.data.MappingDataLoader; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import io.netty.channel.DefaultEventLoop; import io.netty.channel.EventLoop; import net.fabricmc.api.ModInitializer; @@ -20,10 +24,6 @@ import net.fabricmc.fabric.api.registry.CommandRegistry; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.server.command.CommandSource; import org.apache.logging.log4j.LogManager; -import com.viaversion.viaversion.ViaManagerImpl; -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.data.MappingDataLoader; -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; @@ -36,7 +36,7 @@ public class ViaFabric implements ModInitializer { public static final ExecutorService ASYNC_EXECUTOR; public static final EventLoop EVENT_LOOP; public static CompletableFuture INIT_FUTURE = new CompletableFuture<>(); - public static VRConfig config; + public static VFConfig config; static { ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("ViaFabric-%d").build(); @@ -64,16 +64,16 @@ public class ViaFabric implements ModInitializer { @Override public void onInitialize() { Via.init(ViaManagerImpl.builder() - .injector(new VRInjector()) + .injector(new FabricInjector()) .loader(new VRLoader()) .commandHandler(new VRCommandHandler()) - .platform(new VRPlatform()).build()); + .platform(new FabricPlatform()).build()); FabricLoader.getInstance().getModContainer("viabackwards").ifPresent(mod -> MappingDataLoader.enableMappingsCache()); ((ViaManagerImpl) Via.getManager()).init(); - Via.getManager().getProtocolManager().registerBaseProtocol(ViaFabricHostnameProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); + Via.getManager().getProtocolManager().registerBaseProtocol(HostnameParserProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); ProtocolVersion.register(-2, "AUTO"); FabricLoader.getInstance().getEntrypoints("viafabric:via_api_initialized", Runnable.class).forEach(Runnable::run); @@ -89,7 +89,7 @@ public class ViaFabric implements ModInitializer { } } - config = new VRConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") + config = new VFConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") .resolve("viafabric.yml").toFile()); INIT_FUTURE.complete(null); diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabricAddress.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabricAddress.java deleted file mode 100644 index bdb773d..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/ViaFabricAddress.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.viaversion.fabric.mc115; - -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Locale; - -public class ViaFabricAddress { - public int protocol = 0; - public String viaSuffix = null; - public String realAddress = null; - - public ViaFabricAddress parse(String address) { - if (address == null) return null; - String[] parts = address.split("\\."); - - boolean foundDomain = false; - boolean foundOptions = false; - - StringBuilder ourParts = new StringBuilder(); - StringBuilder realAddrBuilder = new StringBuilder(); - - for (int i = parts.length - 1; i >= 0; i--) { - String part = parts[i]; - boolean realAddrPart = false; - if (foundDomain) { - if (!foundOptions) { - if (part.startsWith("_")) { - String arg = part.substring(2); - if (part.toLowerCase(Locale.ROOT).startsWith("_v")) { - try { - protocol = Integer.parseInt(arg); - } catch (NumberFormatException e) { - ProtocolVersion closest = ProtocolVersion.getClosest(arg.replace("_", ".")); - if (closest != null) { - protocol = closest.getVersion(); - } - } - } - } else { - foundOptions = true; - } - } - if (foundOptions) { - realAddrPart = true; - } - } else if (part.equalsIgnoreCase("viafabric")) { - foundDomain = true; - } - if (realAddrPart) { - realAddrBuilder.insert(0, part + "."); - } else { - ourParts.insert(0, part + "."); - } - } - - String realAddr = realAddrBuilder.toString().replaceAll("\\.$", ""); - String suffix = ourParts.toString().replaceAll("\\.$", ""); - - if (realAddr.isEmpty()) { - this.realAddress = address; - } else { - this.realAddress = realAddr; - this.viaSuffix = suffix; - } - - return this; - } - - @Override - public String toString() { - return "ViaFabricAddress{" + - "protocol=" + protocol + - ", viaSuffix='" + viaSuffix + '\'' + - ", realAddress='" + realAddress + '\'' + - '}'; - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/UserCommandSender.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/UserCommandSender.java deleted file mode 100644 index 36b45ac..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/UserCommandSender.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.viaversion.fabric.mc115.commands; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.connection.UserConnection; - -import java.util.UUID; - -public class UserCommandSender implements ViaCommandSender { - private UserConnection con; - - public UserCommandSender(UserConnection con) { - this.con = con; - } - - @Override - public boolean hasPermission(String s) { - return false; - } - - @Override - public void sendMessage(String s) { - Via.getPlatform().sendMessage(getUUID(), s); - } - - @Override - public UUID getUUID() { - return con.getProtocolInfo().getUuid(); - } - - @Override - public String getName() { - return con.getProtocolInfo().getUsername(); - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRClientCommands.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VFClientCommands.java similarity index 88% rename from viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRClientCommands.java rename to viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VFClientCommands.java index e780d3f..bb189d3 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRClientCommands.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VFClientCommands.java @@ -5,7 +5,7 @@ import com.mojang.brigadier.CommandDispatcher; import io.github.cottonmc.clientcommands.ClientCommandPlugin; import io.github.cottonmc.clientcommands.CottonClientCommandSource; -public class VRClientCommands implements ClientCommandPlugin { +public class VFClientCommands implements ClientCommandPlugin { @Override public void registerCommands(CommandDispatcher commandDispatcher) { commandDispatcher.register(ViaFabric.command("viafabricclient")); diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRCommandHandler.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRCommandHandler.java index e5dfb08..87907bd 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRCommandHandler.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/VRCommandHandler.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.commands; -import com.viaversion.fabric.mc115.commands.subs.LeakDetectSubCommand; +import com.viaversion.fabric.common.commands.subs.LeakDetectSubCommand; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.suggestion.Suggestions; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/subs/LeakDetectSubCommand.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/subs/LeakDetectSubCommand.java deleted file mode 100644 index 0d517a3..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/commands/subs/LeakDetectSubCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.viaversion.fabric.mc115.commands.subs; - -import io.netty.util.ResourceLeakDetector; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.command.ViaSubCommand; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -public class LeakDetectSubCommand extends ViaSubCommand { - @Override - public String name() { - return "leakdetect"; - } - - @Override - public String description() { - return "Sets ResourceLeakDetector level"; - } - - @Override - public boolean execute(ViaCommandSender viaCommandSender, String[] strings) { - if (strings.length == 1) { - try { - ResourceLeakDetector.Level level = ResourceLeakDetector.Level.valueOf(strings[0]); - ResourceLeakDetector.setLevel(level); - viaCommandSender.sendMessage("Set leak detector level to " + level); - } catch (IllegalArgumentException e) { - viaCommandSender.sendMessage("Invalid level (" + Arrays.toString(ResourceLeakDetector.Level.values()) + ")"); - } - } else { - viaCommandSender.sendMessage("Current leak detection level is " + ResourceLeakDetector.getLevel()); - } - return true; - } - - @Override - public List onTabComplete(ViaCommandSender sender, String[] args) { - if (args.length == 1) { - return Arrays.stream(ResourceLeakDetector.Level.values()) - .map(Enum::name) - .filter(it -> it.startsWith(args[0])) - .collect(Collectors.toList()); - } - return super.onTabComplete(sender, args); - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/gui/ViaConfigScreen.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/gui/ViaConfigScreen.java index 0c6d781..7710f07 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/gui/ViaConfigScreen.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/gui/ViaConfigScreen.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc115.gui; import com.viaversion.fabric.mc115.ViaFabric; -import com.viaversion.fabric.mc115.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.viaversion.viaversion.api.Via; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricDecodeHandler.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricDecodeHandler.java index bf09490..402d31d 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricDecodeHandler.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricDecodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc115.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricEncodeHandler.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricEncodeHandler.java index 3105a14..908aa3c 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricEncodeHandler.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/handler/FabricEncodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc115.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinConnectScreenThread.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinConnectScreenThread.java index 73551d2..d445cca 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinConnectScreenThread.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinConnectScreenThread.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.mixin.address.client; -import com.viaversion.fabric.mc115.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -13,7 +13,7 @@ public class MixinConnectScreenThread { @Redirect(method = "run()V", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerAddress.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerAddress.java index db321ab..ed0fb54 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerAddress.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerAddress.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.mixin.address.client; -import com.viaversion.fabric.mc115.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.network.ServerAddress; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -16,7 +16,7 @@ public abstract class MixinServerAddress { @Redirect(method = "parse", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/ServerAddress;resolveSrv(Ljava/lang/String;)[Ljava/lang/String;")) private static String[] modifySrvAddr(String address) { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return resolveSrv(address); } diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerPinger.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerPinger.java index c1a766f..f9df139 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerPinger.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/address/client/MixinServerPinger.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.mixin.address.client; -import com.viaversion.fabric.mc115.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.client.network.MultiplayerServerListPinger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +14,7 @@ public class MixinServerPinger { @Redirect(method = "add", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/debug/client/MixinDebugHud.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/debug/client/MixinDebugHud.java index ca330bb..65179d6 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/debug/client/MixinDebugHud.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/debug/client/MixinDebugHud.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.mixin.debug.client; -import com.viaversion.fabric.mc115.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc115.handler.FabricDecodeHandler; import com.viaversion.viaversion.api.connection.ProtocolInfo; import io.netty.channel.ChannelHandler; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/MixinServerNetworkIoChInit.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/MixinServerNetworkIoChInit.java index c5924fe..84bd72b 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/MixinServerNetworkIoChInit.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/MixinServerNetworkIoChInit.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.mixin.pipeline; -import com.viaversion.fabric.mc115.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc115.handler.FabricDecodeHandler; import com.viaversion.fabric.mc115.handler.FabricEncodeHandler; import com.viaversion.viaversion.connection.UserConnectionImpl; diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/client/MixinClientConnectionChInit.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/client/MixinClientConnectionChInit.java index 0ceca2b..a0545cd 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/client/MixinClientConnectionChInit.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/mixin/pipeline/client/MixinClientConnectionChInit.java @@ -1,11 +1,11 @@ package com.viaversion.fabric.mc115.mixin.pipeline.client; import com.viaversion.fabric.mc115.ViaFabric; -import com.viaversion.fabric.mc115.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc115.handler.FabricDecodeHandler; import com.viaversion.fabric.mc115.handler.FabricEncodeHandler; import com.viaversion.fabric.mc115.handler.clientside.ProtocolDetectionHandler; -import com.viaversion.fabric.mc115.protocol.ViaFabricHostnameProtocol; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; import com.viaversion.viaversion.connection.UserConnectionImpl; import com.viaversion.viaversion.protocol.ProtocolPipelineImpl; import io.netty.channel.Channel; @@ -22,7 +22,7 @@ public class MixinClientConnectionChInit { private void onInitChannel(Channel channel, CallbackInfo ci) { if (channel instanceof SocketChannel) { UserConnection user = new UserConnectionImpl(channel, true); - new ProtocolPipelineImpl(user).add(ViaFabricHostnameProtocol.INSTANCE); + new ProtocolPipelineImpl(user).add(HostnameParserProtocol.INSTANCE); channel.pipeline() .addBefore("encoder", CommonTransformer.HANDLER_ENCODER_NAME, new FabricEncodeHandler(user)) diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRInjector.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/FabricInjector.java similarity index 94% rename from viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRInjector.java rename to viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/FabricInjector.java index 5e5d916..93fd4c9 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRInjector.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/FabricInjector.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc115.platform; -import com.viaversion.fabric.mc115.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import net.fabricmc.api.EnvType; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.SharedConstants; @@ -11,7 +11,7 @@ import com.viaversion.viaversion.libs.gson.JsonObject; import java.lang.reflect.Method; import java.util.Arrays; -public class VRInjector implements ViaInjector { +public class FabricInjector implements ViaInjector { @Override public void inject() { // *looks at Mixins* diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRPlatform.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/FabricPlatform.java similarity index 93% rename from viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRPlatform.java rename to viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/FabricPlatform.java index 6ac36bb..016bf7e 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRPlatform.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/FabricPlatform.java @@ -1,12 +1,23 @@ package com.viaversion.fabric.mc115.platform; +import com.viaversion.fabric.common.commands.UserCommandSender; +import com.viaversion.fabric.common.platform.FabricViaAPI; +import com.viaversion.fabric.common.platform.FabricViaConfig; +import com.viaversion.fabric.common.util.FutureTaskId; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.viaversion.fabric.mc115.ViaFabric; import com.viaversion.fabric.mc115.commands.NMSCommandSender; -import com.viaversion.fabric.mc115.commands.UserCommandSender; -import com.viaversion.fabric.mc115.util.FutureTaskId; -import com.viaversion.fabric.mc115.util.JLoggerToLog4j; +import com.viaversion.viaversion.api.Via; +import com.viaversion.viaversion.api.ViaAPI; +import com.viaversion.viaversion.api.command.ViaCommandSender; +import com.viaversion.viaversion.api.configuration.ConfigurationProvider; import com.viaversion.viaversion.api.configuration.ViaVersionConfig; -import com.viaversion.viaversion.api.platform.PlatformTask; +import com.viaversion.viaversion.api.platform.ViaPlatform; +import com.viaversion.viaversion.dump.PluginInfo; +import com.viaversion.viaversion.libs.gson.JsonObject; +import com.viaversion.viaversion.libs.kyori.adventure.text.serializer.gson.GsonComponentSerializer; +import com.viaversion.viaversion.libs.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; +import com.viaversion.viaversion.util.GsonUtil; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import net.fabricmc.api.EnvType; @@ -22,16 +33,6 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.Text; import org.apache.logging.log4j.LogManager; -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.ViaAPI; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.configuration.ConfigurationProvider; -import com.viaversion.viaversion.api.platform.ViaPlatform; -import com.viaversion.viaversion.dump.PluginInfo; -import com.viaversion.viaversion.util.GsonUtil; -import com.viaversion.viaversion.libs.gson.JsonObject; -import com.viaversion.viaversion.libs.kyori.adventure.text.serializer.gson.GsonComponentSerializer; -import com.viaversion.viaversion.libs.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import java.io.File; import java.nio.file.Path; @@ -46,17 +47,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -public class VRPlatform implements ViaPlatform { +public class FabricPlatform implements ViaPlatform { private final Logger logger = new JLoggerToLog4j(LogManager.getLogger("ViaVersion")); - private final VRViaConfig config; + private final FabricViaConfig config; private final File dataFolder; private final ViaAPI api; - public VRPlatform() { + public FabricPlatform() { Path configDir = FabricLoader.getInstance().getConfigDirectory().toPath().resolve("ViaFabric"); - config = new VRViaConfig(configDir.resolve("viaversion.yml").toFile()); + config = new FabricViaConfig(configDir.resolve("viaversion.yml").toFile()); dataFolder = configDir.toFile(); - api = new VRViaAPI(); + api = new FabricViaAPI(); } public static MinecraftServer getServer() { @@ -132,7 +133,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runSync(Runnable runnable, long ticks) { + public FutureTaskId runSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run delayed tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP @@ -142,7 +143,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runRepeatingSync(Runnable runnable, long ticks) { + public FutureTaskId runRepeatingSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run repeating tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRViaAPI.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRViaAPI.java deleted file mode 100644 index 0177972..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRViaAPI.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.viaversion.fabric.mc115.platform; - -import com.viaversion.viaversion.ViaAPIBase; - -import java.util.UUID; - -public class VRViaAPI extends ViaAPIBase { -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRViaConfig.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRViaConfig.java deleted file mode 100644 index f474a7d..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/platform/VRViaConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc115.platform; - -import com.viaversion.viaversion.configuration.AbstractViaConfig; - -import java.io.File; -import java.net.URL; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -public class VRViaConfig extends AbstractViaConfig { - // Based on Sponge ViaVersion - private static List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", - "bungee-ping-save", "bungee-servers", "quick-move-action-fix", "nms-player-ticking", - "velocity-ping-interval", "velocity-ping-save", "velocity-servers", - "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); - - public VRViaConfig(File configFile) { - super(configFile); - // Load config - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viaversion/config.yml"); - } - - @Override - protected void handleConfig(Map config) { - // Nothing Currently - } - - @Override - public List getUnsupportedOptions() { - return UNSUPPORTED; - } - - @Override - public boolean isAntiXRay() { - return false; - } - - @Override - public boolean isNMSPlayerTicking() { - return false; - } - - @Override - public boolean is1_12QuickMoveActionFix() { - return false; - } - - @Override - public String getBlockConnectionMethod() { - return "packet"; - } - - @Override - public boolean is1_9HitboxFix() { - return false; - } - - @Override - public boolean is1_14HitboxFix() { - return false; - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/protocol/ViaFabricHostnameProtocol.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/protocol/ViaFabricHostnameProtocol.java deleted file mode 100644 index 8028c40..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/protocol/ViaFabricHostnameProtocol.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.viaversion.fabric.mc115.protocol; - -import com.viaversion.fabric.mc115.ViaFabricAddress; -import com.viaversion.viaversion.api.protocol.AbstractSimpleProtocol; -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; -import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper; -import com.viaversion.viaversion.api.protocol.remapper.ValueTransformer; -import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.api.protocol.packet.State; - -public class ViaFabricHostnameProtocol extends AbstractSimpleProtocol { - public static final ViaFabricHostnameProtocol INSTANCE = new ViaFabricHostnameProtocol(); - - @Override - protected void registerPackets() { - registerServerbound(State.HANDSHAKE, 0, 0, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // Protocol version - map(Type.STRING, new ValueTransformer(Type.STRING) { - @Override - public String transform(PacketWrapper packetWrapper, String s) { - return new ViaFabricAddress().parse(s).realAddress; - } - }); - } - }); - } - - @Override - public boolean isBaseProtocol() { - return true; - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/providers/VRVersionProvider.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/providers/VRVersionProvider.java index 00af12f..093d959 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/providers/VRVersionProvider.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/providers/VRVersionProvider.java @@ -1,20 +1,22 @@ package com.viaversion.fabric.mc115.providers; -import com.viaversion.fabric.mc115.ViaFabric; -import com.viaversion.fabric.mc115.ViaFabricAddress; -import com.viaversion.fabric.mc115.service.ProtocolAutoDetector; -import com.viaversion.fabric.mc115.util.ProtocolUtils; import com.google.common.primitives.Ints; +import com.viaversion.fabric.common.VFAddressParser; +import com.viaversion.fabric.common.util.ProtocolUtils; +import com.viaversion.fabric.mc115.ViaFabric; +import com.viaversion.fabric.mc115.service.ProtocolAutoDetector; import com.viaversion.viaversion.api.connection.ProtocolInfo; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.network.ClientConnection; -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.connection.UserConnection; +import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; +import com.viaversion.viaversion.api.protocol.packet.State; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.exception.CancelException; -import com.viaversion.viaversion.api.protocol.packet.State; -import com.viaversion.viaversion.protocols.base.*; +import com.viaversion.viaversion.protocols.base.BaseProtocol1_16; +import com.viaversion.viaversion.protocols.base.BaseProtocol1_7; +import com.viaversion.viaversion.protocols.base.BaseVersionProvider; +import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.network.ClientConnection; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -68,7 +70,7 @@ public class VRVersionProvider extends BaseVersionProvider { SocketAddress addr = connection.getChannel().remoteAddress(); if (addr instanceof InetSocketAddress) { - int addrVersion = new ViaFabricAddress().parse(((InetSocketAddress) addr).getHostName()).protocol; + int addrVersion = new VFAddressParser().parse(((InetSocketAddress) addr).getHostName()).protocol; if (addrVersion != 0) serverVer = addrVersion; try { diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/service/ProtocolAutoDetector.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/service/ProtocolAutoDetector.java index 762e1bd..75cc50e 100644 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/service/ProtocolAutoDetector.java +++ b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/service/ProtocolAutoDetector.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc115.service; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc115.ViaFabric; -import com.viaversion.fabric.mc115.ViaFabricAddress; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -114,7 +114,7 @@ public class ProtocolAutoDetector { public static CompletableFuture detectVersion(InetSocketAddress address) { try { InetSocketAddress real = new InetSocketAddress(InetAddress.getByAddress - (new ViaFabricAddress().parse(address.getHostString()).realAddress, + (new VFAddressParser().parse(address.getHostString()).realAddress, address.getAddress().getAddress()), address.getPort()); return SERVER_VER.get(real); } catch (UnknownHostException | ExecutionException e) { diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/FutureTaskId.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/FutureTaskId.java deleted file mode 100644 index df97724..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/FutureTaskId.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.viaversion.fabric.mc115.util; - -import com.viaversion.viaversion.api.platform.PlatformTask; - -import java.util.concurrent.Future; - -public class FutureTaskId implements PlatformTask> { - private final Future object; - - public FutureTaskId(Future object) { - this.object = object; - } - - @Override - public Future getObject() { - return object; - } - - @Override - public void cancel() { - object.cancel(false); - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/JLoggerToLog4j.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/JLoggerToLog4j.java deleted file mode 100644 index 64a7de7..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/JLoggerToLog4j.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc115.util; - -import java.text.MessageFormat; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; - -public class JLoggerToLog4j extends Logger { - private final org.apache.logging.log4j.Logger base; - - public JLoggerToLog4j(org.apache.logging.log4j.Logger logger) { - super("logger", null); - this.base = logger; - } - - public void log(LogRecord record) { - this.log(record.getLevel(), record.getMessage()); - } - - public void log(Level level, String msg) { - if (level == Level.FINE) { - this.base.debug(msg); - } else if (level == Level.WARNING) { - this.base.warn(msg); - } else if (level == Level.SEVERE) { - this.base.error(msg); - } else if (level == Level.INFO) { - this.base.info(msg); - } else { - this.base.trace(msg); - } - - } - - public void log(Level level, String msg, Object param1) { - if (level == Level.FINE) { - this.base.debug(msg, param1); - } else if (level == Level.WARNING) { - this.base.warn(msg, param1); - } else if (level == Level.SEVERE) { - this.base.error(msg, param1); - } else if (level == Level.INFO) { - this.base.info(msg, param1); - } else { - this.base.trace(msg, param1); - } - - } - - public void log(Level level, String msg, Object[] params) { - log(level, MessageFormat.format(msg, params)); - } - - public void log(Level level, String msg, Throwable params) { - if (level == Level.FINE) { - this.base.debug(msg, params); - } else if (level == Level.WARNING) { - this.base.warn(msg, params); - } else if (level == Level.SEVERE) { - this.base.error(msg, params); - } else if (level == Level.INFO) { - this.base.info(msg, params); - } else { - this.base.trace(msg, params); - } - - } -} diff --git a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/ProtocolUtils.java b/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/ProtocolUtils.java deleted file mode 100644 index a73c3bd..0000000 --- a/viafabric-mc115/src/main/java/com/viaversion/fabric/mc115/util/ProtocolUtils.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.viaversion.fabric.mc115.util; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Arrays; -import java.util.stream.Stream; - -public class ProtocolUtils { - public static boolean isSupported(int server, int client) { - return server == client || Via.getManager().getProtocolManager().getProtocolPath(client, server) != null; - } - - public static String getProtocolName(int id) { - if (!ProtocolVersion.isRegistered(id)) return Integer.toString(id); - return ProtocolVersion.getProtocol(id).getName(); - } - - public static boolean isStartOfProtocolText(String s) { - try { - Integer.parseInt(s); - return true; - } catch (NumberFormatException e) { - try { - Integer.parseInt(s + '0'); - return true; - } catch (NumberFormatException e2) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .anyMatch(ver -> ver.startsWith(s)); - } - } - } - - public static Integer parseProtocolId(String s) { - try { - return Integer.parseInt(s); - } catch (NumberFormatException ignored) { - ProtocolVersion closest = ProtocolVersion.getClosest(s); - if (closest == null) return null; - return closest.getVersion(); - } - } - - public static String[] getProtocolSuggestions(String text) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .distinct() - .filter(ver -> ver.startsWith(text)) - .toArray(String[]::new); - } -} diff --git a/viafabric-mc115/src/main/resources/fabric.mod.json b/viafabric-mc115/src/main/resources/fabric.mod.json index effd409..71cac18 100644 --- a/viafabric-mc115/src/main/resources/fabric.mod.json +++ b/viafabric-mc115/src/main/resources/fabric.mod.json @@ -32,26 +32,21 @@ "com.viaversion.fabric.mc115.ViaFabric" ], "cotton-client-commands": [ - "com.viaversion.fabric.mc115.commands.VRClientCommands" + "com.viaversion.fabric.mc115.commands.VFClientCommands" ], "modmenu": [ "com.viaversion.fabric.mc115.gui.ModMenuConfig" ] }, "depends": { - "fabricloader": ">=0.4.0", "fabric-resource-loader-v0": "*", "minecraft": "1.15.x", "viaversion": ">3.0.1" }, - "conflicts": { - "fabric-registry-sync-v0": "*" - }, "recommends": { "fabric-command-api-v1": "*", "cotton-client-commands": "*" }, - "icon": "assets/viafabric/textures/logo.png", "mixins": [ "mixins.viafabric115.address.json", "mixins.viafabric115.gui.json", diff --git a/viafabric-mc116/build.gradle.kts b/viafabric-mc116/build.gradle.kts index 440d5c6..4025ded 100644 --- a/viafabric-mc116/build.gradle.kts +++ b/viafabric-mc116/build.gradle.kts @@ -3,7 +3,6 @@ version = rootProject.version dependencies { minecraft("com.mojang:minecraft:1.16.5") mappings("net.fabricmc:yarn:1.16.5+build.6:v2") - modImplementation("net.fabricmc:fabric-loader:0.11.3") modImplementation("net.fabricmc.fabric-api:fabric-api:0.32.5+1.16") modImplementation("com.terraformersmc:modmenu:1.16.9") diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabric.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabric.java index 1f005d7..1df64a8 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabric.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabric.java @@ -1,12 +1,12 @@ package com.viaversion.fabric.mc116; +import com.viaversion.fabric.common.config.VFConfig; import com.viaversion.fabric.mc116.commands.VRCommandHandler; -import com.viaversion.fabric.mc116.config.VRConfig; -import com.viaversion.fabric.mc116.platform.VRInjector; +import com.viaversion.fabric.mc116.platform.FabricInjector; import com.viaversion.fabric.mc116.platform.VRLoader; -import com.viaversion.fabric.mc116.platform.VRPlatform; -import com.viaversion.fabric.mc116.protocol.ViaFabricHostnameProtocol; -import com.viaversion.fabric.mc116.util.JLoggerToLog4j; +import com.viaversion.fabric.mc116.platform.FabricPlatform; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.google.common.collect.Range; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.mojang.brigadier.arguments.StringArgumentType; @@ -38,7 +38,7 @@ public class ViaFabric implements ModInitializer { public static final ExecutorService ASYNC_EXECUTOR; public static final EventLoop EVENT_LOOP; public static CompletableFuture INIT_FUTURE = new CompletableFuture<>(); - public static VRConfig config; + public static VFConfig config; static { ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("ViaFabric-%d").build(); @@ -66,16 +66,16 @@ public class ViaFabric implements ModInitializer { @Override public void onInitialize() { Via.init(ViaManagerImpl.builder() - .injector(new VRInjector()) + .injector(new FabricInjector()) .loader(new VRLoader()) .commandHandler(new VRCommandHandler()) - .platform(new VRPlatform()).build()); + .platform(new FabricPlatform()).build()); FabricLoader.getInstance().getModContainer("viabackwards").ifPresent(mod -> MappingDataLoader.enableMappingsCache()); ((ViaManagerImpl) Via.getManager()).init(); - Via.getManager().getProtocolManager().registerBaseProtocol(ViaFabricHostnameProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); + Via.getManager().getProtocolManager().registerBaseProtocol(HostnameParserProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); ProtocolVersion.register(-2, "AUTO"); FabricLoader.getInstance().getEntrypoints("viafabric:via_api_initialized", Runnable.class).forEach(Runnable::run); @@ -91,7 +91,7 @@ public class ViaFabric implements ModInitializer { } } - config = new VRConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") + config = new VFConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") .resolve("viafabric.yml").toFile()); INIT_FUTURE.complete(null); diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabricAddress.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabricAddress.java deleted file mode 100644 index 40bbab3..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/ViaFabricAddress.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.viaversion.fabric.mc116; - -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Locale; - -public class ViaFabricAddress { - public int protocol = 0; - public String viaSuffix = null; - public String realAddress = null; - - public ViaFabricAddress parse(String address) { - if (address == null) return null; - String[] parts = address.split("\\."); - - boolean foundDomain = false; - boolean foundOptions = false; - - StringBuilder ourParts = new StringBuilder(); - StringBuilder realAddrBuilder = new StringBuilder(); - - for (int i = parts.length - 1; i >= 0; i--) { - String part = parts[i]; - boolean realAddrPart = false; - if (foundDomain) { - if (!foundOptions) { - if (part.startsWith("_")) { - String arg = part.substring(2); - if (part.toLowerCase(Locale.ROOT).startsWith("_v")) { - try { - protocol = Integer.parseInt(arg); - } catch (NumberFormatException e) { - ProtocolVersion closest = ProtocolVersion.getClosest(arg.replace("_", ".")); - if (closest != null) { - protocol = closest.getVersion(); - } - } - } - } else { - foundOptions = true; - } - } - if (foundOptions) { - realAddrPart = true; - } - } else if (part.equalsIgnoreCase("viafabric")) { - foundDomain = true; - } - if (realAddrPart) { - realAddrBuilder.insert(0, part + "."); - } else { - ourParts.insert(0, part + "."); - } - } - - String realAddr = realAddrBuilder.toString().replaceAll("\\.$", ""); - String suffix = ourParts.toString().replaceAll("\\.$", ""); - - if (realAddr.isEmpty()) { - this.realAddress = address; - } else { - this.realAddress = realAddr; - this.viaSuffix = suffix; - } - - return this; - } - - @Override - public String toString() { - return "ViaFabricAddress{" + - "protocol=" + protocol + - ", viaSuffix='" + viaSuffix + '\'' + - ", realAddress='" + realAddress + '\'' + - '}'; - } -} diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/NMSCommandSender.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/NMSCommandSender.java index 52c6ba9..6af54cf 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/NMSCommandSender.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/NMSCommandSender.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.commands; -import com.viaversion.fabric.mc116.platform.VRPlatform; +import com.viaversion.fabric.mc116.platform.FabricPlatform; import net.fabricmc.fabric.api.client.command.v1.FabricClientCommandSource; import net.minecraft.command.CommandSource; import net.minecraft.entity.Entity; @@ -28,9 +28,9 @@ public class NMSCommandSender implements ViaCommandSender { @Override public void sendMessage(String s) { if (source instanceof ServerCommandSource) { - ((ServerCommandSource) source).sendFeedback(Text.Serializer.fromJson(VRPlatform.legacyToJson(s)), false); + ((ServerCommandSource) source).sendFeedback(Text.Serializer.fromJson(FabricPlatform.legacyToJson(s)), false); } else if (source instanceof FabricClientCommandSource) { - ((FabricClientCommandSource) source).sendFeedback(Text.Serializer.fromJson(VRPlatform.legacyToJson(s))); + ((FabricClientCommandSource) source).sendFeedback(Text.Serializer.fromJson(FabricPlatform.legacyToJson(s))); } } diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/VRCommandHandler.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/VRCommandHandler.java index e1ce488..01d7bee 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/VRCommandHandler.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/VRCommandHandler.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.commands; -import com.viaversion.fabric.mc116.commands.subs.LeakDetectSubCommand; +import com.viaversion.fabric.common.commands.subs.LeakDetectSubCommand; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.suggestion.Suggestions; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/subs/LeakDetectSubCommand.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/subs/LeakDetectSubCommand.java deleted file mode 100644 index 1a959e0..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/commands/subs/LeakDetectSubCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.viaversion.fabric.mc116.commands.subs; - -import io.netty.util.ResourceLeakDetector; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.command.ViaSubCommand; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -public class LeakDetectSubCommand extends ViaSubCommand { - @Override - public String name() { - return "leakdetect"; - } - - @Override - public String description() { - return "Sets ResourceLeakDetector level"; - } - - @Override - public boolean execute(ViaCommandSender viaCommandSender, String[] strings) { - if (strings.length == 1) { - try { - ResourceLeakDetector.Level level = ResourceLeakDetector.Level.valueOf(strings[0]); - ResourceLeakDetector.setLevel(level); - viaCommandSender.sendMessage("Set leak detector level to " + level); - } catch (IllegalArgumentException e) { - viaCommandSender.sendMessage("Invalid level (" + Arrays.toString(ResourceLeakDetector.Level.values()) + ")"); - } - } else { - viaCommandSender.sendMessage("Current leak detection level is " + ResourceLeakDetector.getLevel()); - } - return true; - } - - @Override - public List onTabComplete(ViaCommandSender sender, String[] args) { - if (args.length == 1) { - return Arrays.stream(ResourceLeakDetector.Level.values()) - .map(Enum::name) - .filter(it -> it.startsWith(args[0])) - .collect(Collectors.toList()); - } - return super.onTabComplete(sender, args); - } -} diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/config/VRConfig.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/config/VRConfig.java deleted file mode 100644 index 9408131..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/config/VRConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc116.config; - -import com.viaversion.viaversion.util.Config; - -import java.io.File; -import java.net.URL; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -public class VRConfig extends Config { - public static final String ENABLE_CLIENT_SIDE = "enable-client-side"; - public static final String CLIENT_SIDE_VERSION = "client-side-version"; - public static final String CLIENT_SIDE_FORCE_DISABLE = "client-side-force-disable"; - public static final String HIDE_BUTTON = "hide-button"; - - public VRConfig(File configFile) { - super(configFile); - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viafabric/config.yml"); - } - - @Override - protected void handleConfig(Map map) { - } - - @Override - public List getUnsupportedOptions() { - return Collections.emptyList(); - } - - public boolean isClientSideEnabled() { - return getBoolean(ENABLE_CLIENT_SIDE, false); - } - - public void setClientSideEnabled(boolean val) { - set(ENABLE_CLIENT_SIDE, val); - } - - public int getClientSideVersion() { - return getInt(CLIENT_SIDE_VERSION, -1); - } - - public void setClientSideVersion(int val) { - set(CLIENT_SIDE_VERSION, val); - } - - public Collection getClientSideForceDisable() { - return (List) get(CLIENT_SIDE_FORCE_DISABLE, List.class, Collections.emptyList()); - } - - public void setHideButton(boolean val) { - set(HIDE_BUTTON, val); - } - - public boolean isHideButton() { - return getBoolean(HIDE_BUTTON, false); - } - - public boolean isForcedDisable(String line) { - return getClientSideForceDisable().contains(line); - } -} diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/gui/ViaConfigScreen.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/gui/ViaConfigScreen.java index 2cf23d6..407f72e 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/gui/ViaConfigScreen.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/gui/ViaConfigScreen.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc116.gui; import com.viaversion.fabric.mc116.ViaFabric; -import com.viaversion.fabric.mc116.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.viaversion.viaversion.api.Via; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/CommonTransformer.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/CommonTransformer.java deleted file mode 100644 index c6128c5..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/CommonTransformer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.viaversion.fabric.mc116.handler; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.ChannelHandler; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.ByteToMessageDecoder; -import io.netty.handler.codec.MessageToByteEncoder; -import io.netty.handler.codec.MessageToMessageDecoder; -import com.viaversion.viaversion.util.PipelineUtil; - -import java.lang.reflect.InvocationTargetException; - -public class CommonTransformer { - public static final String HANDLER_DECODER_NAME = "via-decoder"; - public static final String HANDLER_ENCODER_NAME = "via-encoder"; - - public static void decompress(ChannelHandlerContext ctx, ByteBuf buf) throws InvocationTargetException { - ChannelHandler handler = ctx.pipeline().get("decompress"); - ByteBuf decompressed = handler instanceof MessageToMessageDecoder - ? (ByteBuf) PipelineUtil.callDecode((MessageToMessageDecoder) handler, ctx, buf).get(0) - : (ByteBuf) PipelineUtil.callDecode((ByteToMessageDecoder) handler, ctx, buf).get(0); - try { - buf.clear().writeBytes(decompressed); - } finally { - decompressed.release(); - } - } - - public static void compress(ChannelHandlerContext ctx, ByteBuf buf) throws Exception { - ByteBuf compressed = ctx.alloc().buffer(); - try { - PipelineUtil.callEncode((MessageToByteEncoder) ctx.pipeline().get("compress"), ctx, buf, compressed); - buf.clear().writeBytes(compressed); - } finally { - compressed.release(); - } - } -} \ No newline at end of file diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricDecodeHandler.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricDecodeHandler.java index 5f5a8cc..bd25e1f 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricDecodeHandler.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricDecodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc116.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricEncodeHandler.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricEncodeHandler.java index f90878d..5691e01 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricEncodeHandler.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/handler/FabricEncodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc116.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinConnectScreenThread.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinConnectScreenThread.java index cdd00cc..fdd8233 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinConnectScreenThread.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinConnectScreenThread.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.mixin.address.client; -import com.viaversion.fabric.mc116.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -13,7 +13,7 @@ public class MixinConnectScreenThread { @Redirect(method = "run()V", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerAddress.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerAddress.java index c992255..ee5b9a2 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerAddress.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerAddress.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc116.mixin.address.client; -import com.viaversion.fabric.mc116.ViaFabricAddress; import com.mojang.datafixers.util.Pair; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.network.ServerAddress; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -17,7 +17,7 @@ public abstract class MixinServerAddress { @Redirect(method = "parse", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/ServerAddress;resolveServer(Ljava/lang/String;)Lcom/mojang/datafixers/util/Pair;")) private static Pair modifySrvAddr(String address) { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return resolveServer(address); } diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerPinger.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerPinger.java index 6060b28..1118cf5 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerPinger.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/address/client/MixinServerPinger.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.mixin.address.client; -import com.viaversion.fabric.mc116.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.client.network.MultiplayerServerListPinger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +14,7 @@ public class MixinServerPinger { @Redirect(method = "add", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/debug/client/MixinDebugHud.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/debug/client/MixinDebugHud.java index 5e6ecee..509df6c 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/debug/client/MixinDebugHud.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/debug/client/MixinDebugHud.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.mixin.debug.client; -import com.viaversion.fabric.mc116.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc116.handler.FabricDecodeHandler; import com.viaversion.viaversion.api.connection.ProtocolInfo; import io.netty.channel.ChannelHandler; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/MixinServerNetworkIoChInit.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/MixinServerNetworkIoChInit.java index f00b137..3cef35b 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/MixinServerNetworkIoChInit.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/MixinServerNetworkIoChInit.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.mixin.pipeline; -import com.viaversion.fabric.mc116.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc116.handler.FabricDecodeHandler; import com.viaversion.fabric.mc116.handler.FabricEncodeHandler; import com.viaversion.viaversion.connection.UserConnectionImpl; diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/client/MixinClientConnectionChInit.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/client/MixinClientConnectionChInit.java index af60422..2f3cdf5 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/client/MixinClientConnectionChInit.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/mixin/pipeline/client/MixinClientConnectionChInit.java @@ -1,11 +1,11 @@ package com.viaversion.fabric.mc116.mixin.pipeline.client; import com.viaversion.fabric.mc116.ViaFabric; -import com.viaversion.fabric.mc116.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc116.handler.FabricDecodeHandler; import com.viaversion.fabric.mc116.handler.FabricEncodeHandler; import com.viaversion.fabric.mc116.handler.clientside.ProtocolDetectionHandler; -import com.viaversion.fabric.mc116.protocol.ViaFabricHostnameProtocol; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; import com.viaversion.viaversion.connection.UserConnectionImpl; import com.viaversion.viaversion.protocol.ProtocolPipelineImpl; import io.netty.channel.Channel; @@ -22,7 +22,7 @@ public class MixinClientConnectionChInit { private void onInitChannel(Channel channel, CallbackInfo ci) { if (channel instanceof SocketChannel) { UserConnection user = new UserConnectionImpl(channel, true); - new ProtocolPipelineImpl(user).add(ViaFabricHostnameProtocol.INSTANCE); + new ProtocolPipelineImpl(user).add(HostnameParserProtocol.INSTANCE); channel.pipeline() .addBefore("encoder", CommonTransformer.HANDLER_ENCODER_NAME, new FabricEncodeHandler(user)) diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRInjector.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/FabricInjector.java similarity index 94% rename from viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRInjector.java rename to viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/FabricInjector.java index 942ecf8..c200f7e 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRInjector.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/FabricInjector.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc116.platform; -import com.viaversion.fabric.mc116.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import net.fabricmc.api.EnvType; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.SharedConstants; @@ -11,7 +11,7 @@ import com.viaversion.viaversion.libs.gson.JsonObject; import java.lang.reflect.Method; import java.util.Arrays; -public class VRInjector implements ViaInjector { +public class FabricInjector implements ViaInjector { @Override public void inject() { // *looks at Mixins* diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRPlatform.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/FabricPlatform.java similarity index 92% rename from viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRPlatform.java rename to viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/FabricPlatform.java index 24808a1..13b6e3d 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRPlatform.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/FabricPlatform.java @@ -1,12 +1,13 @@ package com.viaversion.fabric.mc116.platform; +import com.viaversion.fabric.common.platform.FabricViaAPI; +import com.viaversion.fabric.common.platform.FabricViaConfig; +import com.viaversion.fabric.common.util.FutureTaskId; import com.viaversion.fabric.mc116.ViaFabric; import com.viaversion.fabric.mc116.commands.NMSCommandSender; -import com.viaversion.fabric.mc116.commands.UserCommandSender; -import com.viaversion.fabric.mc116.util.FutureTaskId; -import com.viaversion.fabric.mc116.util.JLoggerToLog4j; +import com.viaversion.fabric.common.commands.UserCommandSender; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.viaversion.viaversion.api.configuration.ViaVersionConfig; -import com.viaversion.viaversion.api.platform.PlatformTask; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import net.fabricmc.api.EnvType; @@ -45,17 +46,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -public class VRPlatform implements ViaPlatform { +public class FabricPlatform implements ViaPlatform { private final Logger logger = new JLoggerToLog4j(LogManager.getLogger("ViaVersion")); - private final VRViaConfig config; + private final FabricViaConfig config; private final File dataFolder; private final ViaAPI api; - public VRPlatform() { + public FabricPlatform() { Path configDir = FabricLoader.getInstance().getConfigDirectory().toPath().resolve("ViaFabric"); - config = new VRViaConfig(configDir.resolve("viaversion.yml").toFile()); + config = new FabricViaConfig(configDir.resolve("viaversion.yml").toFile()); dataFolder = configDir.toFile(); - api = new VRViaAPI(); + api = new FabricViaAPI(); } public static MinecraftServer getServer() { @@ -131,7 +132,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runSync(Runnable runnable, long ticks) { + public FutureTaskId runSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run delayed tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP @@ -141,7 +142,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runRepeatingSync(Runnable runnable, long ticks) { + public FutureTaskId runRepeatingSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run repeating tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRViaAPI.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRViaAPI.java deleted file mode 100644 index aebbe40..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/platform/VRViaAPI.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.viaversion.fabric.mc116.platform; - -import com.viaversion.viaversion.ViaAPIBase; - -import java.util.UUID; - -public class VRViaAPI extends ViaAPIBase { -} diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/protocol/ViaFabricHostnameProtocol.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/protocol/ViaFabricHostnameProtocol.java deleted file mode 100644 index 1e38219..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/protocol/ViaFabricHostnameProtocol.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.viaversion.fabric.mc116.protocol; - -import com.viaversion.fabric.mc116.ViaFabricAddress; -import com.viaversion.viaversion.api.protocol.AbstractSimpleProtocol; -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; -import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper; -import com.viaversion.viaversion.api.protocol.remapper.ValueTransformer; -import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.api.protocol.packet.State; - -public class ViaFabricHostnameProtocol extends AbstractSimpleProtocol { - public static final ViaFabricHostnameProtocol INSTANCE = new ViaFabricHostnameProtocol(); - - @Override - protected void registerPackets() { - registerServerbound(State.HANDSHAKE, 0, 0, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // Protocol version - map(Type.STRING, new ValueTransformer(Type.STRING) { - @Override - public String transform(PacketWrapper packetWrapper, String s) { - return new ViaFabricAddress().parse(s).realAddress; - } - }); - } - }); - } - - @Override - public boolean isBaseProtocol() { - return true; - } -} diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/providers/VRVersionProvider.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/providers/VRVersionProvider.java index 58228de..78924b5 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/providers/VRVersionProvider.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/providers/VRVersionProvider.java @@ -1,9 +1,9 @@ package com.viaversion.fabric.mc116.providers; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc116.ViaFabric; -import com.viaversion.fabric.mc116.ViaFabricAddress; import com.viaversion.fabric.mc116.service.ProtocolAutoDetector; -import com.viaversion.fabric.mc116.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.google.common.primitives.Ints; import com.viaversion.viaversion.api.connection.ProtocolInfo; import net.fabricmc.loader.api.FabricLoader; @@ -68,7 +68,7 @@ public class VRVersionProvider extends BaseVersionProvider { SocketAddress addr = connection.getChannel().remoteAddress(); if (addr instanceof InetSocketAddress) { - int addrVersion = new ViaFabricAddress().parse(((InetSocketAddress) addr).getHostName()).protocol; + int addrVersion = new VFAddressParser().parse(((InetSocketAddress) addr).getHostName()).protocol; if (addrVersion != 0) serverVer = addrVersion; try { diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/service/ProtocolAutoDetector.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/service/ProtocolAutoDetector.java index 2013a4b..cf41e28 100644 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/service/ProtocolAutoDetector.java +++ b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/service/ProtocolAutoDetector.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc116.service; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc116.ViaFabric; -import com.viaversion.fabric.mc116.ViaFabricAddress; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -114,7 +114,7 @@ public class ProtocolAutoDetector { public static CompletableFuture detectVersion(InetSocketAddress address) { try { InetSocketAddress real = new InetSocketAddress(InetAddress.getByAddress - (new ViaFabricAddress().parse(address.getHostString()).realAddress, + (new VFAddressParser().parse(address.getHostString()).realAddress, address.getAddress().getAddress()), address.getPort()); return SERVER_VER.get(real); } catch (UnknownHostException | ExecutionException e) { diff --git a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/FutureTaskId.java b/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/FutureTaskId.java deleted file mode 100644 index 71c0846..0000000 --- a/viafabric-mc116/src/main/java/com/viaversion/fabric/mc116/util/FutureTaskId.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.viaversion.fabric.mc116.util; - -import com.viaversion.viaversion.api.platform.PlatformTask; - -import java.util.concurrent.Future; - -public class FutureTaskId implements PlatformTask> { - private final Future object; - - public FutureTaskId(Future object) { - this.object = object; - } - - @Override - public Future getObject() { - return object; - } - - @Override - public void cancel() { - object.cancel(false); - } -} diff --git a/viafabric-mc116/src/main/resources/fabric.mod.json b/viafabric-mc116/src/main/resources/fabric.mod.json index a32ccdb..30f2ca9 100644 --- a/viafabric-mc116/src/main/resources/fabric.mod.json +++ b/viafabric-mc116/src/main/resources/fabric.mod.json @@ -36,18 +36,13 @@ ] }, "depends": { - "fabricloader": ">=0.4.0", "fabric-resource-loader-v0": "*", "minecraft": "1.16.x", "viaversion": ">3.0.1" }, - "conflicts": { - "fabric-registry-sync-v0": "*" - }, "recommends": { "fabric-command-api-v1": "*" }, - "icon": "assets/viafabric/textures/logo.png", "mixins": [ "mixins.viafabric116.address.json", "mixins.viafabric116.gui.json", diff --git a/viafabric-mc117/build.gradle.kts b/viafabric-mc117/build.gradle.kts index a4d2e0a..28f3616 100644 --- a/viafabric-mc117/build.gradle.kts +++ b/viafabric-mc117/build.gradle.kts @@ -3,7 +3,6 @@ version = rootProject.version dependencies { minecraft("com.mojang:minecraft:21w15a") mappings("net.fabricmc:yarn:21w15a+build.16:v2") - modImplementation("net.fabricmc:fabric-loader:0.10.5+build.213") modImplementation("net.fabricmc.fabric-api:fabric-api:0.33.0+1.17") modImplementation("com.terraformersmc:modmenu:1.16.9") diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabric.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabric.java index c777bec..fa0fa24 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabric.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabric.java @@ -1,12 +1,12 @@ package com.viaversion.fabric.mc117; +import com.viaversion.fabric.common.config.VFConfig; import com.viaversion.fabric.mc117.commands.VRCommandHandler; -import com.viaversion.fabric.mc117.config.VRConfig; -import com.viaversion.fabric.mc117.platform.VRInjector; +import com.viaversion.fabric.mc117.platform.FabricInjector; import com.viaversion.fabric.mc117.platform.VRLoader; -import com.viaversion.fabric.mc117.platform.VRPlatform; -import com.viaversion.fabric.mc117.protocol.ViaFabricHostnameProtocol; -import com.viaversion.fabric.mc117.util.JLoggerToLog4j; +import com.viaversion.fabric.mc117.platform.FabricPlatform; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.google.common.collect.Range; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.mojang.brigadier.arguments.StringArgumentType; @@ -38,7 +38,7 @@ public class ViaFabric implements ModInitializer { public static final ExecutorService ASYNC_EXECUTOR; public static final EventLoop EVENT_LOOP; public static CompletableFuture INIT_FUTURE = new CompletableFuture<>(); - public static VRConfig config; + public static VFConfig config; static { ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("ViaFabric-%d").build(); @@ -66,16 +66,16 @@ public class ViaFabric implements ModInitializer { @Override public void onInitialize() { Via.init(ViaManagerImpl.builder() - .injector(new VRInjector()) + .injector(new FabricInjector()) .loader(new VRLoader()) .commandHandler(new VRCommandHandler()) - .platform(new VRPlatform()).build()); + .platform(new FabricPlatform()).build()); FabricLoader.getInstance().getModContainer("viabackwards").ifPresent(mod -> MappingDataLoader.enableMappingsCache()); ((ViaManagerImpl) Via.getManager()).init(); - Via.getManager().getProtocolManager().registerBaseProtocol(ViaFabricHostnameProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); + Via.getManager().getProtocolManager().registerBaseProtocol(HostnameParserProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); ProtocolVersion.register(-2, "AUTO"); FabricLoader.getInstance().getEntrypoints("viafabric:via_api_initialized", Runnable.class).forEach(Runnable::run); @@ -91,7 +91,7 @@ public class ViaFabric implements ModInitializer { } } - config = new VRConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") + config = new VFConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") .resolve("viafabric.yml").toFile()); INIT_FUTURE.complete(null); diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabricAddress.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabricAddress.java deleted file mode 100644 index f00a9c2..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/ViaFabricAddress.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.viaversion.fabric.mc117; - -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Locale; - -public class ViaFabricAddress { - public int protocol = 0; - public String viaSuffix = null; - public String realAddress = null; - - public ViaFabricAddress parse(String address) { - if (address == null) return null; - String[] parts = address.split("\\."); - - boolean foundDomain = false; - boolean foundOptions = false; - - StringBuilder ourParts = new StringBuilder(); - StringBuilder realAddrBuilder = new StringBuilder(); - - for (int i = parts.length - 1; i >= 0; i--) { - String part = parts[i]; - boolean realAddrPart = false; - if (foundDomain) { - if (!foundOptions) { - if (part.startsWith("_")) { - String arg = part.substring(2); - if (part.toLowerCase(Locale.ROOT).startsWith("_v")) { - try { - protocol = Integer.parseInt(arg); - } catch (NumberFormatException e) { - ProtocolVersion closest = ProtocolVersion.getClosest(arg.replace("_", ".")); - if (closest != null) { - protocol = closest.getVersion(); - } - } - } - } else { - foundOptions = true; - } - } - if (foundOptions) { - realAddrPart = true; - } - } else if (part.equalsIgnoreCase("viafabric")) { - foundDomain = true; - } - if (realAddrPart) { - realAddrBuilder.insert(0, part + "."); - } else { - ourParts.insert(0, part + "."); - } - } - - String realAddr = realAddrBuilder.toString().replaceAll("\\.$", ""); - String suffix = ourParts.toString().replaceAll("\\.$", ""); - - if (realAddr.isEmpty()) { - this.realAddress = address; - } else { - this.realAddress = realAddr; - this.viaSuffix = suffix; - } - - return this; - } - - @Override - public String toString() { - return "ViaFabricAddress{" + - "protocol=" + protocol + - ", viaSuffix='" + viaSuffix + '\'' + - ", realAddress='" + realAddress + '\'' + - '}'; - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/NMSCommandSender.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/NMSCommandSender.java index c65c4e4..99188a9 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/NMSCommandSender.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/NMSCommandSender.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.commands; -import com.viaversion.fabric.mc117.platform.VRPlatform; +import com.viaversion.fabric.mc117.platform.FabricPlatform; import net.fabricmc.fabric.api.client.command.v1.FabricClientCommandSource; import net.minecraft.command.CommandSource; import net.minecraft.entity.Entity; @@ -26,9 +26,9 @@ public class NMSCommandSender implements ViaCommandSender { @Override public void sendMessage(String s) { if (source instanceof ServerCommandSource) { - ((ServerCommandSource) source).sendFeedback(Text.Serializer.fromJson(VRPlatform.legacyToJson(s)), false); + ((ServerCommandSource) source).sendFeedback(Text.Serializer.fromJson(FabricPlatform.legacyToJson(s)), false); } else if (source instanceof FabricClientCommandSource) { - ((FabricClientCommandSource) source).sendFeedback(Text.Serializer.fromJson(VRPlatform.legacyToJson(s))); + ((FabricClientCommandSource) source).sendFeedback(Text.Serializer.fromJson(FabricPlatform.legacyToJson(s))); } } diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/UserCommandSender.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/UserCommandSender.java deleted file mode 100644 index 6c53b91..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/UserCommandSender.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.viaversion.fabric.mc117.commands; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.connection.UserConnection; - -import java.util.UUID; - -public class UserCommandSender implements ViaCommandSender { - private UserConnection con; - - public UserCommandSender(UserConnection con) { - this.con = con; - } - - @Override - public boolean hasPermission(String s) { - return false; - } - - @Override - public void sendMessage(String s) { - Via.getPlatform().sendMessage(getUUID(), s); - } - - @Override - public UUID getUUID() { - return con.getProtocolInfo().getUuid(); - } - - @Override - public String getName() { - return con.getProtocolInfo().getUsername(); - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/VRCommandHandler.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/VRCommandHandler.java index fe317cd..fb0ef71 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/VRCommandHandler.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/VRCommandHandler.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.commands; -import com.viaversion.fabric.mc117.commands.subs.LeakDetectSubCommand; +import com.viaversion.fabric.common.commands.subs.LeakDetectSubCommand; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.suggestion.Suggestions; diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/subs/LeakDetectSubCommand.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/subs/LeakDetectSubCommand.java deleted file mode 100644 index 9ba304d..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/commands/subs/LeakDetectSubCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.viaversion.fabric.mc117.commands.subs; - -import io.netty.util.ResourceLeakDetector; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.command.ViaSubCommand; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -public class LeakDetectSubCommand extends ViaSubCommand { - @Override - public String name() { - return "leakdetect"; - } - - @Override - public String description() { - return "Sets ResourceLeakDetector level"; - } - - @Override - public boolean execute(ViaCommandSender viaCommandSender, String[] strings) { - if (strings.length == 1) { - try { - ResourceLeakDetector.Level level = ResourceLeakDetector.Level.valueOf(strings[0]); - ResourceLeakDetector.setLevel(level); - viaCommandSender.sendMessage("Set leak detector level to " + level); - } catch (IllegalArgumentException e) { - viaCommandSender.sendMessage("Invalid level (" + Arrays.toString(ResourceLeakDetector.Level.values()) + ")"); - } - } else { - viaCommandSender.sendMessage("Current leak detection level is " + ResourceLeakDetector.getLevel()); - } - return true; - } - - @Override - public List onTabComplete(ViaCommandSender sender, String[] args) { - if (args.length == 1) { - return Arrays.stream(ResourceLeakDetector.Level.values()) - .map(Enum::name) - .filter(it -> it.startsWith(args[0])) - .collect(Collectors.toList()); - } - return super.onTabComplete(sender, args); - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/config/VRConfig.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/config/VRConfig.java deleted file mode 100644 index 2e8e9dc..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/config/VRConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc117.config; - -import com.viaversion.viaversion.util.Config; - -import java.io.File; -import java.net.URL; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -public class VRConfig extends Config { - public static final String ENABLE_CLIENT_SIDE = "enable-client-side"; - public static final String CLIENT_SIDE_VERSION = "client-side-version"; - public static final String CLIENT_SIDE_FORCE_DISABLE = "client-side-force-disable"; - public static final String HIDE_BUTTON = "hide-button"; - - public VRConfig(File configFile) { - super(configFile); - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viafabric/config.yml"); - } - - @Override - protected void handleConfig(Map map) { - } - - @Override - public List getUnsupportedOptions() { - return Collections.emptyList(); - } - - public boolean isClientSideEnabled() { - return getBoolean(ENABLE_CLIENT_SIDE, false); - } - - public void setClientSideEnabled(boolean val) { - set(ENABLE_CLIENT_SIDE, val); - } - - public int getClientSideVersion() { - return getInt(CLIENT_SIDE_VERSION, -1); - } - - public void setClientSideVersion(int val) { - set(CLIENT_SIDE_VERSION, val); - } - - public Collection getClientSideForceDisable() { - return (List) get(CLIENT_SIDE_FORCE_DISABLE, List.class, Collections.emptyList()); - } - - public void setHideButton(boolean val) { - set(HIDE_BUTTON, val); - } - - public boolean isHideButton() { - return getBoolean(HIDE_BUTTON, false); - } - - public boolean isForcedDisable(String line) { - return getClientSideForceDisable().contains(line); - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/gui/ViaConfigScreen.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/gui/ViaConfigScreen.java index 55f7387..7fd5d16 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/gui/ViaConfigScreen.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/gui/ViaConfigScreen.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc117.gui; import com.viaversion.fabric.mc117.ViaFabric; -import com.viaversion.fabric.mc117.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.viaversion.viaversion.api.Via; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/CommonTransformer.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/CommonTransformer.java deleted file mode 100644 index 2f7ad12..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/CommonTransformer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.viaversion.fabric.mc117.handler; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.ChannelHandler; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.ByteToMessageDecoder; -import io.netty.handler.codec.MessageToByteEncoder; -import io.netty.handler.codec.MessageToMessageDecoder; -import com.viaversion.viaversion.util.PipelineUtil; - -import java.lang.reflect.InvocationTargetException; - -public class CommonTransformer { - public static final String HANDLER_DECODER_NAME = "via-decoder"; - public static final String HANDLER_ENCODER_NAME = "via-encoder"; - - public static void decompress(ChannelHandlerContext ctx, ByteBuf buf) throws InvocationTargetException { - ChannelHandler handler = ctx.pipeline().get("decompress"); - ByteBuf decompressed = handler instanceof MessageToMessageDecoder - ? (ByteBuf) PipelineUtil.callDecode((MessageToMessageDecoder) handler, ctx, buf).get(0) - : (ByteBuf) PipelineUtil.callDecode((ByteToMessageDecoder) handler, ctx, buf).get(0); - try { - buf.clear().writeBytes(decompressed); - } finally { - decompressed.release(); - } - } - - public static void compress(ChannelHandlerContext ctx, ByteBuf buf) throws Exception { - ByteBuf compressed = ctx.alloc().buffer(); - try { - PipelineUtil.callEncode((MessageToByteEncoder) ctx.pipeline().get("compress"), ctx, buf, compressed); - buf.clear().writeBytes(compressed); - } finally { - compressed.release(); - } - } -} \ No newline at end of file diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricDecodeHandler.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricDecodeHandler.java index 29fe3a7..a51cf3d 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricDecodeHandler.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricDecodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc117.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricEncodeHandler.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricEncodeHandler.java index d2c9b44..e95d6ff 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricEncodeHandler.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/handler/FabricEncodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc117.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinConnectScreenThread.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinConnectScreenThread.java index 131c726..244a930 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinConnectScreenThread.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinConnectScreenThread.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.mixin.address.client; -import com.viaversion.fabric.mc117.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -13,7 +13,7 @@ public class MixinConnectScreenThread { @Redirect(method = "run()V", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerAddress.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerAddress.java index c215fe7..639f67c 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerAddress.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerAddress.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc117.mixin.address.client; -import com.viaversion.fabric.mc117.ViaFabricAddress; import com.google.common.net.HostAndPort; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.client.network.ServerAddress; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -17,7 +17,7 @@ public abstract class MixinServerAddress { @Redirect(method = "parse", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ServerAddress;resolveServer(Lcom/google/common/net/HostAndPort;)Lcom/google/common/net/HostAndPort;")) private static HostAndPort modifySrvAddr(HostAndPort address) { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address.getHost()); + VFAddressParser viaAddr = new VFAddressParser().parse(address.getHost()); if (viaAddr.viaSuffix == null) { return resolveServer(address); } diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerPinger.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerPinger.java index 202c8a3..b76d8b6 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerPinger.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/address/client/MixinServerPinger.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.mixin.address.client; -import com.viaversion.fabric.mc117.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.client.network.MultiplayerServerListPinger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +14,7 @@ public class MixinServerPinger { @Redirect(method = "add", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/debug/client/MixinDebugHud.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/debug/client/MixinDebugHud.java index 36ed6f0..40896e0 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/debug/client/MixinDebugHud.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/debug/client/MixinDebugHud.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.mixin.debug.client; -import com.viaversion.fabric.mc117.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc117.handler.FabricDecodeHandler; import com.viaversion.viaversion.api.connection.ProtocolInfo; import io.netty.channel.ChannelHandler; diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/MixinServerNetworkIoChInit.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/MixinServerNetworkIoChInit.java index 85a92b1..f436855 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/MixinServerNetworkIoChInit.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/MixinServerNetworkIoChInit.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.mixin.pipeline; -import com.viaversion.fabric.mc117.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc117.handler.FabricDecodeHandler; import com.viaversion.fabric.mc117.handler.FabricEncodeHandler; import com.viaversion.viaversion.connection.UserConnectionImpl; diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/client/MixinClientConnectionChInit.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/client/MixinClientConnectionChInit.java index 7ecbacc..79c1ff3 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/client/MixinClientConnectionChInit.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/mixin/pipeline/client/MixinClientConnectionChInit.java @@ -1,11 +1,11 @@ package com.viaversion.fabric.mc117.mixin.pipeline.client; import com.viaversion.fabric.mc117.ViaFabric; -import com.viaversion.fabric.mc117.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc117.handler.FabricDecodeHandler; import com.viaversion.fabric.mc117.handler.FabricEncodeHandler; import com.viaversion.fabric.mc117.handler.clientside.ProtocolDetectionHandler; -import com.viaversion.fabric.mc117.protocol.ViaFabricHostnameProtocol; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; import com.viaversion.viaversion.connection.UserConnectionImpl; import com.viaversion.viaversion.protocol.ProtocolPipelineImpl; import io.netty.channel.Channel; @@ -22,7 +22,7 @@ public class MixinClientConnectionChInit { private void onInitChannel(Channel channel, CallbackInfo ci) { if (channel instanceof SocketChannel) { UserConnection user = new UserConnectionImpl(channel, true); - new ProtocolPipelineImpl(user).add(ViaFabricHostnameProtocol.INSTANCE); + new ProtocolPipelineImpl(user).add(HostnameParserProtocol.INSTANCE); channel.pipeline() .addBefore("encoder", CommonTransformer.HANDLER_ENCODER_NAME, new FabricEncodeHandler(user)) diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRInjector.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/FabricInjector.java similarity index 94% rename from viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRInjector.java rename to viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/FabricInjector.java index f4d3ad4..21cd5f4 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRInjector.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/FabricInjector.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc117.platform; -import com.viaversion.fabric.mc117.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import net.fabricmc.api.EnvType; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.SharedConstants; @@ -11,7 +11,7 @@ import com.viaversion.viaversion.libs.gson.JsonObject; import java.lang.reflect.Method; import java.util.Arrays; -public class VRInjector implements ViaInjector { +public class FabricInjector implements ViaInjector { @Override public void inject() { // *looks at Mixins* diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRPlatform.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/FabricPlatform.java similarity index 92% rename from viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRPlatform.java rename to viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/FabricPlatform.java index 79ad4c9..6087dcb 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRPlatform.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/FabricPlatform.java @@ -1,12 +1,13 @@ package com.viaversion.fabric.mc117.platform; +import com.viaversion.fabric.common.platform.FabricViaAPI; +import com.viaversion.fabric.common.platform.FabricViaConfig; +import com.viaversion.fabric.common.util.FutureTaskId; import com.viaversion.fabric.mc117.ViaFabric; import com.viaversion.fabric.mc117.commands.NMSCommandSender; -import com.viaversion.fabric.mc117.commands.UserCommandSender; -import com.viaversion.fabric.mc117.util.FutureTaskId; -import com.viaversion.fabric.mc117.util.JLoggerToLog4j; +import com.viaversion.fabric.common.commands.UserCommandSender; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.viaversion.viaversion.api.configuration.ViaVersionConfig; -import com.viaversion.viaversion.api.platform.PlatformTask; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import net.fabricmc.api.EnvType; @@ -45,17 +46,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -public class VRPlatform implements ViaPlatform { +public class FabricPlatform implements ViaPlatform { private final Logger logger = new JLoggerToLog4j(LogManager.getLogger("ViaVersion")); - private final VRViaConfig config; + private final FabricViaConfig config; private final File dataFolder; private final ViaAPI api; - public VRPlatform() { + public FabricPlatform() { Path configDir = FabricLoader.getInstance().getConfigDirectory().toPath().resolve("ViaFabric"); - config = new VRViaConfig(configDir.resolve("viaversion.yml").toFile()); + config = new FabricViaConfig(configDir.resolve("viaversion.yml").toFile()); dataFolder = configDir.toFile(); - api = new VRViaAPI(); + api = new FabricViaAPI(); } public static MinecraftServer getServer() { @@ -131,7 +132,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runSync(Runnable runnable, long ticks) { + public FutureTaskId runSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run delayed tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP @@ -141,7 +142,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runRepeatingSync(Runnable runnable, long ticks) { + public FutureTaskId runRepeatingSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run repeating tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRViaAPI.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRViaAPI.java deleted file mode 100644 index fc99341..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRViaAPI.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.viaversion.fabric.mc117.platform; - -import com.viaversion.viaversion.ViaAPIBase; - -import java.util.UUID; - -public class VRViaAPI extends ViaAPIBase { -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRViaConfig.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRViaConfig.java deleted file mode 100644 index 72a585c..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/platform/VRViaConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc117.platform; - -import com.viaversion.viaversion.configuration.AbstractViaConfig; - -import java.io.File; -import java.net.URL; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -public class VRViaConfig extends AbstractViaConfig { - // Based on Sponge ViaVersion - private static List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", - "bungee-ping-save", "bungee-servers", "quick-move-action-fix", "nms-player-ticking", - "velocity-ping-interval", "velocity-ping-save", "velocity-servers", - "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); - - public VRViaConfig(File configFile) { - super(configFile); - // Load config - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viaversion/config.yml"); - } - - @Override - protected void handleConfig(Map config) { - // Nothing Currently - } - - @Override - public List getUnsupportedOptions() { - return UNSUPPORTED; - } - - @Override - public boolean isAntiXRay() { - return false; - } - - @Override - public boolean isNMSPlayerTicking() { - return false; - } - - @Override - public boolean is1_12QuickMoveActionFix() { - return false; - } - - @Override - public String getBlockConnectionMethod() { - return "packet"; - } - - @Override - public boolean is1_9HitboxFix() { - return false; - } - - @Override - public boolean is1_14HitboxFix() { - return false; - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/protocol/ViaFabricHostnameProtocol.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/protocol/ViaFabricHostnameProtocol.java deleted file mode 100644 index f5ad28e..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/protocol/ViaFabricHostnameProtocol.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.viaversion.fabric.mc117.protocol; - -import com.viaversion.fabric.mc117.ViaFabricAddress; -import com.viaversion.viaversion.api.protocol.AbstractSimpleProtocol; -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; -import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper; -import com.viaversion.viaversion.api.protocol.remapper.ValueTransformer; -import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.api.protocol.packet.State; - -public class ViaFabricHostnameProtocol extends AbstractSimpleProtocol { - public static final ViaFabricHostnameProtocol INSTANCE = new ViaFabricHostnameProtocol(); - - @Override - protected void registerPackets() { - registerServerbound(State.HANDSHAKE, 0, 0, new PacketRemapper() { - @Override - public void registerMap() { - map(Type.VAR_INT); // Protocol version - map(Type.STRING, new ValueTransformer(Type.STRING) { - @Override - public String transform(PacketWrapper packetWrapper, String s) { - return new ViaFabricAddress().parse(s).realAddress; - } - }); - } - }); - } - - @Override - public boolean isBaseProtocol() { - return true; - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/providers/VRVersionProvider.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/providers/VRVersionProvider.java index 189dec5..e576f87 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/providers/VRVersionProvider.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/providers/VRVersionProvider.java @@ -1,9 +1,9 @@ package com.viaversion.fabric.mc117.providers; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc117.ViaFabric; -import com.viaversion.fabric.mc117.ViaFabricAddress; import com.viaversion.fabric.mc117.service.ProtocolAutoDetector; -import com.viaversion.fabric.mc117.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.google.common.primitives.Ints; import com.viaversion.viaversion.api.connection.ProtocolInfo; import net.fabricmc.loader.api.FabricLoader; @@ -68,7 +68,7 @@ public class VRVersionProvider extends BaseVersionProvider { SocketAddress addr = connection.getChannel().remoteAddress(); if (addr instanceof InetSocketAddress) { - int addrVersion = new ViaFabricAddress().parse(((InetSocketAddress) addr).getHostName()).protocol; + int addrVersion = new VFAddressParser().parse(((InetSocketAddress) addr).getHostName()).protocol; if (addrVersion != 0) serverVer = addrVersion; try { diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/service/ProtocolAutoDetector.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/service/ProtocolAutoDetector.java index e270b9d..cdef15b 100644 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/service/ProtocolAutoDetector.java +++ b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/service/ProtocolAutoDetector.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc117.service; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc117.ViaFabric; -import com.viaversion.fabric.mc117.ViaFabricAddress; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -114,7 +114,7 @@ public class ProtocolAutoDetector { public static CompletableFuture detectVersion(InetSocketAddress address) { try { InetSocketAddress real = new InetSocketAddress(InetAddress.getByAddress - (new ViaFabricAddress().parse(address.getHostString()).realAddress, + (new VFAddressParser().parse(address.getHostString()).realAddress, address.getAddress().getAddress()), address.getPort()); return SERVER_VER.get(real); } catch (UnknownHostException | ExecutionException e) { diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/FutureTaskId.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/FutureTaskId.java deleted file mode 100644 index 943c713..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/FutureTaskId.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.viaversion.fabric.mc117.util; - -import com.viaversion.viaversion.api.platform.PlatformTask; - -import java.util.concurrent.Future; - -public class FutureTaskId implements PlatformTask> { - private final Future object; - - public FutureTaskId(Future object) { - this.object = object; - } - - @Override - public Future getObject() { - return object; - } - - @Override - public void cancel() { - object.cancel(false); - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/JLoggerToLog4j.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/JLoggerToLog4j.java deleted file mode 100644 index c2fcfdd..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/JLoggerToLog4j.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc117.util; - -import java.text.MessageFormat; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; - -public class JLoggerToLog4j extends Logger { - private final org.apache.logging.log4j.Logger base; - - public JLoggerToLog4j(org.apache.logging.log4j.Logger logger) { - super("logger", null); - this.base = logger; - } - - public void log(LogRecord record) { - this.log(record.getLevel(), record.getMessage()); - } - - public void log(Level level, String msg) { - if (level == Level.FINE) { - this.base.debug(msg); - } else if (level == Level.WARNING) { - this.base.warn(msg); - } else if (level == Level.SEVERE) { - this.base.error(msg); - } else if (level == Level.INFO) { - this.base.info(msg); - } else { - this.base.trace(msg); - } - - } - - public void log(Level level, String msg, Object param1) { - if (level == Level.FINE) { - this.base.debug(msg, param1); - } else if (level == Level.WARNING) { - this.base.warn(msg, param1); - } else if (level == Level.SEVERE) { - this.base.error(msg, param1); - } else if (level == Level.INFO) { - this.base.info(msg, param1); - } else { - this.base.trace(msg, param1); - } - - } - - public void log(Level level, String msg, Object[] params) { - log(level, MessageFormat.format(msg, params)); - } - - public void log(Level level, String msg, Throwable params) { - if (level == Level.FINE) { - this.base.debug(msg, params); - } else if (level == Level.WARNING) { - this.base.warn(msg, params); - } else if (level == Level.SEVERE) { - this.base.error(msg, params); - } else if (level == Level.INFO) { - this.base.info(msg, params); - } else { - this.base.trace(msg, params); - } - - } -} diff --git a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/ProtocolUtils.java b/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/ProtocolUtils.java deleted file mode 100644 index 50ba97c..0000000 --- a/viafabric-mc117/src/main/java/com/viaversion/fabric/mc117/util/ProtocolUtils.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.viaversion.fabric.mc117.util; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Arrays; -import java.util.stream.Stream; - -public class ProtocolUtils { - public static boolean isSupported(int server, int client) { - return server == client || Via.getManager().getProtocolManager().getProtocolPath(client, server) != null; - } - - public static String getProtocolName(int id) { - if (!ProtocolVersion.isRegistered(id)) return Integer.toString(id); - return ProtocolVersion.getProtocol(id).getName(); - } - - public static boolean isStartOfProtocolText(String s) { - try { - Integer.parseInt(s); - return true; - } catch (NumberFormatException e) { - try { - Integer.parseInt(s + '0'); - return true; - } catch (NumberFormatException e2) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .anyMatch(ver -> ver.startsWith(s)); - } - } - } - - public static Integer parseProtocolId(String s) { - try { - return Integer.parseInt(s); - } catch (NumberFormatException ignored) { - ProtocolVersion closest = ProtocolVersion.getClosest(s); - if (closest == null) return null; - return closest.getVersion(); - } - } - - public static String[] getProtocolSuggestions(String text) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .distinct() - .filter(ver -> ver.startsWith(text)) - .toArray(String[]::new); - } -} diff --git a/viafabric-mc117/src/main/resources/fabric.mod.json b/viafabric-mc117/src/main/resources/fabric.mod.json index 83e69ac..b4a3014 100644 --- a/viafabric-mc117/src/main/resources/fabric.mod.json +++ b/viafabric-mc117/src/main/resources/fabric.mod.json @@ -36,18 +36,13 @@ ] }, "depends": { - "fabricloader": ">=0.4.0", "fabric-resource-loader-v0": "*", "minecraft": ">1.16.50", "viaversion": ">3.0.1" }, - "conflicts": { - "fabric-registry-sync-v0": "*" - }, "recommends": { "fabric-command-api-v1": "*" }, - "icon": "assets/viafabric/textures/logo.png", "mixins": [ "mixins.viafabric117.address.json", "mixins.viafabric117.gui.json", diff --git a/viafabric-mc18/build.gradle.kts b/viafabric-mc18/build.gradle.kts index 888afdc..a2c963d 100644 --- a/viafabric-mc18/build.gradle.kts +++ b/viafabric-mc18/build.gradle.kts @@ -3,7 +3,6 @@ version = rootProject.version dependencies { minecraft("com.mojang:minecraft:1.8.9") mappings("net.fabricmc:yarn:1.8.9+build.202103291533:v2") - modImplementation("net.fabricmc:fabric-loader:0.10.5+build.213") modImplementation("net.legacyfabric.legacy-fabric-api:legacy-fabric-api:1.1.0+1.8.9") modImplementation("io.github.boogiemonster1o1:modmenu:0.1.0+1.8.9") diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabric.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabric.java index 6c4b141..570abdc 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabric.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/ViaFabric.java @@ -2,12 +2,12 @@ package com.viaversion.fabric.mc18; import com.viaversion.fabric.mc18.commands.NMSCommandImpl; import com.viaversion.fabric.mc18.commands.VRCommandHandler; -import com.viaversion.fabric.mc18.config.VRConfig; -import com.viaversion.fabric.mc18.platform.VRInjector; +import com.viaversion.fabric.common.config.VFConfig; +import com.viaversion.fabric.mc18.platform.FabricInjector; import com.viaversion.fabric.mc18.platform.VRLoader; -import com.viaversion.fabric.mc18.platform.VRPlatform; -import com.viaversion.fabric.mc18.protocol.ViaFabricHostnameProtocol; -import com.viaversion.fabric.mc18.util.JLoggerToLog4j; +import com.viaversion.fabric.mc18.platform.FabricPlatform; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.google.common.collect.Range; import com.google.common.util.concurrent.ThreadFactoryBuilder; import io.netty.channel.EventLoop; @@ -33,7 +33,7 @@ public class ViaFabric implements ModInitializer { public static final ExecutorService ASYNC_EXECUTOR; public static final EventLoop EVENT_LOOP; public static CompletableFuture INIT_FUTURE = new CompletableFuture<>(); - public static VRConfig config; + public static VFConfig config; static { ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("ViaFabric-%d").build(); @@ -50,16 +50,16 @@ public class ViaFabric implements ModInitializer { @Override public void onInitialize() { Via.init(ViaManagerImpl.builder() - .injector(new VRInjector()) + .injector(new FabricInjector()) .loader(new VRLoader()) .commandHandler(new VRCommandHandler()) - .platform(new VRPlatform()).build()); + .platform(new FabricPlatform()).build()); FabricLoader.getInstance().getModContainer("viabackwards").ifPresent(mod -> MappingDataLoader.enableMappingsCache()); ((ViaManagerImpl) Via.getManager()).init(); - Via.getManager().getProtocolManager().registerBaseProtocol(ViaFabricHostnameProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); + Via.getManager().getProtocolManager().registerBaseProtocol(HostnameParserProtocol.INSTANCE, Range.lessThan(Integer.MIN_VALUE)); ProtocolVersion.register(-2, "AUTO"); FabricLoader.getInstance().getEntrypoints("viafabric:via_api_initialized", Runnable.class).forEach(Runnable::run); @@ -70,7 +70,7 @@ public class ViaFabric implements ModInitializer { JLOGGER.info("Couldn't register command as Fabric Commands isn't installed"); } - config = new VRConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") + config = new VFConfig(FabricLoader.getInstance().getConfigDir().resolve("ViaFabric") .resolve("viafabric.yml").toFile()); INIT_FUTURE.complete(null); diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/UserCommandSender.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/UserCommandSender.java deleted file mode 100644 index 49e7fb0..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/UserCommandSender.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.viaversion.fabric.mc18.commands; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.connection.UserConnection; - -import java.util.UUID; - -public class UserCommandSender implements ViaCommandSender { - private UserConnection con; - - public UserCommandSender(UserConnection con) { - this.con = con; - } - - @Override - public boolean hasPermission(String s) { - return false; - } - - @Override - public void sendMessage(String s) { - Via.getPlatform().sendMessage(getUUID(), s); - } - - @Override - public UUID getUUID() { - return con.getProtocolInfo().getUuid(); - } - - @Override - public String getName() { - return con.getProtocolInfo().getUsername(); - } -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/VRCommandHandler.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/VRCommandHandler.java index f8d9743..3abc31f 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/VRCommandHandler.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/VRCommandHandler.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.commands; -import com.viaversion.fabric.mc18.commands.subs.LeakDetectSubCommand; +import com.viaversion.fabric.common.commands.subs.LeakDetectSubCommand; import com.viaversion.viaversion.commands.ViaCommandHandler; public class VRCommandHandler extends ViaCommandHandler { diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/subs/LeakDetectSubCommand.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/subs/LeakDetectSubCommand.java deleted file mode 100644 index ac283c5..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/commands/subs/LeakDetectSubCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.viaversion.fabric.mc18.commands.subs; - -import io.netty.util.ResourceLeakDetector; -import com.viaversion.viaversion.api.command.ViaCommandSender; -import com.viaversion.viaversion.api.command.ViaSubCommand; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -public class LeakDetectSubCommand extends ViaSubCommand { - @Override - public String name() { - return "leakdetect"; - } - - @Override - public String description() { - return "Sets ResourceLeakDetector level"; - } - - @Override - public boolean execute(ViaCommandSender viaCommandSender, String[] strings) { - if (strings.length == 1) { - try { - ResourceLeakDetector.Level level = ResourceLeakDetector.Level.valueOf(strings[0]); - ResourceLeakDetector.setLevel(level); - viaCommandSender.sendMessage("Set leak detector level to " + level); - } catch (IllegalArgumentException e) { - viaCommandSender.sendMessage("Invalid level (" + Arrays.toString(ResourceLeakDetector.Level.values()) + ")"); - } - } else { - viaCommandSender.sendMessage("Current leak detection level is " + ResourceLeakDetector.getLevel()); - } - return true; - } - - @Override - public List onTabComplete(ViaCommandSender sender, String[] args) { - if (args.length == 1) { - return Arrays.stream(ResourceLeakDetector.Level.values()) - .map(Enum::name) - .filter(it -> it.startsWith(args[0])) - .collect(Collectors.toList()); - } - return super.onTabComplete(sender, args); - } -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/config/VRConfig.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/config/VRConfig.java deleted file mode 100644 index aa85d33..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/config/VRConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc18.config; - -import com.viaversion.viaversion.util.Config; - -import java.io.File; -import java.net.URL; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -public class VRConfig extends Config { - public static final String ENABLE_CLIENT_SIDE = "enable-client-side"; - public static final String CLIENT_SIDE_VERSION = "client-side-version"; - public static final String CLIENT_SIDE_FORCE_DISABLE = "client-side-force-disable"; - public static final String HIDE_BUTTON = "hide-button"; - - public VRConfig(File configFile) { - super(configFile); - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viafabric/config.yml"); - } - - @Override - protected void handleConfig(Map map) { - } - - @Override - public List getUnsupportedOptions() { - return Collections.emptyList(); - } - - public boolean isClientSideEnabled() { - return getBoolean(ENABLE_CLIENT_SIDE, false); - } - - public void setClientSideEnabled(boolean val) { - set(ENABLE_CLIENT_SIDE, val); - } - - public int getClientSideVersion() { - return getInt(CLIENT_SIDE_VERSION, -1); - } - - public void setClientSideVersion(int val) { - set(CLIENT_SIDE_VERSION, val); - } - - public Collection getClientSideForceDisable() { - return (List) get(CLIENT_SIDE_FORCE_DISABLE, List.class, Collections.emptyList()); - } - - public void setHideButton(boolean val) { - set(HIDE_BUTTON, val); - } - - public boolean isHideButton() { - return getBoolean(HIDE_BUTTON, false); - } - - public boolean isForcedDisable(String line) { - return getClientSideForceDisable().contains(line); - } -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/gui/ViaConfigScreen.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/gui/ViaConfigScreen.java index 2043138..f5b6760 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/gui/ViaConfigScreen.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/gui/ViaConfigScreen.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc18.gui; import com.viaversion.fabric.mc18.ViaFabric; -import com.viaversion.fabric.mc18.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.viaversion.viaversion.api.Via; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/CommonTransformer.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/CommonTransformer.java deleted file mode 100644 index 61287ff..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/CommonTransformer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.viaversion.fabric.mc18.handler; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.ChannelHandler; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.ByteToMessageDecoder; -import io.netty.handler.codec.MessageToByteEncoder; -import io.netty.handler.codec.MessageToMessageDecoder; -import com.viaversion.viaversion.util.PipelineUtil; - -import java.lang.reflect.InvocationTargetException; - -public class CommonTransformer { - public static final String HANDLER_DECODER_NAME = "via-decoder"; - public static final String HANDLER_ENCODER_NAME = "via-encoder"; - - public static void decompress(ChannelHandlerContext ctx, ByteBuf buf) throws InvocationTargetException { - ChannelHandler handler = ctx.pipeline().get("decompress"); - ByteBuf decompressed = handler instanceof MessageToMessageDecoder - ? (ByteBuf) PipelineUtil.callDecode((MessageToMessageDecoder) handler, ctx, buf).get(0) - : (ByteBuf) PipelineUtil.callDecode((ByteToMessageDecoder) handler, ctx, buf).get(0); - try { - buf.clear().writeBytes(decompressed); - } finally { - decompressed.release(); - } - } - - public static void compress(ChannelHandlerContext ctx, ByteBuf buf) throws Exception { - ByteBuf compressed = ctx.alloc().buffer(); - try { - PipelineUtil.callEncode((MessageToByteEncoder) ctx.pipeline().get("compress"), ctx, buf, compressed); - buf.clear().writeBytes(compressed); - } finally { - compressed.release(); - } - } -} \ No newline at end of file diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricDecodeHandler.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricDecodeHandler.java index d8b6f67..1a245a1 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricDecodeHandler.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricDecodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc18.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricEncodeHandler.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricEncodeHandler.java index 5022f4d..db26fba 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricEncodeHandler.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/handler/FabricEncodeHandler.java @@ -1,5 +1,6 @@ package com.viaversion.fabric.mc18.handler; +import com.viaversion.fabric.common.handler.CommonTransformer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinConnectScreenThread.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinConnectScreenThread.java index 25b538e..13631b3 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinConnectScreenThread.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinConnectScreenThread.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.mixin.address.client; -import com.viaversion.fabric.mc18.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -13,7 +13,7 @@ public class MixinConnectScreenThread { @Redirect(method = "run()V", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerAddress.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerAddress.java index fa80632..a33bf57 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerAddress.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerAddress.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.mixin.address.client; -import com.viaversion.fabric.mc18.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.network.ServerAddress; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -16,7 +16,7 @@ public abstract class MixinServerAddress { @Redirect(method = "parse", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/ServerAddress;resolveSrv(Ljava/lang/String;)[Ljava/lang/String;")) private static String[] modifySrvAddr(String address) { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return resolveSrv(address); } diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerPinger.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerPinger.java index 3125b3c..bb6ff4d 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerPinger.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/address/client/MixinServerPinger.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.mixin.address.client; -import com.viaversion.fabric.mc18.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import net.minecraft.client.network.MultiplayerServerListPinger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +14,7 @@ public class MixinServerPinger { @Redirect(method = "add", at = @At(value = "INVOKE", target = "Ljava/net/InetAddress;getByName(Ljava/lang/String;)Ljava/net/InetAddress;")) private InetAddress resolveViaFabricAddr(String address) throws UnknownHostException { - ViaFabricAddress viaAddr = new ViaFabricAddress().parse(address); + VFAddressParser viaAddr = new VFAddressParser().parse(address); if (viaAddr.viaSuffix == null) { return InetAddress.getByName(address); } diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/debug/client/MixinDebugHud.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/debug/client/MixinDebugHud.java index 480efc7..3789793 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/debug/client/MixinDebugHud.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/debug/client/MixinDebugHud.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.mixin.debug.client; -import com.viaversion.fabric.mc18.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc18.handler.FabricDecodeHandler; import com.viaversion.viaversion.api.connection.ProtocolInfo; import io.netty.channel.ChannelHandler; diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/MixinServerNetworkIoChInit.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/MixinServerNetworkIoChInit.java index d66a50d..0a58a19 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/MixinServerNetworkIoChInit.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/MixinServerNetworkIoChInit.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.mixin.pipeline; -import com.viaversion.fabric.mc18.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc18.handler.FabricDecodeHandler; import com.viaversion.fabric.mc18.handler.FabricEncodeHandler; import com.viaversion.viaversion.connection.UserConnectionImpl; diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/client/MixinClientConnectionChInit.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/client/MixinClientConnectionChInit.java index 1d8d65e..674670e 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/client/MixinClientConnectionChInit.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/mixin/pipeline/client/MixinClientConnectionChInit.java @@ -1,11 +1,11 @@ package com.viaversion.fabric.mc18.mixin.pipeline.client; import com.viaversion.fabric.mc18.ViaFabric; -import com.viaversion.fabric.mc18.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import com.viaversion.fabric.mc18.handler.FabricDecodeHandler; import com.viaversion.fabric.mc18.handler.FabricEncodeHandler; import com.viaversion.fabric.mc18.handler.clientside.ProtocolDetectionHandler; -import com.viaversion.fabric.mc18.protocol.ViaFabricHostnameProtocol; +import com.viaversion.fabric.common.protocol.HostnameParserProtocol; import com.viaversion.viaversion.connection.UserConnectionImpl; import com.viaversion.viaversion.protocol.ProtocolPipelineImpl; import io.netty.channel.Channel; @@ -22,7 +22,7 @@ public class MixinClientConnectionChInit { private void onInitChannel(Channel channel, CallbackInfo ci) { if (channel instanceof SocketChannel) { UserConnection user = new UserConnectionImpl(channel, true); - new ProtocolPipelineImpl(user).add(ViaFabricHostnameProtocol.INSTANCE); + new ProtocolPipelineImpl(user).add(HostnameParserProtocol.INSTANCE); channel.pipeline() .addBefore("encoder", CommonTransformer.HANDLER_ENCODER_NAME, new FabricEncodeHandler(user)) diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRInjector.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/FabricInjector.java similarity index 95% rename from viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRInjector.java rename to viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/FabricInjector.java index c29eef8..022c383 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRInjector.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/FabricInjector.java @@ -1,6 +1,6 @@ package com.viaversion.fabric.mc18.platform; -import com.viaversion.fabric.mc18.handler.CommonTransformer; +import com.viaversion.fabric.common.handler.CommonTransformer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.loader.api.FabricLoader; @@ -13,7 +13,7 @@ import com.viaversion.viaversion.libs.gson.JsonObject; import java.lang.reflect.Method; import java.util.Arrays; -public class VRInjector implements ViaInjector { +public class FabricInjector implements ViaInjector { @Override public void inject() { // *looks at Mixins* diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRPlatform.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/FabricPlatform.java similarity index 92% rename from viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRPlatform.java rename to viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/FabricPlatform.java index 52d77af..0fa1fd4 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRPlatform.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/FabricPlatform.java @@ -1,12 +1,13 @@ package com.viaversion.fabric.mc18.platform; +import com.viaversion.fabric.common.platform.FabricViaAPI; +import com.viaversion.fabric.common.platform.FabricViaConfig; +import com.viaversion.fabric.common.util.FutureTaskId; import com.viaversion.fabric.mc18.ViaFabric; import com.viaversion.fabric.mc18.commands.NMSCommandSender; -import com.viaversion.fabric.mc18.commands.UserCommandSender; -import com.viaversion.fabric.mc18.util.FutureTaskId; -import com.viaversion.fabric.mc18.util.JLoggerToLog4j; +import com.viaversion.fabric.common.commands.UserCommandSender; +import com.viaversion.fabric.common.util.JLoggerToLog4j; import com.viaversion.viaversion.api.configuration.ViaVersionConfig; -import com.viaversion.viaversion.api.platform.PlatformTask; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import net.fabricmc.api.EnvType; @@ -44,17 +45,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -public class VRPlatform implements ViaPlatform { +public class FabricPlatform implements ViaPlatform { private final Logger logger = new JLoggerToLog4j(LogManager.getLogger("ViaVersion")); - private final VRViaConfig config; + private final FabricViaConfig config; private final File dataFolder; private final ViaAPI api; - public VRPlatform() { + public FabricPlatform() { Path configDir = FabricLoader.getInstance().getConfigDirectory().toPath().resolve("ViaFabric"); - config = new VRViaConfig(configDir.resolve("viaversion.yml").toFile()); + config = new FabricViaConfig(configDir.resolve("viaversion.yml").toFile()); dataFolder = configDir.toFile(); - api = new VRViaAPI(); + api = new FabricViaAPI(); } public static MinecraftServer getServer() { @@ -128,7 +129,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runSync(Runnable runnable, long ticks) { + public FutureTaskId runSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run delayed tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP @@ -138,7 +139,7 @@ public class VRPlatform implements ViaPlatform { } @Override - public PlatformTask runRepeatingSync(Runnable runnable, long ticks) { + public FutureTaskId runRepeatingSync(Runnable runnable, long ticks) { // ViaVersion seems to not need to run repeating tasks on main thread return new FutureTaskId( ViaFabric.EVENT_LOOP diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRViaAPI.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRViaAPI.java deleted file mode 100644 index 5c5189c..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRViaAPI.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.viaversion.fabric.mc18.platform; - -import com.viaversion.viaversion.ViaAPIBase; - -import java.util.UUID; - -public class VRViaAPI extends ViaAPIBase { -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRViaConfig.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRViaConfig.java deleted file mode 100644 index ae7ba91..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/platform/VRViaConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc18.platform; - -import com.viaversion.viaversion.configuration.AbstractViaConfig; - -import java.io.File; -import java.net.URL; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -public class VRViaConfig extends AbstractViaConfig { - // Based on Sponge ViaVersion - private static List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", - "bungee-ping-save", "bungee-servers", "quick-move-action-fix", "nms-player-ticking", - "velocity-ping-interval", "velocity-ping-save", "velocity-servers", - "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); - - public VRViaConfig(File configFile) { - super(configFile); - // Load config - reloadConfig(); - } - - @Override - public URL getDefaultConfigURL() { - return getClass().getClassLoader().getResource("assets/viaversion/config.yml"); - } - - @Override - protected void handleConfig(Map config) { - // Nothing Currently - } - - @Override - public List getUnsupportedOptions() { - return UNSUPPORTED; - } - - @Override - public boolean isAntiXRay() { - return false; - } - - @Override - public boolean isNMSPlayerTicking() { - return false; - } - - @Override - public boolean is1_12QuickMoveActionFix() { - return false; - } - - @Override - public String getBlockConnectionMethod() { - return "packet"; - } - - @Override - public boolean is1_9HitboxFix() { - return false; - } - - @Override - public boolean is1_14HitboxFix() { - return false; - } -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/providers/VRVersionProvider.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/providers/VRVersionProvider.java index 833c841..2f6b317 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/providers/VRVersionProvider.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/providers/VRVersionProvider.java @@ -1,9 +1,9 @@ package com.viaversion.fabric.mc18.providers; import com.viaversion.fabric.mc18.ViaFabric; -import com.viaversion.fabric.mc18.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import com.viaversion.fabric.mc18.service.ProtocolAutoDetector; -import com.viaversion.fabric.mc18.util.ProtocolUtils; +import com.viaversion.fabric.common.util.ProtocolUtils; import com.google.common.primitives.Ints; import com.viaversion.viaversion.api.connection.ProtocolInfo; import net.fabricmc.loader.api.FabricLoader; @@ -68,7 +68,7 @@ public class VRVersionProvider extends BaseVersionProvider { SocketAddress addr = connection.getChannel().remoteAddress(); if (addr instanceof InetSocketAddress) { - int addrVersion = new ViaFabricAddress().parse(((InetSocketAddress) addr).getHostName()).protocol; + int addrVersion = new VFAddressParser().parse(((InetSocketAddress) addr).getHostName()).protocol; if (addrVersion != 0) serverVer = addrVersion; try { diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/service/ProtocolAutoDetector.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/service/ProtocolAutoDetector.java index 3f08243..cb3d6c3 100644 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/service/ProtocolAutoDetector.java +++ b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/service/ProtocolAutoDetector.java @@ -1,7 +1,7 @@ package com.viaversion.fabric.mc18.service; import com.viaversion.fabric.mc18.ViaFabric; -import com.viaversion.fabric.mc18.ViaFabricAddress; +import com.viaversion.fabric.common.VFAddressParser; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -109,7 +109,7 @@ public class ProtocolAutoDetector { public static CompletableFuture detectVersion(InetSocketAddress address) { try { InetSocketAddress real = new InetSocketAddress(InetAddress.getByAddress - (new ViaFabricAddress().parse(address.getHostString()).realAddress, + (new VFAddressParser().parse(address.getHostString()).realAddress, address.getAddress().getAddress()), address.getPort()); return SERVER_VER.get(real); } catch (UnknownHostException | ExecutionException e) { diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/FutureTaskId.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/FutureTaskId.java deleted file mode 100644 index 2b49919..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/FutureTaskId.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.viaversion.fabric.mc18.util; - -import com.viaversion.viaversion.api.platform.PlatformTask; - -import java.util.concurrent.Future; - -public class FutureTaskId implements PlatformTask> { - private final Future object; - - public FutureTaskId(Future object) { - this.object = object; - } - - @Override - public Future getObject() { - return object; - } - - @Override - public void cancel() { - object.cancel(false); - } -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/JLoggerToLog4j.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/JLoggerToLog4j.java deleted file mode 100644 index 9e6b0a4..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/JLoggerToLog4j.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.viaversion.fabric.mc18.util; - -import java.text.MessageFormat; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; - -public class JLoggerToLog4j extends Logger { - private final org.apache.logging.log4j.Logger base; - - public JLoggerToLog4j(org.apache.logging.log4j.Logger logger) { - super("logger", null); - this.base = logger; - } - - public void log(LogRecord record) { - this.log(record.getLevel(), record.getMessage()); - } - - public void log(Level level, String msg) { - if (level == Level.FINE) { - this.base.debug(msg); - } else if (level == Level.WARNING) { - this.base.warn(msg); - } else if (level == Level.SEVERE) { - this.base.error(msg); - } else if (level == Level.INFO) { - this.base.info(msg); - } else { - this.base.trace(msg); - } - - } - - public void log(Level level, String msg, Object param1) { - if (level == Level.FINE) { - this.base.debug(msg, param1); - } else if (level == Level.WARNING) { - this.base.warn(msg, param1); - } else if (level == Level.SEVERE) { - this.base.error(msg, param1); - } else if (level == Level.INFO) { - this.base.info(msg, param1); - } else { - this.base.trace(msg, param1); - } - - } - - public void log(Level level, String msg, Object[] params) { - log(level, MessageFormat.format(msg, params)); - } - - public void log(Level level, String msg, Throwable params) { - if (level == Level.FINE) { - this.base.debug(msg, params); - } else if (level == Level.WARNING) { - this.base.warn(msg, params); - } else if (level == Level.SEVERE) { - this.base.error(msg, params); - } else if (level == Level.INFO) { - this.base.info(msg, params); - } else { - this.base.trace(msg, params); - } - - } -} diff --git a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/ProtocolUtils.java b/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/ProtocolUtils.java deleted file mode 100644 index 8493caf..0000000 --- a/viafabric-mc18/src/main/java/com/viaversion/fabric/mc18/util/ProtocolUtils.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.viaversion.fabric.mc18.util; - -import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; - -import java.util.Arrays; -import java.util.stream.Stream; - -public class ProtocolUtils { - public static boolean isSupported(int server, int client) { - return server == client || Via.getManager().getProtocolManager().getProtocolPath(client, server) != null; - } - - public static String getProtocolName(int id) { - if (!ProtocolVersion.isRegistered(id)) return Integer.toString(id); - return ProtocolVersion.getProtocol(id).getName(); - } - - public static boolean isStartOfProtocolText(String s) { - try { - Integer.parseInt(s); - return true; - } catch (NumberFormatException e) { - try { - Integer.parseInt(s + '0'); - return true; - } catch (NumberFormatException e2) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .anyMatch(ver -> ver.startsWith(s)); - } - } - } - - public static Integer parseProtocolId(String s) { - try { - return Integer.parseInt(s); - } catch (NumberFormatException ignored) { - ProtocolVersion closest = ProtocolVersion.getClosest(s); - if (closest == null) return null; - return closest.getVersion(); - } - } - - public static String[] getProtocolSuggestions(String text) { - return ProtocolVersion.getProtocols().stream() - .map(ProtocolVersion::getName) - .flatMap(str -> Stream.concat( - Arrays.stream(str.split("-")), - Arrays.stream(new String[]{str}) - )) - .distinct() - .filter(ver -> ver.startsWith(text)) - .toArray(String[]::new); - } -} diff --git a/viafabric-mc18/src/main/resources/fabric.mod.json b/viafabric-mc18/src/main/resources/fabric.mod.json index 7d07af7..0a9b752 100644 --- a/viafabric-mc18/src/main/resources/fabric.mod.json +++ b/viafabric-mc18/src/main/resources/fabric.mod.json @@ -36,18 +36,13 @@ ] }, "depends": { - "fabricloader": ">=0.4.0", "legacy-fabric-resource-loader-v1": "*", "minecraft": "1.8.x", "viaversion": ">3.0.1" }, - "conflicts": { - "fabric-registry-sync-v0": "*" - }, "recommends": { "fabric-command-api-v0": "*" }, - "icon": "assets/viafabric/textures/logo.png", "mixins": [ "mixins.viafabric18.address.json", "mixins.viafabric18.gui.json",