Skip to content

Commit b0a14cc

Browse files
committed
Refactor everything
* Only inject enabled mixin * Show error if secret not set * Upgrade gradle & dependencies
1 parent 839b8fe commit b0a14cc

27 files changed

+191
-208
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'fabric-loom' version '0.4-SNAPSHOT'
2+
id 'fabric-loom' version '0.5-SNAPSHOT'
33
id 'maven-publish'
44
}
55

@@ -25,8 +25,8 @@ dependencies {
2525
modApi "net.fabricmc:fabric-loader:${project.loader_version}"
2626
modApi "me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}"
2727

28-
// Fabric API. This is technically optional, but you probably want it anyway.
29-
//modApi "net.fabricmc:fabric:${project.fabric_version}"
28+
// API
29+
modApi "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
3030
include "me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}"
3131
}
3232

gradle.properties

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
org.gradle.jvmargs=-Xmx1G
33
# Fabric Properties
44
# check these on https://modmuss50.me/fabric.html
5-
minecraft_version=1.16
6-
yarn_mappings=1.16+build.1
7-
loader_version=0.8.8+build.202
5+
minecraft_version=1.16.4
6+
yarn_mappings=1.16.4+build.6
7+
loader_version=0.10.6+build.214
88
# Mod Properties
9-
mod_version=1.3.3
9+
mod_version=1.3.4
1010
maven_group=one.oktw
1111
archives_base_name=FabricProxy
1212
# Dependencies
13-
auto_config_version=2.2.0
13+
auto_config_version=3.3.1
14+
fabric_version=0.25.1+build.416-1.16

gradle/wrapper/gradle-wrapper.jar

293 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

gradlew

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ fi
130130
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131131
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132132
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133-
133+
134134
JAVACMD=`cygpath --unix "$JAVACMD"`
135135

136136
# We build the pattern for arguments to be converted via cygpath

gradlew.bat

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
4040

4141
set JAVA_EXE=java.exe
4242
%JAVA_EXE% -version >NUL 2>&1
43-
if "%ERRORLEVEL%" == "0" goto init
43+
if "%ERRORLEVEL%" == "0" goto execute
4444

4545
echo.
4646
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -54,7 +54,7 @@ goto fail
5454
set JAVA_HOME=%JAVA_HOME:"=%
5555
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
5656

57-
if exist "%JAVA_EXE%" goto init
57+
if exist "%JAVA_EXE%" goto execute
5858

5959
echo.
6060
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -64,29 +64,14 @@ echo location of your Java installation.
6464

6565
goto fail
6666

67-
:init
68-
@rem Get command-line arguments, handling Windows variants
69-
70-
if not "%OS%" == "Windows_NT" goto win9xME_args
71-
72-
:win9xME_args
73-
@rem Slurp the command line arguments.
74-
set CMD_LINE_ARGS=
75-
set _SKIP=2
76-
77-
:win9xME_args_slurp
78-
if "x%~1" == "x" goto execute
79-
80-
set CMD_LINE_ARGS=%*
81-
8267
:execute
8368
@rem Setup the command line
8469

8570
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
8671

8772

8873
@rem Execute Gradle
89-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
74+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
9075

9176
:end
9277
@rem End local scope for the variables with windows NT shell

src/main/java/one/oktw/FabricProxy.java

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,69 @@
22

33
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
44
import me.sargunvohra.mcmods.autoconfig1u.serializer.Toml4jConfigSerializer;
5-
import net.fabricmc.api.ModInitializer;
5+
import org.apache.logging.log4j.LogManager;
6+
import org.apache.logging.log4j.Logger;
7+
import org.objectweb.asm.tree.ClassNode;
8+
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
9+
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
610

7-
public class FabricProxy implements ModInitializer {
11+
import java.util.List;
12+
import java.util.Set;
13+
14+
public class FabricProxy implements IMixinConfigPlugin {
815
public static ModConfig config;
16+
private final Logger logger = LogManager.getLogger("FabricProxy");
17+
18+
@Override
19+
public void onLoad(String mixinPackage) {
20+
if (config == null) {
21+
AutoConfig.register(ModConfig.class, Toml4jConfigSerializer::new);
22+
config = AutoConfig.getConfigHolder(ModConfig.class).getConfig();
23+
}
24+
}
25+
26+
@Override
27+
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
28+
String module = mixinClassName.split("\\.")[3];
29+
if (module.equals("bungee") && config.getBungeeCord()) {
30+
logger.info("BungeeCord support injected: {}", mixinClassName);
31+
return true;
32+
}
33+
34+
if (module.equals("velocity") && config.getVelocity()) {
35+
if (config.getSecret().isEmpty()) {
36+
logger.error("Error: velocity secret is empty!");
37+
} else {
38+
logger.info("Velocity support injected: {}", mixinClassName);
39+
return true;
40+
}
41+
}
42+
43+
return false;
44+
}
45+
46+
@Override
47+
public String getRefMapperConfig() {
48+
return null;
49+
}
50+
51+
@Override
52+
public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {
53+
54+
}
55+
56+
@Override
57+
public List<String> getMixins() {
58+
return null;
59+
}
60+
61+
@Override
62+
public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
63+
64+
}
965

1066
@Override
11-
public void onInitialize() {
12-
AutoConfig.register(ModConfig.class, Toml4jConfigSerializer::new);
67+
public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
1368

14-
config = AutoConfig.getConfigHolder(ModConfig.class).getConfig();
1569
}
1670
}

src/main/java/one/oktw/VelocityProxy.java renamed to src/main/java/one/oktw/VelocityLib.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import java.security.MessageDigest;
1414
import java.security.NoSuchAlgorithmException;
1515

16-
public class VelocityProxy {
16+
public class VelocityLib {
1717
public static final Identifier PLAYER_INFO_CHANNEL = new Identifier("velocity", "player_info");
1818
private static final int SUPPORTED_FORWARDING_VERSION = 1;
1919

src/main/java/one/oktw/interfaces/IClientConnection.java renamed to src/main/java/one/oktw/interfaces/BungeeClientConnection.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,9 @@
22

33
import com.mojang.authlib.properties.Property;
44

5-
import java.net.SocketAddress;
65
import java.util.UUID;
76

8-
public interface IClientConnection {
9-
void setRemoteAddress(SocketAddress socketAddress);
10-
7+
public interface BungeeClientConnection {
118
UUID getSpoofedUUID();
129

1310
void setSpoofedUUID(UUID uuid);

src/main/java/one/oktw/interfaces/IHandshakeC2SPacket.java

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)