diff --git a/src/main/java/com/atsuishio/superbwarfare/client/screens/ModSellWarningScreen.java b/src/main/java/com/atsuishio/superbwarfare/client/screens/ModSellWarningScreen.java index 5ad125f5f..e4a7dc0b1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/screens/ModSellWarningScreen.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/screens/ModSellWarningScreen.java @@ -1,5 +1,6 @@ package com.atsuishio.superbwarfare.client.screens; +import com.atsuishio.superbwarfare.config.client.ModSellWarningConfig; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; @@ -46,12 +47,6 @@ public class ModSellWarningScreen extends WarningScreen { "stupidNoPayWarningChecksum" // 神秘的盐 ); - // -// System.out.println("env info:"); -// environmentInfo.forEach(System.out::println); -// System.out.println("env info end"); - // - return sha256(String.join("|", environmentInfo)); } @@ -79,32 +74,25 @@ public class ModSellWarningScreen extends WarningScreen { this.lastScreen = lastScreen; } - // TODO 正确实现校验和配置文件 - private static String checksumTest = ""; @SubscribeEvent(priority = EventPriority.HIGH) public static void onGuiOpen(ScreenEvent.Opening event) { if (!(event.getNewScreen() instanceof JoinMultiplayerScreen && !(event.getCurrentScreen() instanceof ModSellWarningScreen))) return; - System.out.println("multiplayer screen open"); - - if (checksumTest.equals(ENVIRONMENT_CHECKSUM)) return; -// if (ModSellWarningConfig.ENVIRONMENT_CHECKSUM.get().equals(ENVIRONMENT_CHECKSUM)) return; + if (ModSellWarningConfig.ENVIRONMENT_CHECKSUM.get().equals(ENVIRONMENT_CHECKSUM)) return; // 拦截多人游戏界面加载 event.setCanceled(true); Minecraft.getInstance().setScreen(new ModSellWarningScreen(event.getCurrentScreen())); - System.out.println(ENVIRONMENT_CHECKSUM); } @Override protected void initButtons(int pYOffset) { this.addRenderableWidget(Button.builder(CommonComponents.GUI_PROCEED, button -> { if (this.stopShowing.selected()) { - checksumTest = ENVIRONMENT_CHECKSUM; -// ModSellWarningConfig.ENVIRONMENT_CHECKSUM.set(ENVIRONMENT_CHECKSUM); -// ModSellWarningConfig.ENVIRONMENT_CHECKSUM.save(); + ModSellWarningConfig.ENVIRONMENT_CHECKSUM.set(ENVIRONMENT_CHECKSUM); + ModSellWarningConfig.ENVIRONMENT_CHECKSUM.save(); } Minecraft.getInstance().setScreen(new JoinMultiplayerScreen(this.lastScreen)); }).bounds(this.width / 2 - 155, 100 + pYOffset, 150, 20).build()); diff --git a/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java index c78d0314f..4dcffb64e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java +++ b/src/main/java/com/atsuishio/superbwarfare/config/ClientConfig.java @@ -1,9 +1,6 @@ package com.atsuishio.superbwarfare.config; -import com.atsuishio.superbwarfare.config.client.DisplayConfig; -import com.atsuishio.superbwarfare.config.client.KillMessageConfig; -import com.atsuishio.superbwarfare.config.client.ReloadConfig; -import com.atsuishio.superbwarfare.config.client.VehicleControlConfig; +import com.atsuishio.superbwarfare.config.client.*; import net.minecraftforge.common.ForgeConfigSpec; public class ClientConfig { @@ -15,6 +12,7 @@ public class ClientConfig { KillMessageConfig.init(builder); DisplayConfig.init(builder); VehicleControlConfig.init(builder); + ModSellWarningConfig.init(builder); return builder.build(); } diff --git a/src/main/java/com/atsuishio/superbwarfare/config/client/ModSellWarningConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/client/ModSellWarningConfig.java new file mode 100644 index 000000000..36d9c60b2 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/config/client/ModSellWarningConfig.java @@ -0,0 +1,18 @@ +package com.atsuishio.superbwarfare.config.client; + +import net.minecraftforge.common.ForgeConfigSpec; + +public class ModSellWarningConfig { + + public static ForgeConfigSpec.ConfigValue ENVIRONMENT_CHECKSUM; + + public static void init(ForgeConfigSpec.Builder builder) { + builder.push("checksum"); + + builder.comment("System environment checksum, do not edit"); + ENVIRONMENT_CHECKSUM = builder.define("environment_checksum", ""); + + builder.pop(); + } + +}