package org.branulf.toolbox; import org.branulf.toolbox.autocrossbow.AutoCrossbowMode; import me.shedaniel.autoconfig.ConfigData; import me.shedaniel.autoconfig.annotation.Config; import me.shedaniel.autoconfig.annotation.ConfigEntry; import net.minecraft.client.util.InputUtil; import org.lwjgl.glfw.GLFW; @Config(name = Main.MOD_ID) public class ModConfig implements ConfigData { // 诸葛连弩 @ConfigEntry.Category("autocrossbow_settings") @ConfigEntry.Gui.TransitiveObject public AutoCrossbowConfig autocrossbow = new AutoCrossbowConfig(); // Scrafitipty Plus @ConfigEntry.Category("scrafitipty_plus_settings") @ConfigEntry.Gui.TransitiveObject public ScrafitiptyPlusConfigPart scrafitiptyPlus = new ScrafitiptyPlusConfigPart(); // 挂机 @ConfigEntry.Category("crazylook_settings") @ConfigEntry.Gui.TransitiveObject public CrazyLookConfig crazyLook = new CrazyLookConfig(); // 鞘翅推进优化 @ConfigEntry.Category("elytraboost_settings") @ConfigEntry.Gui.TransitiveObject public ElytraBoostConfigPart elytraBoostConfig = new ElytraBoostConfigPart(); // 玩家探测器 @ConfigEntry.Category("player_detector_settings") @ConfigEntry.Gui.TransitiveObject public PlayerDetectorConfig playerDetector = new PlayerDetectorConfig(); // 伤害记录 @ConfigEntry.Category("damage_logger_settings") @ConfigEntry.Gui.TransitiveObject public DamageLoggerConfig damageLogger = new DamageLoggerConfig(); // ————————————————————分割线———————————————————— // 诸葛连弩 public static class AutoCrossbowConfig implements ConfigData { @ConfigEntry.Gui.Tooltip(count = 0) public boolean enabled = false; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @ConfigEntry.Gui.Tooltip(count = 0) public AutoCrossbowMode currentMode = AutoCrossbowMode.NORMAL; @ConfigEntry.Gui.Tooltip(count = 1) public boolean compatibilityMode = false; @ConfigEntry.Gui.Tooltip(count = 1) public boolean ultimateCompatibilityMode = false; } // Scrafitipty public static class ScrafitiptyPlusConfigPart implements ConfigData { @ConfigEntry.Gui.Tooltip(count = 1) public int port = 8765; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @ConfigEntry.Gui.Tooltip(count = 5) public WebSocketEnableMode enableMode = WebSocketEnableMode.IN_GAME_ONLY; @ConfigEntry.Gui.Tooltip(count = 1) public boolean debugMode = false; @ConfigEntry.Gui.Tooltip(count = 1) public boolean debugChatOutput = false; public enum WebSocketEnableMode { ALWAYS, // 一直启用 IN_GAME_ONLY, // 仅在游戏内启用 SINGLEPLAYER_ONLY, // 仅在单机启用 DISABLED // 禁用 } } // 挂机 public static class CrazyLookConfig implements ConfigData { @ConfigEntry.Gui.Tooltip(count = 0) public boolean enabled = false; @ConfigEntry.Gui.Tooltip(count = 1) public int shakeFrequency = 2; } // 鞘翅推进优化 public static class ElytraBoostConfigPart implements ConfigData { @ConfigEntry.Gui.Tooltip(count = 1) public boolean modEnabled = true; } // 玩家探测器 public static class PlayerDetectorConfig implements ConfigData { @ConfigEntry.Gui.Tooltip(count = 0) public boolean enabled = false; @ConfigEntry.Gui.Tooltip(count = 1) @ConfigEntry.BoundedDiscrete(min = 1, max = 64) public int detectionRange = 16; @ConfigEntry.Gui.Tooltip(count = 1) @ConfigEntry.BoundedDiscrete(min = 1, max = 20) public int alertFrequency = 1; } // 伤害记录 public static class DamageLoggerConfig implements ConfigData { @ConfigEntry.Gui.Tooltip(count = 0) public boolean enabled = false; @ConfigEntry.Gui.Tooltip(count = 1) public boolean rememberState = false; } }