From c64008f2f27e3147451ceda39ecddbaa6fe70947 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 25 Sep 2022 08:47:46 +0200 Subject: [PATCH] A Lot of Untested Code --- fabric/build.gradle | 6 ++- fabric/src/alt-auth.mixins.json | 6 ++- fabric/src/altauth.accesswidener | 5 ++ .../{AltAuthFabric.java => AltAuth.java} | 11 +++-- .../altauth/fabric/AltAuthClient.java | 12 ----- .../altauth/fabric/AltAuthServer.java | 12 ----- .../altauth/fabric/AltAuthServerConfig.java | 45 ----------------- .../altauth/fabric/ApproveServerScreen.java | 24 --------- ...uthClientConfig.java => ClientConfig.java} | 21 ++++---- .../altauth/fabric/ServerConfig.java | 49 +++++++++++++++++++ .../altauth/fabric/TrustServerScreen.java | 49 +++++++++++++++++++ .../fabric/mixin/ConnectScreenMixin.java | 19 +++++++ .../fabric/mixin/LoginRequestMixin.java | 26 ++++++++-- .../fabric/mixin/MinecraftServerMixin.java | 38 ++++++++++++++ .../altauth/fabric/mixin/ServerIdMixin.java | 4 +- fabric/src/fabric.mod.json | 14 +----- 16 files changed, 213 insertions(+), 128 deletions(-) create mode 100644 fabric/src/altauth.accesswidener rename fabric/src/de/chaoscaot/altauth/fabric/{AltAuthFabric.java => AltAuth.java} (66%) delete mode 100644 fabric/src/de/chaoscaot/altauth/fabric/AltAuthClient.java delete mode 100644 fabric/src/de/chaoscaot/altauth/fabric/AltAuthServer.java delete mode 100644 fabric/src/de/chaoscaot/altauth/fabric/AltAuthServerConfig.java delete mode 100644 fabric/src/de/chaoscaot/altauth/fabric/ApproveServerScreen.java rename fabric/src/de/chaoscaot/altauth/fabric/{AltAuthClientConfig.java => ClientConfig.java} (51%) create mode 100644 fabric/src/de/chaoscaot/altauth/fabric/ServerConfig.java create mode 100644 fabric/src/de/chaoscaot/altauth/fabric/TrustServerScreen.java create mode 100644 fabric/src/de/chaoscaot/altauth/fabric/mixin/ConnectScreenMixin.java create mode 100644 fabric/src/de/chaoscaot/altauth/fabric/mixin/MinecraftServerMixin.java diff --git a/fabric/build.gradle b/fabric/build.gradle index f8b1765..fc58b29 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -33,7 +33,7 @@ dependencies { compileOnly project(":common") // Used to Override 'private final' - implementation 'org.jooq:joor:0.9.14' + compileOnly 'org.jooq:joor:0.9.14' include 'org.jooq:joor:0.9.14' } @@ -45,3 +45,7 @@ processResources { expand "version": project.version } } + +loom { + accessWidenerPath = file("src/altauth.accesswidener") +} diff --git a/fabric/src/alt-auth.mixins.json b/fabric/src/alt-auth.mixins.json index 99f4534..2b408a9 100644 --- a/fabric/src/alt-auth.mixins.json +++ b/fabric/src/alt-auth.mixins.json @@ -4,10 +4,12 @@ "package": "de.chaoscaot.altauth.fabric.mixin", "compatibilityLevel": "JAVA_17", "client": [ - "client.LoginRequestMixin" + "LoginRequestMixin", + "ConnectScreenMixin" ], "server": [ - "server.ServerIdMixin" + "ServerIdMixin", + "MinecraftServerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/fabric/src/altauth.accesswidener b/fabric/src/altauth.accesswidener new file mode 100644 index 0000000..10f26bd --- /dev/null +++ b/fabric/src/altauth.accesswidener @@ -0,0 +1,5 @@ +accessWidener v1 named +mutable field net/minecraft/server/MinecraftServer apiServices Lnet/minecraft/util/ApiServices; +accessible field net/minecraft/client/gui/screen/ConnectScreen connection Lnet/minecraft/network/ClientConnection; +accessible field net/minecraft/client/gui/screen/ConnectScreen connectingCancelled Z +accessible field net/minecraft/client/gui/screen/ConnectScreen parent Lnet/minecraft/client/gui/screen/Screen; \ No newline at end of file diff --git a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthFabric.java b/fabric/src/de/chaoscaot/altauth/fabric/AltAuth.java similarity index 66% rename from fabric/src/de/chaoscaot/altauth/fabric/AltAuthFabric.java rename to fabric/src/de/chaoscaot/altauth/fabric/AltAuth.java index 86d74c1..99f7625 100644 --- a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthFabric.java +++ b/fabric/src/de/chaoscaot/altauth/fabric/AltAuth.java @@ -4,17 +4,18 @@ package de.chaoscaot.altauth.fabric; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import net.fabricmc.api.ModInitializer; +import net.minecraft.client.network.ServerAddress; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -public class AltAuthFabric implements ModInitializer { +public class AltAuth { + + private AltAuth() {} public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); public static final Logger LOGGER = LogManager.getLogger(); - @Override - public void onInitialize() { + public static ServerAddress address; - } + public static boolean trustOnce = false; } diff --git a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthClient.java b/fabric/src/de/chaoscaot/altauth/fabric/AltAuthClient.java deleted file mode 100644 index 54a2e80..0000000 --- a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthClient.java +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: MIT - -package de.chaoscaot.altauth.fabric; - -import net.fabricmc.api.ClientModInitializer; - -public class AltAuthClient implements ClientModInitializer { - @Override - public void onInitializeClient() { - - } -} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthServer.java b/fabric/src/de/chaoscaot/altauth/fabric/AltAuthServer.java deleted file mode 100644 index c6cc613..0000000 --- a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthServer.java +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: MIT - -package de.chaoscaot.altauth.fabric; - -import net.fabricmc.api.DedicatedServerModInitializer; - -public class AltAuthServer implements DedicatedServerModInitializer { - @Override - public void onInitializeServer() { - - } -} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthServerConfig.java b/fabric/src/de/chaoscaot/altauth/fabric/AltAuthServerConfig.java deleted file mode 100644 index 89fefab..0000000 --- a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthServerConfig.java +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: MIT - -package de.chaoscaot.altauth.fabric; - -import net.fabricmc.loader.api.FabricLoader; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; - -public class AltAuthServerConfig { - - private static final String CONFIG_FILE_NAME = "altauth.json"; - - public static AltAuthServerConfig INSTANCE; - - static { - if(!new File(FabricLoader.getInstance().getConfigDir().toFile(), CONFIG_FILE_NAME).exists()) { - INSTANCE = new AltAuthServerConfig(); - } else { - try { - INSTANCE = AltAuthFabric.GSON.fromJson(Files.readString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME)), AltAuthServerConfig.class); - if(INSTANCE.serverUrl.length() > 20) { - AltAuthFabric.LOGGER.error("AltauthServer: AltAuthServerConfig: ServerUrl is too long. Max length is 20 characters"); - INSTANCE.serverUrl = ""; - } - } catch (IOException e) { - AltAuthFabric.LOGGER.error("AltauthServer: AltAuthServerConfig: Error while loading config", e); - AltAuthFabric.LOGGER.info("Reset Config..."); - INSTANCE = new AltAuthServerConfig(); - INSTANCE.save(); - } - } - } - - public String serverUrl = "EnterNameHere"; - - public void save() { - try { - Files.writeString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME), AltAuthFabric.GSON.toJson(this)); - } catch (IOException e) { - AltAuthFabric.LOGGER.error("AltauthServer: AltAuthServerConfig: Error while saving config", e); - } - } -} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/ApproveServerScreen.java b/fabric/src/de/chaoscaot/altauth/fabric/ApproveServerScreen.java deleted file mode 100644 index 1c63249..0000000 --- a/fabric/src/de/chaoscaot/altauth/fabric/ApproveServerScreen.java +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: MIT - -package de.chaoscaot.altauth.fabric; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.screen.WarningScreen; -import net.minecraft.text.Text; - -@Environment(EnvType.CLIENT) -public class ApproveServerScreen extends WarningScreen { - private static final Text TITLE = Text.of("Approve Server"); - private static final Text MESSAGE = Text.of("Do you want to approve this server?"); - private static final Text NARRATOR_MESSAGE = Text.of("Do you want to approve this server?"); - - public ApproveServerScreen(String serverAddress) { - super(TITLE, MESSAGE, NARRATOR_MESSAGE); - } - - @Override - protected void initButtons(int yOffset) { - - } -} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthClientConfig.java b/fabric/src/de/chaoscaot/altauth/fabric/ClientConfig.java similarity index 51% rename from fabric/src/de/chaoscaot/altauth/fabric/AltAuthClientConfig.java rename to fabric/src/de/chaoscaot/altauth/fabric/ClientConfig.java index f1b4a23..21a0fde 100644 --- a/fabric/src/de/chaoscaot/altauth/fabric/AltAuthClientConfig.java +++ b/fabric/src/de/chaoscaot/altauth/fabric/ClientConfig.java @@ -2,6 +2,7 @@ package de.chaoscaot.altauth.fabric; +import com.google.gson.JsonSyntaxException; import net.fabricmc.loader.api.FabricLoader; import java.io.File; @@ -10,22 +11,22 @@ import java.nio.file.Files; import java.util.ArrayList; import java.util.List; -public class AltAuthClientConfig { +public class ClientConfig { private static final String CONFIG_FILE_NAME = "altauth.client.json"; - public static AltAuthClientConfig INSTANCE; + public static ClientConfig INSTANCE; static { if(!new File(FabricLoader.getInstance().getConfigDir().toFile(), CONFIG_FILE_NAME).exists()) { - INSTANCE = new AltAuthClientConfig(); + INSTANCE = new ClientConfig(); } else { try { - INSTANCE = AltAuthFabric.GSON.fromJson(Files.readString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME)), AltAuthClientConfig.class); - } catch (IOException e) { - AltAuthFabric.LOGGER.error("AltauthClient: AltAuthClientConfig: Error while loading config", e); - AltAuthFabric.LOGGER.info("Reset Config..."); - INSTANCE = new AltAuthClientConfig(); + INSTANCE = AltAuth.GSON.fromJson(Files.readString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME)), ClientConfig.class); + } catch (IOException | JsonSyntaxException e) { + AltAuth.LOGGER.error("AltauthClient: AltAuthClientConfig: Error while loading config", e); + AltAuth.LOGGER.info("Reset Config..."); + INSTANCE = new ClientConfig(); INSTANCE.save(); } } @@ -36,9 +37,9 @@ public class AltAuthClientConfig { public void save() { try { - Files.writeString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME), AltAuthFabric.GSON.toJson(this)); + Files.writeString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME), AltAuth.GSON.toJson(this)); } catch (IOException e) { - AltAuthFabric.LOGGER.error("AltauthClient: AltAuthClientConfig: Error while saving config", e); + AltAuth.LOGGER.error("AltauthClient: AltAuthClientConfig: Error while saving config", e); } } } diff --git a/fabric/src/de/chaoscaot/altauth/fabric/ServerConfig.java b/fabric/src/de/chaoscaot/altauth/fabric/ServerConfig.java new file mode 100644 index 0000000..e9902f7 --- /dev/null +++ b/fabric/src/de/chaoscaot/altauth/fabric/ServerConfig.java @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: MIT + +package de.chaoscaot.altauth.fabric; + +import com.google.gson.JsonSyntaxException; +import net.fabricmc.loader.api.FabricLoader; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; + +public class ServerConfig { + + private static final String CONFIG_FILE_NAME = "altauth.json"; + + public static ServerConfig INSTANCE; + + static { + if(!new File(FabricLoader.getInstance().getConfigDir().toFile(), CONFIG_FILE_NAME).exists()) { + INSTANCE = new ServerConfig(); + } else { + try { + INSTANCE = AltAuth.GSON.fromJson(Files.readString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME)), ServerConfig.class); + if(INSTANCE.serverUrl.length() > 20) { + AltAuth.LOGGER.error("AltauthServer: AltAuthServerConfig: ServerUrl is too long. Max length is 20 characters"); + INSTANCE.serverUrl = ""; + } + } catch (IOException e) { + AltAuth.LOGGER.error("AltauthServer: AltAuthServerConfig: Error while loading config", e); + AltAuth.LOGGER.info("Reset Config..."); + INSTANCE = new ServerConfig(); + INSTANCE.save(); + } catch (JsonSyntaxException e) { + e.printStackTrace(); + System.exit(1); + } + } + } + + public String serverUrl = "EnterNameHere"; + + public void save() { + try { + Files.writeString(FabricLoader.getInstance().getConfigDir().resolve(CONFIG_FILE_NAME), AltAuth.GSON.toJson(this)); + } catch (IOException e) { + AltAuth.LOGGER.error("AltauthServer: AltAuthServerConfig: Error while saving config", e); + } + } +} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/TrustServerScreen.java b/fabric/src/de/chaoscaot/altauth/fabric/TrustServerScreen.java new file mode 100644 index 0000000..7d799e7 --- /dev/null +++ b/fabric/src/de/chaoscaot/altauth/fabric/TrustServerScreen.java @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: MIT + +package de.chaoscaot.altauth.fabric; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.ConnectScreen; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.WarningScreen; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.network.ServerAddress; +import net.minecraft.text.Text; + +@Environment(EnvType.CLIENT) +public class TrustServerScreen extends WarningScreen { + private static final Text MESSAGE = Text.of("Do you want to trust this server?"); + + private final String serverId; + private final Screen parent; + + public TrustServerScreen(String serverAddress, Screen parent) { + super(Text.of("Trust '" + serverAddress + "'"), MESSAGE, Text.of("Do you want to Trust '" + serverAddress + "'?")); + this.serverId = serverAddress; + this.parent = null; + } + + @Override + protected void initButtons(int yOffset) { + // Yes, Once, Cancel + + addDrawableChild(new ButtonWidget(width / 2 - 155, height / 6 + 96 + yOffset, 150, 20, Text.of("Yes"), (buttonWidget) -> { + ClientConfig.INSTANCE.allowedServers.add(serverId); + ClientConfig.INSTANCE.save(); + + ConnectScreen.connect(parent, client, AltAuth.address, null); + })); + + addDrawableChild(new ButtonWidget(width / 2 - 155 + 160, height / 6 + 96 + yOffset + 30, 150, 20, Text.of("Once"), (buttonWidget) -> { + AltAuth.trustOnce = true; + + ConnectScreen.connect(parent, client, AltAuth.address, null); + })); + + addDrawableChild(new ButtonWidget(width / 2 - 155 + 160, height / 6 + 96 + yOffset + 60, 150, 20, Text.of("Cancel"), (buttonWidget) -> { + client.setScreen(parent); + })); + } +} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/mixin/ConnectScreenMixin.java b/fabric/src/de/chaoscaot/altauth/fabric/mixin/ConnectScreenMixin.java new file mode 100644 index 0000000..c92350d --- /dev/null +++ b/fabric/src/de/chaoscaot/altauth/fabric/mixin/ConnectScreenMixin.java @@ -0,0 +1,19 @@ +package de.chaoscaot.altauth.fabric.mixin; + +import de.chaoscaot.altauth.fabric.AltAuth; +import de.chaoscaot.altauth.fabric.TrustServerScreen; +import net.minecraft.client.gui.screen.ConnectScreen; +import net.minecraft.client.network.ServerAddress; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.ModifyArg; + +@Mixin(ConnectScreen.class) +public class ConnectScreenMixin { + + @ModifyArg(method = "connect(Lnet/minecraft/client/gui/screen/Screen;Lnet/minecraft/client/MinecraftClient;Lnet/minecraft/client/network/ServerAddress;Lnet/minecraft/client/network/ServerInfo;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ConnectScreen;connect(Lnet/minecraft/client/MinecraftClient;Lnet/minecraft/client/network/ServerAddress;)V"), index = 1) + private static ServerAddress copyServerAddress(ServerAddress address) { + AltAuth.address = address; + return address; + } +} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/mixin/LoginRequestMixin.java b/fabric/src/de/chaoscaot/altauth/fabric/mixin/LoginRequestMixin.java index 8fa1c8a..6fb45b8 100644 --- a/fabric/src/de/chaoscaot/altauth/fabric/mixin/LoginRequestMixin.java +++ b/fabric/src/de/chaoscaot/altauth/fabric/mixin/LoginRequestMixin.java @@ -3,11 +3,17 @@ package de.chaoscaot.altauth.fabric.mixin; import com.mojang.authlib.yggdrasil.YggdrasilEnvironment; +import de.chaoscaot.altauth.fabric.AltAuth; +import de.chaoscaot.altauth.fabric.ClientConfig; +import de.chaoscaot.altauth.fabric.TrustServerScreen; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.ConnectScreen; +import net.minecraft.client.gui.screen.DisconnectedScreen; import net.minecraft.client.network.ClientLoginNetworkHandler; import net.minecraft.network.packet.s2c.login.LoginHelloS2CPacket; +import net.minecraft.text.Text; import org.joor.Reflect; import org.slf4j.Logger; import org.spongepowered.asm.mixin.Final; @@ -29,8 +35,20 @@ public class LoginRequestMixin { try { if(packet.getServerId().contains(".")) { LOGGER.info("AltauthClient: LoginRequestMixin: Server is running on a custom: {}", packet.getServerId()); - URL url = new URL("https://" + packet.getServerId() + "/session/minecraft/join"); - Reflect.on(MinecraftClient.getInstance().getSessionService()).set("joinUrl", url); + if(ClientConfig.INSTANCE.allowedServers.contains(packet.getServerId()) || AltAuth.trustOnce) { + AltAuth.trustOnce = false; + URL url = new URL("https://" + packet.getServerId() + "/session/minecraft/join"); + Reflect.on(MinecraftClient.getInstance().getSessionService()).set("joinUrl", url); + } else { + if(MinecraftClient.getInstance().currentScreen instanceof ConnectScreen cs) { + cs.connectingCancelled = true; + if( cs.connection != null) { + cs.connection.disconnect(Text.translatable("connect.aborted")); + } + + MinecraftClient.getInstance().setScreen(new TrustServerScreen(packet.getServerId(), cs.parent)); + } + } } else { LOGGER.info("AltauthClient: LoginRequestMixin: Server is running on mojang"); URL url = new URL(YggdrasilEnvironment.PROD.getEnvironment().getSessionHost() + "/session/minecraft/join"); @@ -38,7 +56,9 @@ public class LoginRequestMixin { } } catch (Exception e) { e.printStackTrace(); - throw new RuntimeException(e); + if(MinecraftClient.getInstance().currentScreen instanceof ConnectScreen cs) { + MinecraftClient.getInstance().setScreen(new DisconnectedScreen(cs.parent, Text.of("AltAuth error"), Text.of(e.getMessage()))); + } } } } diff --git a/fabric/src/de/chaoscaot/altauth/fabric/mixin/MinecraftServerMixin.java b/fabric/src/de/chaoscaot/altauth/fabric/mixin/MinecraftServerMixin.java new file mode 100644 index 0000000..28f0f02 --- /dev/null +++ b/fabric/src/de/chaoscaot/altauth/fabric/mixin/MinecraftServerMixin.java @@ -0,0 +1,38 @@ +package de.chaoscaot.altauth.fabric.mixin; + +import de.chaoscaot.altauth.fabric.AltAuth; +import de.chaoscaot.altauth.fabric.ServerConfig; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.ApiServices; +import org.joor.Reflect; +import org.objectweb.asm.Opcodes; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import java.net.MalformedURLException; +import java.net.URL; + +@Environment(EnvType.SERVER) +@Mixin(MinecraftServer.class) +public class MinecraftServerMixin { + + @Shadow + protected ApiServices apiServices; + + @Redirect(method = "", at = @At(value = "FIELD", target = "Lnet/minecraft/server/MinecraftServer;apiServices:Lnet/minecraft/util/ApiServices;", opcode = Opcodes.PUTFIELD)) + private void apiServiceMixin(MinecraftServer instance, ApiServices value) { + apiServices = value; + + try { + URL url = new URL("https://" + ServerConfig.INSTANCE.serverUrl + "/session/minecraft/join"); + Reflect.on(MinecraftClient.getInstance().getSessionService()).set("joinUrl", url); + } catch (MalformedURLException e) { + AltAuth.LOGGER.error("Malformed URL: {}", e.getMessage()); + } + } +} diff --git a/fabric/src/de/chaoscaot/altauth/fabric/mixin/ServerIdMixin.java b/fabric/src/de/chaoscaot/altauth/fabric/mixin/ServerIdMixin.java index d892549..e880ba9 100644 --- a/fabric/src/de/chaoscaot/altauth/fabric/mixin/ServerIdMixin.java +++ b/fabric/src/de/chaoscaot/altauth/fabric/mixin/ServerIdMixin.java @@ -2,7 +2,7 @@ package de.chaoscaot.altauth.fabric.mixin; -import de.chaoscaot.altauth.fabric.AltAuthServerConfig; +import de.chaoscaot.altauth.fabric.ServerConfig; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.network.PacketByteBuf; @@ -17,6 +17,6 @@ public class ServerIdMixin { @Redirect(method = "write", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/PacketByteBuf;writeString(Ljava/lang/String;)Lnet/minecraft/network/PacketByteBuf;")) public PacketByteBuf writeString(PacketByteBuf packetByteBuf, String string) { - return packetByteBuf.writeString(AltAuthServerConfig.INSTANCE.serverUrl); + return packetByteBuf.writeString(ServerConfig.INSTANCE.serverUrl); } } diff --git a/fabric/src/fabric.mod.json b/fabric/src/fabric.mod.json index 27f12a2..14c31bb 100644 --- a/fabric/src/fabric.mod.json +++ b/fabric/src/fabric.mod.json @@ -8,22 +8,12 @@ "contact": {}, "license": "MIT", "environment": "*", - "entrypoints": { - "main": [ - "de.chaoscaot.altauth.fabric.AltAuth" - ], - "client": [ - "de.chaoscaot.altauth.fabric.AltAuthClient" - ], - "server": [ - "de.chaoscaot.altauth.fabric.AltAuthServer" - ] - }, "mixins": [ "alt-auth.mixins.json" ], "depends": { "fabricloader": ">=0.13.3", "minecraft": ">=1.18.2" - } + }, + "accessWidener": "altauth.accesswidener" }