diff --git a/README.md b/README.md index e233e81..e5f03b3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # jenny's mod 2 100% real -mod para Minecraft Fabric 26.1 que añade algunas cosas QOL, mayormente relacionadas a la cámara. +mod para Minecraft Fabric 26.1.2 que añade algunas cosas QOL, mayormente relacionadas a la cámara. ## instalación @@ -23,7 +23,7 @@ es posible que haya problemas al usarlo junto a otros mods, especialmente junto `shift derecho` por defecto para abrir la interfaz -`pág. arriba` por defecto para abrir el editor del hud +`insertar` por defecto para abrir el editor del hud `$` como prefijo por defecto para comandos (se autocompletan) diff --git a/cambios.md b/cambios.md index ff50464..ff4a1ea 100644 --- a/cambios.md +++ b/cambios.md @@ -1,4 +1,4 @@ -# v4.5 +# v4.6 ## novedades @@ -8,14 +8,14 @@ ### arreglos / mejoras -- zoom ahora ya sí que ya funciona -- arreglado el movimiento laggy de cámara libre -- las cabezas de chatplus ya se renderizan correctamente +- el editor del hud por defecto ahora se abre con `insertar` (no confundir con `enter`) +- renombrado todos los `frame`s a `panel`s +- `colocar en aire` ya funciona correctamente +- `delay de paquetes` no _debería_ de crashear el juego ya ## problemas reconocidos - lo de siempre, además de: - - `colocar en aire` no funciona si el bloque está muy cerca, aunque no colisione con el jugador - `delay de paquetes` puede crashear el juego - `inventario plus` no funciona en creativo - `RPC de Discord` no funciona e incluso puede provocar crashes diff --git a/gradle.properties b/gradle.properties index 79d3a91..0ffbb5b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,6 +10,6 @@ discord_rpc_version=1.0.3 neutrino_version=1.1.0 jdk_version=25 -mod_version=4.5 +mod_version=4.6 maven_group=me.retucio archives_base_name=sputnik \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/Sputnik.java b/src/main/java/me/retucio/sputnik/Sputnik.java index dae477b..806e88d 100644 --- a/src/main/java/me/retucio/sputnik/Sputnik.java +++ b/src/main/java/me/retucio/sputnik/Sputnik.java @@ -11,23 +11,23 @@ import me.retucio.sputnik.config.ConfigManager; import me.retucio.sputnik.event.ShutdownEvent; import me.retucio.sputnik.event.interact.OpenScreenEvent; import me.retucio.sputnik.event.sputnik.LoadCapeManagerEvent; -import me.retucio.sputnik.event.sputnik.LoadClickGUIEvent; +import me.retucio.sputnik.event.sputnik.LoadClickGuiEvent; import me.retucio.sputnik.event.sputnik.LoadCommandManagerEvent; import me.retucio.sputnik.event.sputnik.LoadModuleManagerEvent; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.HudRenderer; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.hud.HudEditorScreen; import me.retucio.sputnik.ui.screen.UpdateScreen; import me.retucio.sputnik.ui.widgets.buttons.settings.BindButton; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; import me.retucio.sputnik.ui.widgets.buttons.settings.TextButton; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.ui.widgets.Button; import me.retucio.sputnik.util.*; @@ -113,9 +113,9 @@ public class Sputnik implements ClientModInitializer { mc.execute(() -> { Textures.init(); - ClickGUI.INSTANCE = new ClickGUI(); + ClickGui.INSTANCE = new ClickGui(); HudEditorScreen.INSTANCE = new HudEditorScreen(); - EVENT_BUS.post(new LoadClickGUIEvent()); + EVENT_BUS.post(new LoadClickGuiEvent()); HudRenderer.init(); }); @@ -134,7 +134,7 @@ public class Sputnik implements ClientModInitializer { } ModuleManager.INSTANCE.getEnabledModules().forEach(Module::onTick); - mc.getWindow().setTitle(ClientSettingsFrame.guiSettings.windowTitle.getValue()); + mc.getWindow().setTitle(ClientSettingsPanel.clientSettings.windowTitle.getValue()); } @@ -143,8 +143,8 @@ public class Sputnik implements ClientModInitializer { // prevenir interrumpir combos de F3 if (key == GLFW.GLFW_KEY_F3) return; - boolean anyFocused = isAnySettingButtonFocused() || ClickGUI.INSTANCE.getSearchBar().isFocused(); - ClickGUI.INSTANCE.setAnyFocused(anyFocused); + boolean anyFocused = isAnySettingButtonFocused() || ClickGui.INSTANCE.getSearchBar().isFocused(); + ClickGui.INSTANCE.setAnyFocused(anyFocused); if (action != GLFW.GLFW_RELEASE) { if (BindCommand.onKeyPress(key)) return; @@ -164,7 +164,7 @@ public class Sputnik implements ClientModInitializer { // verifica si algún botón de ajustes está escuchando private boolean isAnySettingButtonFocused() { - for (SettingsFrame sf : ClickGUI.INSTANCE.getSettingsFrames()) + for (SettingsPanel sf : ClickGui.INSTANCE.getSettingsPanels()) for (Button sb : sf.getButtons()) if ((sb instanceof BindButton b && b.isFocused()) || (sb instanceof TextButton t && t.isFocused())) return true; @@ -173,7 +173,7 @@ public class Sputnik implements ClientModInitializer { // se ocupa de la lógica de encendido y apagado de los módulos private void handleModuleToggle(int key, boolean anyFocused) { - if (mc.screen != null && mc.screen != ClickGUI.INSTANCE) return; + if (mc.screen != null && mc.screen != ClickGui.INSTANCE) return; for (Module module : ModuleManager.INSTANCE.getModules()) { if (key != module.getKey() || anyFocused || KeyUtil.isKeyDown(GLFW.GLFW_KEY_F3)) continue; // evitar interrumpir combinaciones de teclas del F3 @@ -187,7 +187,7 @@ public class Sputnik implements ClientModInitializer { // se ocupa de hacer los botones de ajustes que lo necesiten escuchar teclas private void handleSettingButtonsKey(int key, int action) { - for (SettingsFrame sf : ClickGUI.INSTANCE.getSettingsFrames()) { + for (SettingsPanel sf : ClickGui.INSTANCE.getSettingsPanels()) { for (SettingButton sb : sf.getButtons()) { if (sb instanceof BindButton bb) bb.onKey(key, action); if (sb instanceof TextButton tb) tb.onKey(key, action); @@ -197,21 +197,21 @@ public class Sputnik implements ClientModInitializer { // maneja la lógica de apertura de la interfaz private void handleClickGUIKey(int key, boolean anyFocused) { - if (key != ClientSettingsFrame.guiSettings.getKey() || anyFocused || isOnTypingScreen()) + if (key != ClientSettingsPanel.clientSettings.getKey() || anyFocused || isOnTypingScreen()) return; - if (mc.screen != ClickGUI.INSTANCE) { + if (mc.screen != ClickGui.INSTANCE) { prevScreen = mc.screen; - mc.setScreen(ClickGUI.INSTANCE); + mc.setScreen(ClickGui.INSTANCE); } else { - ClickGUI.INSTANCE.onClose(); + ClickGui.INSTANCE.onClose(); mc.setScreen(prevScreen); } } // manejar la lógica de apertura del editor de elementos del hud, con la misma lógica que handleClickGUIKey() private void handleHudEditorKey(int key, boolean anyFocused) { - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); if (key != hud.editorKey.getValue() || anyFocused || isOnTypingScreen()) return; if (mc.screen != HudEditorScreen.INSTANCE) { @@ -229,7 +229,7 @@ public class Sputnik implements ClientModInitializer { // se ocupa de apagar los módulos que tengan configurado hacerlo tras soltar su tecla private void handleModuleRelease(int key) { - if (mc.screen != null && mc.screen != ClickGUI.INSTANCE) return; + if (mc.screen != null && mc.screen != ClickGui.INSTANCE) return; for (Module module : ModuleManager.INSTANCE.getEnabledModules()) if (module.shouldToggleOnBindRelease() && key == module.getKey()) diff --git a/src/main/java/me/retucio/sputnik/command/commands/BindCommand.java b/src/main/java/me/retucio/sputnik/command/commands/BindCommand.java index 71705b6..6376a11 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/BindCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/BindCommand.java @@ -5,7 +5,7 @@ import me.retucio.sputnik.command.Command; import me.retucio.sputnik.command.args.ModuleArgumentType; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.KeySetting; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.ChatFormatting; @@ -51,13 +51,13 @@ public class BindCommand extends Command { if (listeningModule == null) return false; KeySetting bind = listeningModule.getBind(); - if (ClientSettingsFrame.guiSettings.multipleKeybinds.getValue()) { + if (ClientSettingsPanel.clientSettings.multipleKeybinds.getValue()) { List keys = new ArrayList<>(List.of(mc.options.keyMappings)); keys.removeAll(List.of(mc.options.debugKeys)); for (KeyMapping kb : keys) { boolean keyAlreadyBound = kb.matches(new KeyEvent(key, 0, 0)); - boolean allowMultiple = ClientSettingsFrame.guiSettings.multipleKeybinds.getValue(); + boolean allowMultiple = ClientSettingsPanel.clientSettings.multipleKeybinds.getValue(); if (keyAlreadyBound && !allowMultiple) { ChatUtil.warn("esa tecla ya está cogida por " diff --git a/src/main/java/me/retucio/sputnik/command/commands/ConfigCommand.java b/src/main/java/me/retucio/sputnik/command/commands/ConfigCommand.java index a4673bc..e42a244 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/ConfigCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/ConfigCommand.java @@ -5,8 +5,8 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; import me.retucio.sputnik.command.Command; import me.retucio.sputnik.command.args.ModuleArgumentType; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import net.minecraft.commands.SharedSuggestionProvider; import me.retucio.sputnik.module.Module; @@ -40,27 +40,27 @@ public class ConfigCommand extends Command { private void openSf(CommandContext ctx) { Module module = ctx.getArgument("módulo", Module.class); - mc.setScreen(ClickGUI.INSTANCE); + mc.setScreen(ClickGui.INSTANCE); - if (ClickGUI.INSTANCE.isSettingsFrameOpen(module)) return; + if (ClickGui.INSTANCE.isSettingsPanelOpen(module)) return; - SettingsFrame sf = ClickGUI.INSTANCE.getSfOfModule(module); + SettingsPanel sf = ClickGui.INSTANCE.getSettingsPanelOfModule(module); int x = mc.getWindow().getGuiScaledWidth() / 2 - sf.getW() / 2; int y = 67; - ClickGUI.INSTANCE.openSettingsFrame(module, x, y); + ClickGui.INSTANCE.openSettingsPanel(module, x, y); } private void openSfWithPos(CommandContext ctx, int x, int y) { Module module = ctx.getArgument("módulo", Module.class); - mc.setScreen(ClickGUI.INSTANCE); + mc.setScreen(ClickGui.INSTANCE); - if (ClickGUI.INSTANCE.isSettingsFrameOpen(module)) { - SettingsFrame sf = ClickGUI.INSTANCE.getSfOfModule(module); + if (ClickGui.INSTANCE.isSettingsPanelOpen(module)) { + SettingsPanel sf = ClickGui.INSTANCE.getSettingsPanelOfModule(module); sf.setX(x); sf.setY(y); } - ClickGUI.INSTANCE.openSettingsFrame(module, x, y); + ClickGui.INSTANCE.openSettingsPanel(module, x, y); } } diff --git a/src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java b/src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java index 2472515..bde4659 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.command.commands; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import me.retucio.sputnik.command.Command; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.util.ChatUtil; import net.minecraft.ChatFormatting; import net.minecraft.commands.SharedSuggestionProvider; @@ -21,7 +21,7 @@ public class PrefixCommand extends Command { builder .then(argument("prefijo", StringArgumentType.word()).executes(ctx -> { String prefix = ctx.getArgument("prefijo", String.class); - ClientSettingsFrame.guiSettings.commandPrefix.setValue(prefix); + ClientSettingsPanel.clientSettings.commandPrefix.setValue(prefix); ChatUtil.info(Component.literal("prefijo cambiado a " + ChatFormatting.AQUA + prefix)); return SUCCESS; })); diff --git a/src/main/java/me/retucio/sputnik/command/commands/WaitCommand.java b/src/main/java/me/retucio/sputnik/command/commands/WaitCommand.java index 567ec83..888eadb 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/WaitCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/WaitCommand.java @@ -3,10 +3,7 @@ package me.retucio.sputnik.command.commands; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.command.Command; -import me.retucio.sputnik.command.CommandManager; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import me.retucio.sputnik.util.ChatUtil; import net.minecraft.commands.SharedSuggestionProvider; diff --git a/src/main/java/me/retucio/sputnik/config/BinarySerializer.java b/src/main/java/me/retucio/sputnik/config/BinarySerializer.java index 2d343ce..2e13867 100644 --- a/src/main/java/me/retucio/sputnik/config/BinarySerializer.java +++ b/src/main/java/me/retucio/sputnik/config/BinarySerializer.java @@ -31,8 +31,8 @@ public class BinarySerializer { // mapas writeStringBooleanMap(out, config.moduleStates); writeSettingsMap(out, config.settings); - writeStringIntArrayMap(out, config.settingsFrames); - writeExtendableFrames(out, config.extendableFrames); + writeStringIntArrayMap(out, config.settingsPanels); + writeExtendableFrames(out, config.extendablePanels); writeStringIntArrayMap(out, config.hudPositions); writeStringBooleanMap(out, config.hudVisibilities); writeStringStringMap(out, config.hudImagePaths); @@ -77,8 +77,8 @@ public class BinarySerializer { // leer mapas config.moduleStates = readStringBooleanMap(in); config.settings = readSettingsMap(in); - config.settingsFrames = readStringIntArrayMap(in); - config.extendableFrames = readExtendableFrames(in); + config.settingsPanels = readStringIntArrayMap(in); + config.extendablePanels = readExtendablePanels(in); config.hudPositions = readStringIntArrayMap(in); config.hudVisibilities = readStringBooleanMap(in); config.hudImagePaths = readStringStringMap(in); @@ -281,32 +281,32 @@ public class BinarySerializer { return map; } - private static void writeExtendableFrames(DataOutputStream out, Map map) + private static void writeExtendableFrames(DataOutputStream out, Map map) throws IOException { if (map == null) { out.writeInt(0); return; } out.writeInt(map.size()); - for (Map.Entry entry : map.entrySet()) { + for (Map.Entry entry : map.entrySet()) { writeString(out, entry.getKey()); - ClientConfig.FrameData data = entry.getValue(); + ClientConfig.PanelData data = entry.getValue(); out.writeInt(data.x()); out.writeInt(data.y()); out.writeBoolean(data.extended()); } } - private static Map readExtendableFrames(DataInputStream in) + private static Map readExtendablePanels(DataInputStream in) throws IOException { int size = in.readInt(); - Map map = new HashMap<>(size); + Map map = new HashMap<>(size); for (int i = 0; i < size; i++) { String key = readString(in); int x = in.readInt(); int y = in.readInt(); boolean extended = in.readBoolean(); - map.put(key, new ClientConfig.FrameData(x, y, extended)); + map.put(key, new ClientConfig.PanelData(x, y, extended)); } return map; } diff --git a/src/main/java/me/retucio/sputnik/config/ClientConfig.java b/src/main/java/me/retucio/sputnik/config/ClientConfig.java index ff638e4..2dc0ac7 100644 --- a/src/main/java/me/retucio/sputnik/config/ClientConfig.java +++ b/src/main/java/me/retucio/sputnik/config/ClientConfig.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.config; import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.event.sputnik.*; import me.retucio.sputnik.module.setting.settings.*; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import java.io.Serial; import java.io.Serializable; @@ -23,10 +23,10 @@ public class ClientConfig { public Map settings = new HashMap<>(); // nombre del módulo -> posición (x, y) - public Map settingsFrames = new HashMap<>(); + public Map settingsPanels = new HashMap<>(); // nombre del frame -> FrameData (que contiene extended, x & y) - public Map extendableFrames = new HashMap<>(); + public Map extendablePanels = new HashMap<>(); // id del elemento del hud -> posición (x, y) public Map hudPositions = new HashMap<>(); @@ -34,7 +34,7 @@ public class ClientConfig { // id del elemento del hud -> true: visible / false: no visible public Map hudVisibilities = new HashMap<>(); - // id del elemento del hud -> ruta de la imagen (NEW) + // id del elemento del hud -> ruta de la imagen public Map hudImagePaths = new HashMap<>(); // posición de la barra de búsqueda (x, y) @@ -72,55 +72,55 @@ public class ClientConfig { } @EventListener - public void onOpenSettingsFrame(SettingsFrameEvent.Open event) { - ConfigManager.setFramePosition(event.getFrame()); + public void onOpenSettingsPanel(SettingsPanelEvent.Open event) { + ConfigManager.setPanelPosition(event.getPanel()); } @EventListener - public void onCloseSettingsFrame(SettingsFrameEvent.Close event) { - settingsFrames.remove(event.getFrame().getModule().getName()); + public void onCloseSettingsPanel(SettingsPanelEvent.Close event) { + settingsPanels.remove(event.getPanel().getModule().getName()); ConfigManager.save(); } @EventListener - public void onMoveSettingsFrame(SettingsFrameEvent.Move event) { - settingsFrames.replace(event.getFrame().getModule().getName(), new int[]{event.getFrame().getX(), event.getFrame().getY()}); + public void onMoveSettingsPanel(SettingsPanelEvent.Move event) { + settingsPanels.replace(event.getPanel().getModule().getName(), new int[]{event.getPanel().getX(), event.getPanel().getY()}); ConfigManager.save(); } @EventListener - public void onExtendModuleFrame(ModuleFrameEvent.Extend event) { - extendableFrames.put("M", new FrameData( - ClickGUI.INSTANCE.getModulesFrame().getX(), - ClickGUI.INSTANCE.getModulesFrame().getY(), - ClickGUI.INSTANCE.getModulesFrame().extended)); + public void onExtendModulePanel(ModulePanelEvent.Extend event) { + extendablePanels.put("M", new PanelData( + ClickGui.INSTANCE.getModulesPanel().getX(), + ClickGui.INSTANCE.getModulesPanel().getY(), + ClickGui.INSTANCE.getModulesPanel().extended)); } @EventListener - public void onMoveModuleFrame(ModuleFrameEvent.Move event) { - extendableFrames.replace("M", new FrameData( - ClickGUI.INSTANCE.getModulesFrame().getX(), - ClickGUI.INSTANCE.getModulesFrame().getY(), - ClickGUI.INSTANCE.getModulesFrame().extended)); + public void onMoveModulePanel(ModulePanelEvent.Move event) { + extendablePanels.replace("M", new PanelData( + ClickGui.INSTANCE.getModulesPanel().getX(), + ClickGui.INSTANCE.getModulesPanel().getY(), + ClickGui.INSTANCE.getModulesPanel().extended)); } @EventListener - public void onExtendGUISettingsFrame(GUISettingsFrameEvent.Extend event) { - extendableFrames.put("S", new FrameData( - ClickGUI.INSTANCE.getGuiSettingsFrame().getX(), - ClickGUI.INSTANCE.getGuiSettingsFrame().getY(), - ClickGUI.INSTANCE.getGuiSettingsFrame().extended)); + public void onExtendClientSettingsPanel(ClientSettingsPanelEvent.Extend event) { + extendablePanels.put("S", new PanelData( + ClickGui.INSTANCE.getClientSettingsPanel().getX(), + ClickGui.INSTANCE.getClientSettingsPanel().getY(), + ClickGui.INSTANCE.getClientSettingsPanel().extended)); } @EventListener - public void onMoveGUISettingsFrame(GUISettingsFrameEvent.Move event) { - extendableFrames.replace("S", new FrameData( - ClickGUI.INSTANCE.getGuiSettingsFrame().getX(), - ClickGUI.INSTANCE.getGuiSettingsFrame().getY(), - ClickGUI.INSTANCE.getGuiSettingsFrame().extended)); + public void onMoveClientSettingsPanel(ClientSettingsPanelEvent.Move event) { + extendablePanels.replace("S", new PanelData( + ClickGui.INSTANCE.getClientSettingsPanel().getX(), + ClickGui.INSTANCE.getClientSettingsPanel().getY(), + ClickGui.INSTANCE.getClientSettingsPanel().extended)); } - public record FrameData(int x, int y, boolean extended) implements Serializable { + public record PanelData(int x, int y, boolean extended) implements Serializable { @Serial private static final long serialVersionUID = 1L; } } diff --git a/src/main/java/me/retucio/sputnik/config/ConfigManager.java b/src/main/java/me/retucio/sputnik/config/ConfigManager.java index 1925a6b..1a5975f 100644 --- a/src/main/java/me/retucio/sputnik/config/ConfigManager.java +++ b/src/main/java/me/retucio/sputnik/config/ConfigManager.java @@ -7,11 +7,11 @@ import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.setting.*; import me.retucio.sputnik.module.setting.settings.*; -import me.retucio.sputnik.ui.widgets.Frame; -import me.retucio.sputnik.ui.widgets.frames.ModuleFrame; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.Panel; +import me.retucio.sputnik.ui.widgets.panels.ModulePanel; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import java.io.File; import java.io.FileReader; @@ -83,10 +83,10 @@ public class ConfigManager { applyModuleStates(); applyModuleSettings(); - applySettingsFrames(); + applySettingsPanels(); applySearchBarPosition(); - applyGuiSettings(); - applyExtendableFrames(); + applyClientSettings(); + applyExtendablePanels(); loaded = true; Sputnik.LOGGER.info("ajustes aplicados"); @@ -113,18 +113,18 @@ public class ConfigManager { save(); } - public static void setFramePosition(SettingsFrame frame) { + public static void setPanelPosition(SettingsPanel frame) { ensureConfig(); - if (!config.settingsFrames.containsKey(frame.getModule().getName())) - config.settingsFrames.put(frame.getModule().getName(), new int[] {frame.getX(), frame.getY()}); + if (!config.settingsPanels.containsKey(frame.getModule().getName())) + config.settingsPanels.put(frame.getModule().getName(), new int[] {frame.getX(), frame.getY()}); else - config.settingsFrames.replace(frame.getModule().getName(), new int[] {frame.getX(), frame.getY()}); + config.settingsPanels.replace(frame.getModule().getName(), new int[] {frame.getX(), frame.getY()}); save(); } - public static void setExtendableFrame(String key, ClientConfig.FrameData data) { + public static void setExtendablePanel(String key, ClientConfig.PanelData data) { ensureConfig(); - config.extendableFrames.put(key, data); + config.extendablePanels.put(key, data); save(); } @@ -186,8 +186,8 @@ public class ConfigManager { Sputnik.LOGGER.info("ajustes de módulos aplicados"); } - private static void applySettingsFrames() { - config.settingsFrames.forEach((moduleName, position) -> { + private static void applySettingsPanels() { + config.settingsPanels.forEach((moduleName, position) -> { Module module = ModuleManager.INSTANCE.getModuleByName(moduleName); if (module == null) { @@ -195,7 +195,7 @@ public class ConfigManager { return; } - ClickGUI.INSTANCE.openSettingsFrame(module, position[0], position[1]); + ClickGui.INSTANCE.openSettingsPanel(module, position[0], position[1]); }); Sputnik.LOGGER.info("estados de marcos de ajustes aplicados"); @@ -203,44 +203,44 @@ public class ConfigManager { private static void applySearchBarPosition() { if (config.searchBarPosition != null && config.searchBarPosition.length == 2) { - ClickGUI.INSTANCE.getSearchBar().setX(config.searchBarPosition[0]); - ClickGUI.INSTANCE.getSearchBar().setY(config.searchBarPosition[1]); + ClickGui.INSTANCE.getSearchBar().setX(config.searchBarPosition[0]); + ClickGui.INSTANCE.getSearchBar().setY(config.searchBarPosition[1]); } Sputnik.LOGGER.info("posición de la barra de búsqueda aplicada"); } - private static void applyGuiSettings() { - ClientSettingsFrame.guiSettings.setEnabled(true); - ClientSettingsFrame.guiSettings.getSettings().forEach(setting -> { - applySetting(ClientSettingsFrame.guiSettings, setting); + private static void applyClientSettings() { + ClientSettingsPanel.clientSettings.setEnabled(true); + ClientSettingsPanel.clientSettings.getSettings().forEach(setting -> { + applySetting(ClientSettingsPanel.clientSettings, setting); }); Sputnik.LOGGER.info("ajustes del cliente aplicados"); } - private static void applyExtendableFrames() { - applyExtendableFrame(ClickGUI.INSTANCE.getModulesFrame()); - applyExtendableFrame(ClickGUI.INSTANCE.getGuiSettingsFrame()); + private static void applyExtendablePanels() { + applyExtendablePanel(ClickGui.INSTANCE.getModulesPanel()); + applyExtendablePanel(ClickGui.INSTANCE.getClientSettingsPanel()); Sputnik.LOGGER.info("posiciones de marcos extendibles aplicadas"); - ClickGUI.INSTANCE.refreshListButtons(); + ClickGui.INSTANCE.refreshListButtons(); } - private static void applyExtendableFrame(Frame frame) { - ClientConfig.FrameData frameData = null; - if (frame instanceof ModuleFrame) - frameData = config.extendableFrames.get("M"); + private static void applyExtendablePanel(Panel panel) { + ClientConfig.PanelData panelData = null; + if (panel instanceof ModulePanel) + panelData = config.extendablePanels.get("M"); - if (frame instanceof ClientSettingsFrame) - frameData = config.extendableFrames.get("S"); + if (panel instanceof ClientSettingsPanel) + panelData = config.extendablePanels.get("S"); - if (frameData != null) { - frame.setX(frameData.x()); - frame.setY(frameData.y()); + if (panelData != null) { + panel.setX(panelData.x()); + panel.setY(panelData.y()); - if (frame instanceof ModuleFrame mFrame) - mFrame.extended = frameData.extended(); - if (frame instanceof ClientSettingsFrame sFrame) - sFrame.extended = frameData.extended(); + if (panel instanceof ModulePanel mFrame) + mFrame.extended = panelData.extended(); + if (panel instanceof ClientSettingsPanel sFrame) + sFrame.extended = panelData.extended(); } } diff --git a/src/main/java/me/retucio/sputnik/event/sputnik/GUISettingsFrameEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/ClientSettingsPanelEvent.java similarity index 88% rename from src/main/java/me/retucio/sputnik/event/sputnik/GUISettingsFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/ClientSettingsPanelEvent.java index d83bec5..9a5db29 100644 --- a/src/main/java/me/retucio/sputnik/event/sputnik/GUISettingsFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/ClientSettingsPanelEvent.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.event.sputnik; import com.github.retucio.neutrino.Event; // se genera cada que se interactúa con el marco de ajustes de la interfaz -public class GUISettingsFrameEvent { +public class ClientSettingsPanelEvent { public static class Extend extends Event {} // al extenderlo / contraerlo public static class Move extends Event {} // al cambiarlo de posición diff --git a/src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGUIEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGuiEvent.java similarity index 73% rename from src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGUIEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGuiEvent.java index 97e4ccb..8dab0e1 100644 --- a/src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGUIEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGuiEvent.java @@ -3,4 +3,4 @@ package me.retucio.sputnik.event.sputnik; import com.github.retucio.neutrino.Event; // se genera cuando carga la interfaz del mod -public class LoadClickGUIEvent extends Event {} \ No newline at end of file +public class LoadClickGuiEvent extends Event {} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/sputnik/ModuleFrameEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/ModulePanelEvent.java similarity index 90% rename from src/main/java/me/retucio/sputnik/event/sputnik/ModuleFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/ModulePanelEvent.java index c17339f..7098eaf 100644 --- a/src/main/java/me/retucio/sputnik/event/sputnik/ModuleFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/ModulePanelEvent.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.event.sputnik; import com.github.retucio.neutrino.Event; // se genera cada que se interactúa con el marco de módulos -public class ModuleFrameEvent { +public class ModulePanelEvent { public static class Extend extends Event {} // al extenderlo / contraerlo public static class Move extends Event {} // al cambiarlo de posición diff --git a/src/main/java/me/retucio/sputnik/event/sputnik/SettingsFrameEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/SettingsFrameEvent.java deleted file mode 100644 index 7f193a6..0000000 --- a/src/main/java/me/retucio/sputnik/event/sputnik/SettingsFrameEvent.java +++ /dev/null @@ -1,27 +0,0 @@ -package me.retucio.sputnik.event.sputnik; - -import com.github.retucio.neutrino.Event; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; - -// se genera cada que se interactúa con un marco de ajustes de un módulo -public class SettingsFrameEvent { - - public static class Open extends Event { // al abrirlo - private final SettingsFrame frame; - public Open(SettingsFrame frame) { this.frame = frame; } - public SettingsFrame getFrame() { return frame; } - } - - public static class Close extends Event { // al cerrarlo - private final SettingsFrame frame; - public Close(SettingsFrame frame) { this.frame = frame; } - public SettingsFrame getFrame() { return frame; } - } - - public static class Move extends Event { // al cambiarlo de posición - private final SettingsFrame frame; - public Move(SettingsFrame frame) { this.frame = frame; } - public SettingsFrame getFrame() { return frame; } - } - -} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/sputnik/SettingsPanelEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/SettingsPanelEvent.java new file mode 100644 index 0000000..cf7ee15 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/event/sputnik/SettingsPanelEvent.java @@ -0,0 +1,27 @@ +package me.retucio.sputnik.event.sputnik; + +import com.github.retucio.neutrino.Event; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; + +// se genera cada que se interactúa con un marco de ajustes de un módulo +public class SettingsPanelEvent { + + public static class Open extends Event { // al abrirlo + private final SettingsPanel panel; + public Open(SettingsPanel panel) { this.panel = panel; } + public SettingsPanel getPanel() { return panel; } + } + + public static class Close extends Event { // al cerrarlo + private final SettingsPanel panel; + public Close(SettingsPanel panel) { this.panel = panel; } + public SettingsPanel getPanel() { return panel; } + } + + public static class Move extends Event { // al cambiarlo de posición + private final SettingsPanel panel; + public Move(SettingsPanel panel) { this.panel = panel; } + public SettingsPanel getPanel() { return panel; } + } + +} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java index 7c557ae..8923099 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java @@ -4,7 +4,7 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.command.CommandManager; import me.retucio.sputnik.config.ConfigManager; import me.retucio.sputnik.event.input.ClientClickEvent; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.screens.Screen; @@ -29,11 +29,11 @@ public class ScreenMixin { @Inject(method = "extractRenderState", at = @At("HEAD")) private void renderWatermark(GuiGraphicsExtractor gui, int mouseX, int mouseY, float a, CallbackInfo ci) { if (!ConfigManager.hasLoaded()) return; // para evitar dibujar la marca de agua por defecto - String watermark = ClientSettingsFrame.guiSettings.watermark.getValue(); + String watermark = ClientSettingsPanel.clientSettings.watermark.getValue(); if (watermark == null || watermark.isEmpty()) return; gui.text(mc.font, watermark, mc.getWindow().getGuiScaledWidth() - mc.font.width(watermark) - 2, 2, - ClientSettingsFrame.guiSettings.color.getRGB(), false + ClientSettingsPanel.clientSettings.color.getRGB(), false ); } } diff --git a/src/main/java/me/retucio/sputnik/module/ModuleManager.java b/src/main/java/me/retucio/sputnik/module/ModuleManager.java index ec70efc..ab67ee1 100644 --- a/src/main/java/me/retucio/sputnik/module/ModuleManager.java +++ b/src/main/java/me/retucio/sputnik/module/ModuleManager.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.module; import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.module.modules.client.DiscordRPC; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.module.modules.camera.*; import me.retucio.sputnik.module.modules.combat.*; import me.retucio.sputnik.module.modules.inventory.*; @@ -78,7 +78,7 @@ public class ModuleManager { private void addClient() { add(new DiscordRPC()); - add(new HUD()); + add(new Hud()); } private void addCombat() { diff --git a/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java b/src/main/java/me/retucio/sputnik/module/modules/client/ClientSettingsModule.java similarity index 95% rename from src/main/java/me/retucio/sputnik/module/modules/client/GUI.java rename to src/main/java/me/retucio/sputnik/module/modules/client/ClientSettingsModule.java index 89edf8a..082b059 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java +++ b/src/main/java/me/retucio/sputnik/module/modules/client/ClientSettingsModule.java @@ -4,7 +4,7 @@ import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.command.CommandManager; import me.retucio.sputnik.event.TickEvent; -import me.retucio.sputnik.event.sputnik.LoadClickGUIEvent; +import me.retucio.sputnik.event.sputnik.LoadClickGuiEvent; import me.retucio.sputnik.event.sputnik.LoadCommandManagerEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -22,11 +22,12 @@ import org.lwjgl.glfw.GLFW; import java.awt.*; -/** módulo no visible solo para los ajustes del mod +/** + * módulo solo para los ajustes del mod * @author retucio */ -public class GUI extends Module { +public class ClientSettingsModule extends Module { private final SettingGroup sgWidgets = addSg(new SettingGroup("widgets", true)); private final SettingGroup sgUi = addSg(new SettingGroup("interfaz", true)); @@ -109,7 +110,7 @@ public class GUI extends Module { 50 )); - public GUI() { + public ClientSettingsModule() { super("interfaz", "ajustes de la interfaz, y otros misceláneos", Category.CLIENT, @@ -133,7 +134,7 @@ public class GUI extends Module { } @EventListener - public void onLoadClickGUI(LoadClickGUIEvent event) { + public void onLoadClickGui(LoadClickGuiEvent event) { color.onUpdate(v -> { Colors.red = color.getR(); Colors.green = color.getG(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/client/HUD.java b/src/main/java/me/retucio/sputnik/module/modules/client/Hud.java similarity index 98% rename from src/main/java/me/retucio/sputnik/module/modules/client/HUD.java rename to src/main/java/me/retucio/sputnik/module/modules/client/Hud.java index a481231..8105fd3 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/client/HUD.java +++ b/src/main/java/me/retucio/sputnik/module/modules/client/Hud.java @@ -21,7 +21,7 @@ import java.awt.*; * @author retucio */ -public class HUD extends Module { +public class Hud extends Module { private final SettingGroup sgEditor = addSg(new SettingGroup("editor", true)); private final SettingGroup sgDisplay = addSg(new SettingGroup("visualización", true)); @@ -31,7 +31,7 @@ public class HUD extends Module { public KeySetting editorKey = sgEditor.add(new KeySetting( "tecla del editor", "tecla asignada al editor de elementos del hud", - GLFW.GLFW_KEY_PAGE_UP + GLFW.GLFW_KEY_INSERT )); public BooleanSetting axialMovement = sgEditor.add(new BooleanSetting( @@ -126,7 +126,7 @@ public class HUD extends Module { Dynosaurs.class, Dynosaurs.SPINOSAURUS )); - public HUD() { + public Hud() { super("HUD", "superposición de la pantalla con info. adicional", Category.CLIENT, diff --git a/src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java index cdb2ae0..88a6a76 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.module.modules.inventory; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.ListSetting; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.util.KeyUtil; import me.retucio.sputnik.util.Lists; @@ -63,7 +63,7 @@ public class UIMove extends Module { if (mc.player == null || mc.screen == null) return; MenuType handler = null; - if (mc.screen == ClickGUI.INSTANCE) + if (mc.screen == ClickGui.INSTANCE) handler = clickGuiHandlerType; if (mc.screen instanceof AbstractContainerScreen screen) { diff --git a/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java b/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java index 562aad5..6c4b7d0 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java @@ -12,6 +12,7 @@ import me.retucio.sputnik.util.NetworkUtil; import net.minecraft.network.Connection; import net.minecraft.network.PacketListener; import net.minecraft.network.protocol.Packet; +import net.minecraft.network.protocol.common.ClientboundKeepAlivePacket; import net.minecraft.network.protocol.common.ServerboundKeepAlivePacket; import java.util.*; @@ -35,6 +36,16 @@ public class PacketDelay extends Module { Category.NETWORK); } + @Override + public void onEnable() { + if (mc.isSingleplayer()) { + ChatUtil.error("delay de paquetes no funciona en un solo jugador"); + toggle(); + return; + } + super.onEnable(); + } + @Override public void onDisable() { for (DelayedPacket delayedPacket : delayedPackets) @@ -87,8 +98,9 @@ public class PacketDelay extends Module { private void onPacketReceive(PacketEvent.Receive event) { if (mc.player == null || mc.level == null || mc.getConnection() == null - || event.getPacket() instanceof ServerboundKeepAlivePacket - && !packets.is(Packets.OTHERS)) { + || directions.is(Directions.C2S) + || (event.getPacket() instanceof ClientboundKeepAlivePacket + && !packets.is(Packets.OTHERS))) { return; } diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java b/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java index 2b3993c..5801857 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java @@ -30,16 +30,25 @@ public class AirPlace extends Module { // general + private final NumberSetting range = sgGeneral.add(new NumberSetting( "rango", "distancia a la que colocar el bloque", + 4, 1, - 4, - 4, + 8, 1 )); + private final BooleanSetting placeNormallyIfInRange = sgGeneral.add(new BooleanSetting( + "colocar con normalidad", + "colocar con normalidad si ya se está mirando a un bloque en rango", + true + )); + + // scroll + private final KeySetting scrollKey = sgScroll.add(new KeySetting( "tecla del scroll", "tecla a mantener para que el scroll funcione", @@ -55,7 +64,9 @@ public class AirPlace extends Module { 0.1 )); - // extractRenderState + + // renderizado + private final BooleanSetting outlines = sgRender.add(new BooleanSetting( "contorno", "renderizar contorno de la caja de prev.", @@ -108,6 +119,8 @@ public class AirPlace extends Module { @EventListener private void onUseItem(UseItemEvent event) { if (!(result instanceof BlockHitResult bhr) || !(event.getStack().getItem() instanceof BlockItem)) return; + if (mc.hitResult != null && mc.hitResult.getType() != HitResult.Type.MISS && placeNormallyIfInRange.getValue()) return; + Vec3 hitPos = Vec3.atCenterOf(bhr.getBlockPos()); BlockHitResult result = new BlockHitResult( @@ -138,9 +151,11 @@ public class AirPlace extends Module { || !mc.level.getBlockState(bhr.getBlockPos()).canBeReplaced()) return; - if (outlines.getValue()) - RenderUtil.drawBlockOutline(event.getMatrices(), bhr.getBlockPos(), outlineColor.getValue(), lineWidth.getFloatValue(), false); - if (filling.getValue()) + if (outlines.getValue()) { + RenderUtil.drawBlockOutline(event.getMatrices(), bhr.getBlockPos(), outlineColor.getValue(), lineWidth.getFloatValue(), false); + } + if (filling.getValue()) { RenderUtil.drawBlockFilled(event.getMatrices(), bhr.getBlockPos(), fillingColor.getValue(), false); + } } } diff --git a/src/main/java/me/retucio/sputnik/module/setting/settings/KeySetting.java b/src/main/java/me/retucio/sputnik/module/setting/settings/KeySetting.java index 747eadd..d084253 100644 --- a/src/main/java/me/retucio/sputnik/module/setting/settings/KeySetting.java +++ b/src/main/java/me/retucio/sputnik/module/setting/settings/KeySetting.java @@ -3,14 +3,10 @@ package me.retucio.sputnik.module.setting.settings; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.setting.Setting; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.KeyUtil; import org.lwjgl.glfw.GLFW; -import java.util.Objects; -import java.util.function.Consumer; - public class KeySetting extends Setting { public KeySetting(String name, String description, int defaultKey) { diff --git a/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java b/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java index 53f43d9..a3bb2e0 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java @@ -4,8 +4,8 @@ import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.config.ConfigManager; import me.retucio.sputnik.event.input.KeyEvent; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.module.modules.client.Hud; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.Minecraft; @@ -25,7 +25,7 @@ public class HudEditorScreen extends Screen { public static HudEditorScreen INSTANCE; private final Minecraft mc = Minecraft.getInstance(); - private final HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + private final Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); private final List elements = new ArrayList<>(); @Nullable private HudElement selected = null; @@ -199,7 +199,7 @@ public class HudEditorScreen extends Screen { @Override protected void extractBlurredBackground(@NonNull GuiGraphicsExtractor gui) { - if (ClientSettingsFrame.guiSettings.blur.getValue()) { + if (ClientSettingsPanel.clientSettings.blur.getValue()) { super.extractBlurredBackground(gui); } } diff --git a/src/main/java/me/retucio/sputnik/ui/hud/HudElement.java b/src/main/java/me/retucio/sputnik/ui/hud/HudElement.java index d741719..3ce9cb3 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/HudElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.widgets.Widget; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.network.chat.Component; @@ -22,8 +22,8 @@ public abstract class HudElement extends Widget { this.visible = true; } - public abstract void renderInGame(GuiGraphicsExtractor gui, float delta, HUD hud); - public abstract void renderInEditor(GuiGraphicsExtractor gui, HUD hud); + public abstract void renderInGame(GuiGraphicsExtractor gui, float delta, Hud hud); + public abstract void renderInEditor(GuiGraphicsExtractor gui, Hud hud); public abstract List getTooltip(); public String getId() { return id; } diff --git a/src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java b/src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java index 398612b..12a49f5 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.ui.hud; import me.retucio.sputnik.config.ConfigManager; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.elements.*; import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; @@ -75,7 +75,7 @@ public class HudRenderer { } - public static Color getColor(HUD hud) { + public static Color getColor(Hud hud) { return hud.color.getValue(); } @@ -94,7 +94,7 @@ public class HudRenderer { } public static void render(GuiGraphicsExtractor gui, DeltaTracker dt) { - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); for (HudElement element : elements) { if (element.isVisible() && !shouldSkipRendering()) { @@ -104,7 +104,7 @@ public class HudRenderer { } private static boolean shouldSkipRendering() { - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); return ModuleManager.INSTANCE == null || mc.player == null || mc.getCameraEntity() == null diff --git a/src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java b/src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java index f19682c..e3c47f5 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.ui.hud; import com.mojang.blaze3d.platform.NativeImage; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.renderer.RenderPipelines; @@ -68,7 +68,7 @@ public abstract class ImageHudElement extends HudElement { } @Override - public void renderInGame(GuiGraphicsExtractor gui, float delta, HUD hud) { + public void renderInGame(GuiGraphicsExtractor gui, float delta, Hud hud) { if (!textureLoaded || !isVisible()) return; gui.blit( @@ -82,7 +82,7 @@ public abstract class ImageHudElement extends HudElement { } @Override - public void renderInEditor(GuiGraphicsExtractor gui, HUD hud) { + public void renderInEditor(GuiGraphicsExtractor gui, Hud hud) { w = imageWidth; h = imageHeight; diff --git a/src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java b/src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java index 5659cfe..64af80f 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -11,11 +11,11 @@ public abstract class TextHudElement extends HudElement { super(id, defaultX, defaultY); } - public abstract String getText(float delta, HUD hud); + public abstract String getText(float delta, Hud hud); public abstract String getPreviewText(); @Override - public void renderInGame(GuiGraphicsExtractor gui, float delta, HUD hud) { + public void renderInGame(GuiGraphicsExtractor gui, float delta, Hud hud) { String text = getText(delta, hud); int color = hud != null ? hud.color.getValue().getRGB() : -1; boolean shadow = hud != null && hud.shadow.getValue(); @@ -23,7 +23,7 @@ public abstract class TextHudElement extends HudElement { } @Override - public void renderInEditor(GuiGraphicsExtractor gui, HUD hud) { + public void renderInEditor(GuiGraphicsExtractor gui, Hud hud) { String previewText = getPreviewText(); w = mc.font.width(previewText); h = mc.font.lineHeight; diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java index 1297a7e..f6a6729 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.ui.hud.elements; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.network.chat.Component; import net.minecraft.world.phys.Vec3; @@ -17,7 +17,7 @@ public class CoordsElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { Freecam freecam = ModuleManager.INSTANCE.getModuleByClass(Freecam.class); Vec3 pos = freecam != null && freecam.isEnabled() ? new Vec3(freecam.getX(delta), freecam.getY(delta), freecam.getZ(delta)) @@ -28,9 +28,9 @@ public class CoordsElement extends TextHudElement { String overworldCoords = (int) pos.x + " " + (int) pos.y + " " + (int) pos.z; String netherCoords = (int) pos.x / 8 + " " + (int) pos.y / 8 + " " + (int) pos.z / 8; - if (hud.coordsMode.is(HUD.CoordsMode.OVERWORLD)) { + if (hud.coordsMode.is(Hud.CoordsMode.OVERWORLD)) { return overworldCoords; - } else if (hud.coordsMode.is(HUD.CoordsMode.NETHER)) { + } else if (hud.coordsMode.is(Hud.CoordsMode.NETHER)) { return netherCoords; } else { return overworldCoords + " (" + netherCoords + ")"; @@ -41,7 +41,7 @@ public class CoordsElement extends TextHudElement { public String getPreviewText() { return getText( mc.getDeltaTracker().getGameTimeDeltaTicks(), - ModuleManager.INSTANCE.getModuleByClass(HUD.class)); + ModuleManager.INSTANCE.getModuleByClass(Hud.class)); } @Override diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java index 283b7dc..afe6a76 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.ui.hud.elements; import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.event.sputnik.UpdateSettingEvent; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.network.chat.Component; @@ -16,13 +16,13 @@ public class CustomTextElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { return hud != null && hud.customText != null ? hud.customText.getValue() : ""; } @Override public String getPreviewText() { - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); if (hud != null && hud.customText != null && !hud.customText.getValue().isEmpty()) return hud.customText.getValue(); @@ -40,7 +40,7 @@ public class CustomTextElement extends TextHudElement { @EventListener public void onUpdateSetting(UpdateSettingEvent event) { if (ModuleManager.INSTANCE == null) return; - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); if (hud != null && event.getSetting() == hud.customText) { int newX = mc.getWindow().getGuiScaledWidth() / 2 - mc.font.width(hud.customText.getValue()) / 2; setPosition(newX, y); diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java index 0ada713..594a2aa 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.hud.elements; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.ImageHudElement; import net.minecraft.network.chat.Component; @@ -10,7 +10,7 @@ import java.util.List; public class DynoElement extends ImageHudElement { - private HUD.Dynosaurs dyno; + private Hud.Dynosaurs dyno; public DynoElement() { super("dyno", @@ -21,14 +21,14 @@ public class DynoElement extends ImageHudElement { @Override protected String getImagePath() { - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); if (hud == null) return "textures/dynos/spinosaurus.png"; dyno = hud.dyno.getValue(); return "textures/dynos/" + getDynoFileName(dyno) + ".png"; } - private String getDynoFileName(HUD.Dynosaurs dyno) { + private String getDynoFileName(Hud.Dynosaurs dyno) { return dyno.toRealString().toLowerCase(); } diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java index 9c713af..bf08225 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.ImageHudElement; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.InventoryUtil; @@ -27,7 +27,7 @@ public class EchestElement extends ImageHudElement { } @Override - public void renderInGame(GuiGraphicsExtractor gui, float delta, HUD hud) { + public void renderInGame(GuiGraphicsExtractor gui, float delta, Hud hud) { if (!textureLoaded || !isVisible()) return; gui.blit( @@ -54,7 +54,7 @@ public class EchestElement extends ImageHudElement { } @Override - public void renderInEditor(GuiGraphicsExtractor gui, HUD hud) { + public void renderInEditor(GuiGraphicsExtractor gui, Hud hud) { if (!textureLoaded) return; drawEditorBackground(gui); diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java index e0d0955..c3b61da 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.network.chat.Component; @@ -14,7 +14,7 @@ public class FpsElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { return "FPS: " + mc.getFps(); } diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java index f6077d3..6d05e95 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.client.multiplayer.PlayerInfo; import net.minecraft.network.chat.Component; @@ -15,7 +15,7 @@ public class PingElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { if (mc.getConnection() == null || mc.player == null) return "? ms"; if (mc.isSingleplayer()) return "-1 ms"; diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/RotationElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/RotationElement.java index 07d50a9..f363554 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/RotationElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/RotationElement.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.hud.elements; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.network.chat.Component; @@ -18,7 +18,7 @@ public class RotationElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { if (mc.player == null) return getPreviewText(); return String.format("%.2f", mc.player.getYRot() % 360) + "° " + String.format("%.2f", mc.player.getXRot()) + "° (" + getDirection() + ")"; } @@ -27,7 +27,7 @@ public class RotationElement extends TextHudElement { public String getPreviewText() { if (mc.player == null) return "69° 69° (W)"; - return getText(mc.getDeltaTracker().getGameTimeDeltaTicks(), ModuleManager.INSTANCE.getModuleByClass(HUD.class)); + return getText(mc.getDeltaTracker().getGameTimeDeltaTicks(), ModuleManager.INSTANCE.getModuleByClass(Hud.class)); } @Override diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java index e374119..dd4185e 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import me.retucio.sputnik.util.MiscUtil; import net.minecraft.network.chat.Component; @@ -15,7 +15,7 @@ public class TimeElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { return MiscUtil.getCurrentFormattedTime(); } diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java index c725cc0..264d5d2 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.ImageHudElement; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.network.chat.Component; @@ -25,7 +25,7 @@ public class TotemsElement extends ImageHudElement { } @Override - public void renderInGame(GuiGraphicsExtractor gui, float delta, HUD hud) { + public void renderInGame(GuiGraphicsExtractor gui, float delta, Hud hud) { if (!isVisible()) return; int count = 0; @@ -42,7 +42,7 @@ public class TotemsElement extends ImageHudElement { } @Override - public void renderInEditor(GuiGraphicsExtractor gui, HUD hud) { + public void renderInEditor(GuiGraphicsExtractor gui, Hud hud) { int count = 0; if (mc.player != null) { for (ItemStack stack : mc.player.getInventory()) { diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java index 6d989a8..1887abd 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import me.retucio.sputnik.util.NetworkUtil; import net.minecraft.network.chat.Component; @@ -15,7 +15,7 @@ public class TpsElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { return "TPS: " + NetworkUtil.getTPS(); } diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/UptimeElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/UptimeElement.java index 67e5f93..d891a6c 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/UptimeElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/UptimeElement.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.ui.hud.elements; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.network.chat.Component; @@ -16,7 +16,7 @@ public class UptimeElement extends TextHudElement { } @Override - public String getText(float delta, HUD hud) { + public String getText(float delta, Hud hud) { long seconds = (System.currentTimeMillis() - Sputnik.LAUNCH_TIME) / 1000; int minutes = (int) seconds / 60; int hours = minutes / 60; @@ -28,7 +28,7 @@ public class UptimeElement extends TextHudElement { @Override public String getPreviewText() { - return getText(mc.getDeltaTracker().getGameTimeDeltaTicks(), ModuleManager.INSTANCE.getModuleByClass(HUD.class)); + return getText(mc.getDeltaTracker().getGameTimeDeltaTicks(), ModuleManager.INSTANCE.getModuleByClass(Hud.class)); } @Override diff --git a/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java b/src/main/java/me/retucio/sputnik/ui/screen/ClickGui.java similarity index 65% rename from src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java rename to src/main/java/me/retucio/sputnik/ui/screen/ClickGui.java index 935a09d..381514d 100644 --- a/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java +++ b/src/main/java/me/retucio/sputnik/ui/screen/ClickGui.java @@ -5,7 +5,7 @@ import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.event.input.KeyEvent; import me.retucio.sputnik.event.input.MouseClickEvent; import me.retucio.sputnik.event.input.MouseScrollEvent; -import me.retucio.sputnik.event.sputnik.SettingsFrameEvent; +import me.retucio.sputnik.event.sputnik.SettingsPanelEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.Setting; @@ -13,12 +13,12 @@ import me.retucio.sputnik.module.setting.settings.ColorSetting; import me.retucio.sputnik.ui.widgets.buttons.settings.ListButton; import me.retucio.sputnik.ui.widgets.buttons.ModuleButton; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.sputnik.ui.widgets.frames.settings.ColorPickerFrame; -import me.retucio.sputnik.ui.widgets.frames.ModuleFrame; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; +import me.retucio.sputnik.ui.widgets.panels.settings.ColorPickerPanel; +import me.retucio.sputnik.ui.widgets.panels.ModulePanel; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.ui.widgets.Button; -import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.ui.widgets.Panel; import me.retucio.sputnik.ui.widgets.Widget; import me.retucio.sputnik.ui.widgets.misc.ScrollBarWidget; import me.retucio.sputnik.ui.widgets.misc.SearchBarWidget; @@ -40,31 +40,31 @@ import java.util.Arrays; import java.util.List; import java.util.Optional; -import static me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame.guiSettings; +import static me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel.clientSettings; // interfaz gráfica, se abre con el shift derecho por defecto. aquí se encuentran los módulos y sus ajustes -public class ClickGUI extends Screen { +public class ClickGui extends Screen { private final Minecraft mc = Minecraft.getInstance(); - public static ClickGUI INSTANCE; + public static ClickGui INSTANCE; private boolean anyFocused; private @Nullable Widget selected = null; private Category categoryFilter = Category.ALL; - private final ModuleFrame modulesFrame = new ModuleFrame(20, 30, 100, 20); - private final List settingsFrames = new ArrayList<>(); - private final ClientSettingsFrame guiSettingsFrame = new ClientSettingsFrame(200, 30, 100, 20); + private final ModulePanel modulesPanel = new ModulePanel(20, 30, 100, 20); + private final List settingsPanels = new ArrayList<>(); + private final ClientSettingsPanel clientSettingsPanel = new ClientSettingsPanel(200, 30, 100, 20); private final ScrollBarWidget scrollBar = new ScrollBarWidget(); private final SearchBarWidget searchBar = new SearchBarWidget(340, 16, 320, 20); private final List miscWidgets = Arrays.asList(scrollBar, searchBar); - public ClickGUI() { + public ClickGui() { super(Component.nullToEmpty("interfaz")); - settingsFrames.add(guiSettingsFrame); + settingsPanels.add(clientSettingsPanel); Sputnik.EVENT_BUS.subscribe(this); } @@ -81,22 +81,22 @@ public class ClickGUI extends Screen { searchBar.updatePosition(mouseX, mouseY); // actualizar la posición de renderizado vertical de los marcos cada tick - modulesFrame.updateRenderY(scrollOffset); - for (SettingsFrame sf : settingsFrames) - sf.updateRenderY(scrollOffset); + modulesPanel.updateRenderY(scrollOffset); + for (SettingsPanel sp : settingsPanels) + sp.updateRenderY(scrollOffset); // renderizar el marco de los ajustes de cada módulo que lo tenga abierto. se abre haciendo clic derecho sobre el módulo - for (SettingsFrame sf : settingsFrames.reversed()) { - sf.render(gui, mouseX, mouseY, delta); - sf.updatePosition(mouseX, mouseY); + for (SettingsPanel sp : settingsPanels.reversed()) { + sp.render(gui, mouseX, mouseY, delta); + sp.updatePosition(mouseX, mouseY); } // renderizar el marco de los módulos - modulesFrame.render(gui, mouseX, mouseY, delta); - modulesFrame.updatePosition(mouseX, mouseY); + modulesPanel.render(gui, mouseX, mouseY, delta); + modulesPanel.updatePosition(mouseX, mouseY); - for (SettingsFrame sf : settingsFrames) - sf.drawTooltips(gui, mouseX, mouseY); + for (SettingsPanel sp : settingsPanels) + sp.drawTooltips(gui, mouseX, mouseY); filterSearchResults(); @@ -124,9 +124,9 @@ public class ClickGUI extends Screen { } private int calculateContentHeight() { - int bottom = modulesFrame.getY() + modulesFrame.getH() + modulesFrame.getTotalHeight(); - for (SettingsFrame frame : settingsFrames) - bottom = Math.max(bottom, frame.getY() + frame.getH() + frame.getTotalHeight()); + int bottom = modulesPanel.getY() + modulesPanel.getH() + modulesPanel.getTotalHeight(); + for (SettingsPanel panel : settingsPanels) + bottom = Math.max(bottom, panel.getY() + panel.getH() + panel.getTotalHeight()); return bottom + 20; // padding } @@ -140,9 +140,9 @@ public class ClickGUI extends Screen { )); // detectar clics sobre los marcos - modulesFrame.mouseClicked((int) click.x(), (int) click.y(), click.button()); - for (SettingsFrame sf : new ArrayList<>(settingsFrames)) - sf.mouseClicked((int) click.x(), (int) click.y(), click.button()); + modulesPanel.mouseClicked((int) click.x(), (int) click.y(), click.button()); + for (SettingsPanel sp : new ArrayList<>(settingsPanels)) + sp.mouseClicked((int) click.x(), (int) click.y(), click.button()); return super.mouseClicked(click, doubled); } @@ -155,9 +155,9 @@ public class ClickGUI extends Screen { click.button())); // registrar cuándo se suelta el clic, en cada marco respectivamente - modulesFrame.mouseReleased((int) click.x(), (int) click.y(), click.button()); - for (SettingsFrame sf : new ArrayList<>(settingsFrames)) - sf.mouseReleased((int) click.x(), (int) click.y(), click.button()); + modulesPanel.mouseReleased((int) click.x(), (int) click.y(), click.button()); + for (SettingsPanel sp : new ArrayList<>(settingsPanels)) + sp.mouseReleased((int) click.x(), (int) click.y(), click.button()); return super.mouseReleased(click); } @@ -168,8 +168,8 @@ public class ClickGUI extends Screen { (int) click.x(), (int) click.y())); - for (SettingsFrame sf : new ArrayList<>(settingsFrames)) - sf.mouseDragged((int) click.x(), (int) click.y()); + for (SettingsPanel sp : new ArrayList<>(settingsPanels)) + sp.mouseDragged((int) click.x(), (int) click.y()); return super.mouseDragged(click, deltaX, deltaY); } @@ -182,7 +182,7 @@ public class ClickGUI extends Screen { @EventListener public void onMouseScroll(MouseScrollEvent event) { miscWidgets.forEach(w -> w.mouseScrolled( - event.getVertical() * guiSettings.scrollSens.getValue())); + event.getVertical() * clientSettings.scrollSens.getValue())); } @EventListener @@ -191,22 +191,22 @@ public class ClickGUI extends Screen { if (Sputnik.mc.screen != this || event.getButton() != 2 || !KeyUtil.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT)) return; int h = Sputnik.mc.getWindow().getGuiScaledHeight(); - int minY = Math.min(modulesFrame.getY(), settingsFrames.stream().mapToInt(Frame::getY).min().orElse(modulesFrame.getY())); - int maxY = Math.max(modulesFrame.getY() + modulesFrame.getH(), settingsFrames.stream().mapToInt(sf -> sf.getY() + sf.getH()).max().orElse(modulesFrame.getY() + modulesFrame.getH())); + int minY = Math.min(modulesPanel.getY(), settingsPanels.stream().mapToInt(Panel::getY).min().orElse(modulesPanel.getY())); + int maxY = Math.max(modulesPanel.getY() + modulesPanel.getH(), settingsPanels.stream().mapToInt(sp -> sp.getY() + sp.getH()).max().orElse(modulesPanel.getY() + modulesPanel.getH())); int correction = minY < 0 ? -minY + 4 : (maxY > h ? h - maxY - 4 : 0); if (correction != 0) { - modulesFrame.setY(modulesFrame.getY() + correction); - settingsFrames.forEach(sf -> sf.setY(sf.getY() + correction)); + modulesPanel.setY(modulesPanel.getY() + correction); + settingsPanels.forEach(sp -> sp.setY(sp.getY() + correction)); } } public void filterSearchResults() { - if (!guiSettings.searchBar.getValue()) return; + if (!clientSettings.searchBar.getValue()) return; String searchInput = searchBar.getSearchInput().trim(); - if (!guiSettings.matchCase.getValue()) searchInput = searchInput.toLowerCase(); + if (!clientSettings.matchCase.getValue()) searchInput = searchInput.toLowerCase(); - for (Button b : modulesFrame.getButtons()) { + for (Button b : modulesPanel.getButtons()) { if (!(b instanceof ModuleButton mb)) return; Module module = mb.getModule(); @@ -224,7 +224,7 @@ public class ClickGUI extends Screen { String description = MiscUtil.removeAccentMarks(module.getDescription()); String category = MiscUtil.removeAccentMarks(module.getCategory().toString()); - if (!guiSettings.matchCase.getValue()) { + if (!clientSettings.matchCase.getValue()) { name = name.toLowerCase(); description = description.toLowerCase(); category = category.toLowerCase(); @@ -236,8 +236,8 @@ public class ClickGUI extends Screen { || category.contains(searchInput)); } - for (SettingsFrame sf : settingsFrames) { - for (Button b : sf.getButtons()) { + for (SettingsPanel sp : settingsPanels) { + for (Button b : sp.getButtons()) { if (!(b instanceof SettingButton sb)) return; Setting setting = sb.getSetting(); @@ -250,7 +250,7 @@ public class ClickGUI extends Screen { String description = MiscUtil.removeAccentMarks(setting.getDescription()); String sgName = MiscUtil.removeAccentMarks(setting.getSg().getName()); - if (!guiSettings.matchCase.getValue()) { + if (!clientSettings.matchCase.getValue()) { name = name.toLowerCase(); description = description.toLowerCase(); sgName = sgName.toLowerCase(); @@ -261,85 +261,85 @@ public class ClickGUI extends Screen { } } - public SettingsFrame getSfOfModule(Module module) { - Optional frame = settingsFrames.stream() - .filter(sf -> sf.getModule().equals(module)) + public SettingsPanel getSettingsPanelOfModule(Module module) { + Optional panel = settingsPanels.stream() + .filter(sp -> sp.getModule().equals(module)) .findFirst(); - return frame.orElseGet(() -> - new SettingsFrame(module, 0, 0, 100, 20) + return panel.orElseGet(() -> + new SettingsPanel(module, 0, 0, 100, 20) ); } // abrir un marco donde se encuentran los ajustes del módulo deseado - public void openSettingsFrame(Module module, int x, int y) { + public void openSettingsPanel(Module module, int x, int y) { // asegurarse de que no se sale de la pantalla x = Math.clamp(x, 0, mc.getWindow().getGuiScaledWidth() - 80); - SettingsFrame frame = new SettingsFrame(module, x, y, 100, 20); - settingsFrames.add(frame); + SettingsPanel panel = new SettingsPanel(module, x, y, 100, 20); + settingsPanels.add(panel); - Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Open(frame)); + Sputnik.EVENT_BUS.post(new SettingsPanelEvent.Open(panel)); } // abrir un marco de ajustes específicamente para ajustes de selección múltiple - public void openListSettingsFrame(Module dummy, int x, int y) { - if (isSettingsFrameOpen(dummy)) return; - SettingsFrame frame = new SettingsFrame(dummy, x, y, 120, 18); - settingsFrames.add(frame); + public void openListSettingsPanel(Module dummy, int x, int y) { + if (isSettingsPanelOpen(dummy)) return; + SettingsPanel panel = new SettingsPanel(dummy, x, y, 120, 18); + settingsPanels.add(panel); } // cerrar el marco de ajustes - public void closeSettingsFrame(Module module) { + public void closeSettingsPanel(Module module) { // porque java.util.ConcurrentModificationException o algo no sé es lo único que se me ha ocurrido hacer - List toRemove = new ArrayList<>(); - for (SettingsFrame sf : settingsFrames) { - if ((sf instanceof ColorPickerFrame cpf && cpf.dummyModule == module) // para los selectores de colores - || (!(sf instanceof ColorPickerFrame) && sf.getModule() == module)) { // lógica muy mierdas, lo sé, pero paso de hacerlo bien - toRemove.add(sf); - Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Close(sf)); - unselect(sf); + List toRemove = new ArrayList<>(); + for (SettingsPanel sp : settingsPanels) { + if ((sp instanceof ColorPickerPanel cpp && cpp.dummyModule == module) // para los selectores de colores + || (!(sp instanceof ColorPickerPanel) && sp.getModule() == module)) { // lógica muy mierdas, lo sé, pero paso de hacerlo bien + toRemove.add(sp); + Sputnik.EVENT_BUS.post(new SettingsPanelEvent.Close(sp)); + unselect(sp); } } - settingsFrames.removeAll(toRemove); + settingsPanels.removeAll(toRemove); } // verificar si un módulo tiene su marco de ajustes abierto - public boolean isSettingsFrameOpen(Module module) { - return settingsFrames.stream().anyMatch( - sf -> sf.getModule().equals(module)); + public boolean isSettingsPanelOpen(Module module) { + return settingsPanels.stream().anyMatch( + sp -> sp.getModule().equals(module)); } - public boolean isColorPickerFrameOpen(ColorSetting setting) { - for (SettingsFrame sf : getSettingsFrames()) { - if (sf instanceof ColorPickerFrame cpf) - if (cpf.getColorSetting().equals(setting)) return true; + public boolean isColorPickerPanelOpen(ColorSetting setting) { + for (SettingsPanel sp : getSettingsPanels()) { + if (sp instanceof ColorPickerPanel cpp) + if (cpp.getColorSetting().equals(setting)) return true; } return false; } - public void openColorPickerFrame(Module module, ColorSetting colorSetting, int x, int y) { - ColorPickerFrame frame = new ColorPickerFrame(module, colorSetting, x + 80, y + 5, 153, 20); - if (isColorPickerFrameOpen(frame.getColorSetting())) { - closeColorPickerFrame(frame.getColorSetting()); + public void openColorPickerPanel(Module module, ColorSetting colorSetting, int x, int y) { + ColorPickerPanel panel = new ColorPickerPanel(module, colorSetting, x + 80, y + 5, 153, 20); + if (isColorPickerPanelOpen(panel.getColorSetting())) { + closeColorPickerPanel(panel.getColorSetting()); return; } - settingsFrames.add(frame); + settingsPanels.add(panel); } - public void closeColorPickerFrame(ColorSetting setting) { - for (SettingsFrame sf : getSettingsFrames()) { - if (sf instanceof ColorPickerFrame cpf && cpf.getColorSetting().equals(setting)) { - settingsFrames.remove(cpf); + public void closeColorPickerPanel(ColorSetting setting) { + for (SettingsPanel sp : getSettingsPanels()) { + if (sp instanceof ColorPickerPanel cpp && cpp.getColorSetting().equals(setting)) { + settingsPanels.remove(cpp); break; } } } public void refreshListButtons() { - for (SettingsFrame frame : settingsFrames) - for (Button button : frame.getButtons()) + for (SettingsPanel panel : settingsPanels) + for (Button button : panel.getButtons()) if (button instanceof ListButton lb) lb.refreshDummy(); } @@ -356,8 +356,8 @@ public class ClickGUI extends Screen { @Override public void onClose() { // evitar que al reabrir la interfaz sin previamente haber soltado el clic, se sigan arrastrando objetos - modulesFrame.mouseReleased(0, 0, 0); - settingsFrames.forEach(sf -> sf.mouseReleased(0, 0, 0)); + modulesPanel.mouseReleased(0, 0, 0); + settingsPanels.forEach(sp -> sp.mouseReleased(0, 0, 0)); scrollBar.mouseReleased(0, 0, 0); searchBar.mouseReleased(0, 0, 0); @@ -378,24 +378,24 @@ public class ClickGUI extends Screen { @Override protected void extractBlurredBackground(@NonNull GuiGraphicsExtractor gui) { - if (guiSettings.blur.getValue()) super.extractBlurredBackground(gui); + if (clientSettings.blur.getValue()) super.extractBlurredBackground(gui); } // getters y setters de widgets - public ModuleFrame getModulesFrame() { - return modulesFrame; + public ModulePanel getModulesPanel() { + return modulesPanel; } - public ClientSettingsFrame getGuiSettingsFrame() { - return guiSettingsFrame; + public ClientSettingsPanel getClientSettingsPanel() { + return clientSettingsPanel; } public List getMiscWidgets() { return miscWidgets; } - public List getSettingsFrames() { - return settingsFrames; + public List getSettingsPanels() { + return settingsPanels; } public SearchBarWidget getSearchBar() { diff --git a/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java b/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java index 6794f84..fb5f907 100644 --- a/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java +++ b/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.ui.screen; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.module.modules.inventory.ShulkerPeek; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.screens.Screen; @@ -124,7 +124,7 @@ public class PreviewScreen extends Screen { @Override public void extractBlurredBackground(@NonNull GuiGraphicsExtractor gui) { - if (ClientSettingsFrame.guiSettings.blur.getValue()) super.extractBlurredBackground(gui); + if (ClientSettingsPanel.clientSettings.blur.getValue()) super.extractBlurredBackground(gui); } @Override diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/Button.java b/src/main/java/me/retucio/sputnik/ui/widgets/Button.java index ed36b37..e8a9e3b 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/Button.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/Button.java @@ -4,10 +4,10 @@ import net.minecraft.client.gui.GuiGraphicsExtractor; public abstract class Button extends Widget { - protected Frame parent; + protected Panel parent; protected int offset; - public Button(Frame parent, int offset) { + public Button(Panel parent, int offset) { super(parent.getX(), parent.getRenderY(), parent.getW(), parent.getH()); this.parent = parent; this.offset = offset; @@ -24,7 +24,7 @@ public abstract class Button extends Widget { this.offset = offset; } - public Frame getParent() { + public Panel getParent() { return parent; } } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/Frame.java b/src/main/java/me/retucio/sputnik/ui/widgets/Panel.java similarity index 91% rename from src/main/java/me/retucio/sputnik/ui/widgets/Frame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/Panel.java index a711da4..2f69f7c 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/Frame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/Panel.java @@ -6,7 +6,7 @@ import java.util.ArrayList; import java.util.List; -public abstract class Frame extends Widget { +public abstract class Panel extends Widget { protected String title; @@ -19,7 +19,7 @@ public abstract class Frame extends Widget { protected int dragX, dragY; protected boolean dragging; - public Frame(String title, int x, int y, int w, int h) { + public Panel(String title, int x, int y, int w, int h) { super(x, y, w, h); this.title = title; } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/Widget.java b/src/main/java/me/retucio/sputnik/ui/widgets/Widget.java index 204069b..d239ca3 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/Widget.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/Widget.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.ui.widgets; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -28,7 +28,7 @@ public abstract class Widget { public void mouseClicked(int mouseX, int mouseY, int button) {} public void mouseReleased(int mouseX, int mouseY, int button) { - ClickGUI.INSTANCE.unselect(this); + ClickGui.INSTANCE.unselect(this); } public void mouseDragged(int mouseX, int mouseY) {} @@ -36,7 +36,7 @@ public abstract class Widget { public void mouseScrolled(double amount) {} public boolean isHovered(int mouseX, int mouseY) { - if (!ClickGUI.INSTANCE.canSelect(this)) return false; + if (!ClickGui.INSTANCE.canSelect(this)) return false; return mouseX > x && mouseX < x + w && mouseY > y && mouseY < y + h; } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java index e494a3c..d7a0812 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.ui.widgets.buttons; import me.retucio.sputnik.module.Module; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.ModuleFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.ModulePanel; import me.retucio.sputnik.ui.widgets.Button; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -15,7 +15,7 @@ public class ModuleButton extends Button { private final Module module; public final int height = 18; - public ModuleButton(Module module, ModuleFrame parent, int offset) { + public ModuleButton(Module module, ModulePanel parent, int offset) { super(parent, offset); this.module = module; } @@ -45,14 +45,14 @@ public class ModuleButton extends Button { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) { // clic izquierdo para activar / desactivar el módulo module.toggle(); } else if (button == 1) { // clic derecho para el marco de ajustes (también lo cierra si está abierto) - if (ClickGUI.INSTANCE.isSettingsFrameOpen(module)) { - ClickGUI.INSTANCE.closeSettingsFrame(module); + if (ClickGui.INSTANCE.isSettingsPanelOpen(module)) { + ClickGui.INSTANCE.closeSettingsPanel(module); } else { - ClickGUI.INSTANCE.openSettingsFrame( + ClickGui.INSTANCE.openSettingsPanel( module, parent.getX() + parent.getW() + 120, parent.getY() + offset @@ -65,7 +65,7 @@ public class ModuleButton extends Button { // verifica si el puntero del ratón se encuentra sobre el botón del módulo @Override public boolean isHovered(int mouseX, int mouseY) { - return ClickGUI.INSTANCE.canSelect(this) + return ClickGui.INSTANCE.canSelect(this) && mouseX > parent.getX() && mouseX < parent.getX() + parent.getW() && mouseY > parent.getRenderY() + offset diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java index 86ee91f..6823fa9 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.widgets.buttons; import me.retucio.sputnik.module.setting.Setting; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.ui.widgets.Button; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.network.chat.Component; @@ -11,7 +11,7 @@ public abstract class SettingButton> extends Button { protected S setting; - public SettingButton(S setting, SettingsFrame parent, int offset) { + public SettingButton(S setting, SettingsPanel parent, int offset) { super(parent, offset); this.setting = setting; } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java index d25f354..cacda74 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java @@ -2,9 +2,9 @@ package me.retucio.sputnik.ui.widgets.buttons.settings; import me.retucio.sputnik.module.setting.settings.KeySetting; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; @@ -24,7 +24,7 @@ public class BindButton extends SettingButton { private boolean listening = false; - public BindButton(KeySetting setting, SettingsFrame parent, int offset) { + public BindButton(KeySetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; } @@ -46,11 +46,11 @@ public class BindButton extends SettingButton { public void mouseClicked(int mouseX, int mouseY, int button) { boolean hovered = isHovered(mouseX, mouseY); - if (hovered && ClickGUI.INSTANCE.trySelect(this)) { + if (hovered && ClickGui.INSTANCE.trySelect(this)) { if (listening) { List keys = new ArrayList<>(List.of(mc.options.keyMappings)); keys.removeAll(List.of(mc.options.debugKeys)); - boolean allowMultiple = ClientSettingsFrame.guiSettings.multipleKeybinds.getValue(); + boolean allowMultiple = ClientSettingsPanel.clientSettings.multipleKeybinds.getValue(); for (KeyMapping bind : keys) { if (bind.matches(new KeyEvent(button, 0, 0))) { @@ -90,7 +90,7 @@ public class BindButton extends SettingButton { for (KeyMapping bind : keys) { // no permitir usar la misma tecla para varias acciones, si el ajuste para esto está activado boolean keyAlreadyBound = bind.matches(new KeyEvent(key, 0, 0)); - boolean allowMultiple = ClientSettingsFrame.guiSettings.multipleKeybinds.getValue(); + boolean allowMultiple = ClientSettingsPanel.clientSettings.multipleKeybinds.getValue(); if (keyAlreadyBound && !allowMultiple) { ChatUtil.warn("esa tecla ya está cogida por " diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java index b693ce7..9fd5f46 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java @@ -5,8 +5,8 @@ import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; import me.retucio.sputnik.module.setting.settings.OptionSetting; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -22,7 +22,7 @@ public class ChooseButton extends SettingButton> { private final Module dummy; private final Map optionButtons = new HashMap<>(); - public ChooseButton(OptionSetting setting, SettingsFrame parent, int offset) { + public ChooseButton(OptionSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; @@ -54,10 +54,10 @@ public class ChooseButton extends SettingButton> { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { // click izquierdo / derecho: abrir marco if (button <= 1 && !KeyUtil.isShiftDown()) { - openFrame(); + openPanel(); // shift + clic derecho: restablecer valores } else if (button == 1 && KeyUtil.isShiftDown()) { setting.reset(); @@ -109,15 +109,15 @@ public class ChooseButton extends SettingButton> { } } - public void openFrame() { - if (ClickGUI.INSTANCE.isSettingsFrameOpen(dummy)) { - ClickGUI.INSTANCE.closeSettingsFrame(dummy); + public void openPanel() { + if (ClickGui.INSTANCE.isSettingsPanelOpen(dummy)) { + ClickGui.INSTANCE.closeSettingsPanel(dummy); return; } rebuildDummy(); - ClickGUI.INSTANCE.openListSettingsFrame( + ClickGui.INSTANCE.openListSettingsPanel( dummy, parent.getX() + 40, parent.getY() + 40 diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java index 09a4250..c99ff3c 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java @@ -2,8 +2,8 @@ package me.retucio.sputnik.ui.widgets.buttons.settings; import me.retucio.sputnik.module.setting.settings.ColorSetting; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import me.retucio.sputnik.util.render.DrawUtil; @@ -17,7 +17,7 @@ import java.util.List; public class ColorButton extends SettingButton { - public ColorButton(ColorSetting setting, SettingsFrame parent, int offset) { + public ColorButton(ColorSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; } @@ -56,10 +56,10 @@ public class ColorButton extends SettingButton { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) { // clic izq.: abrir selector de colores - ClickGUI.INSTANCE.openColorPickerFrame( + ClickGui.INSTANCE.openColorPickerPanel( setting.getSg().getModule(), setting, parent.getX() + parent.getW() + 120, parent.getRenderY() + offset); diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java index 1ad5147..91f681f 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java @@ -1,9 +1,9 @@ package me.retucio.sputnik.ui.widgets.buttons.settings; import me.retucio.sputnik.module.setting.settings.EnumSetting; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.ChatFormatting; @@ -18,7 +18,7 @@ import java.util.List; // botón para los ajustes tipo EnumSetting (de modo) public class CycleButton> extends SettingButton> { - public CycleButton(EnumSetting setting, SettingsFrame parent, int offset) { + public CycleButton(EnumSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; } @@ -40,7 +40,7 @@ public class CycleButton> extends SettingButton @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) { setting.cycle(); // clic izquierdo -> ciclar } else if (button == 1) { diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java index 74ca189..7169bf8 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java @@ -5,8 +5,8 @@ import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; import me.retucio.sputnik.module.setting.settings.ListSetting; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -22,7 +22,7 @@ public class ListButton extends SettingButton> { private final Map optionButtons = new HashMap<>(); - public ListButton(ListSetting setting, SettingsFrame parent, int offset) { + public ListButton(ListSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; @@ -64,16 +64,16 @@ public class ListButton extends SettingButton> { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { // clic izquierdo / derecho: abrir marco if (button <= 1 && !KeyUtil.isShiftDown()) { - if (ClickGUI.INSTANCE.isSettingsFrameOpen(dummy)) { - ClickGUI.INSTANCE.closeSettingsFrame(dummy); + if (ClickGui.INSTANCE.isSettingsPanelOpen(dummy)) { + ClickGui.INSTANCE.closeSettingsPanel(dummy); return; } rebuildDummy(); - ClickGUI.INSTANCE.openListSettingsFrame(dummy, parent.getX() + 40, parent.getY() + 40); + ClickGui.INSTANCE.openListSettingsPanel(dummy, parent.getX() + 40, parent.getY() + 40); // shift + clic derecho: restablecer valores } else if (button == 1 && KeyUtil.isShiftDown()) { setting.reset(); diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java index f53a727..84c777c 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java @@ -1,10 +1,10 @@ package me.retucio.sputnik.ui.widgets.buttons.settings; import me.retucio.sputnik.module.setting.settings.NumberSetting; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -20,7 +20,7 @@ public class SliderButton extends SettingButton { private boolean dragging = false; public final DecimalFormat df; // usar formato decimal para el valor del ajuste - public SliderButton(NumberSetting setting, SettingsFrame parent, int offset) { + public SliderButton(NumberSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; this.df = new DecimalFormat("#.##"); // solo mostrar dos décimales @@ -61,13 +61,13 @@ public class SliderButton extends SettingButton { // de no ser de esto, si se cierra la interfaz sin haber soltado el ratón mientras se arrastraba el valor, // al reabrir la interfaz se seguía arrastrando, aun habiendo soltado ya el clic if (key == GLFW.GLFW_KEY_ESCAPE - || key == ClientSettingsFrame.guiSettings.getKey()) + || key == ClientSettingsPanel.clientSettings.getKey()) dragging = false; } @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) dragging = true; // arrastrar con el clic izquierdo else if (button == 1 && KeyUtil.isShiftDown()) // restablecer al valor por defecto con shift + clic derecho diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java index 0e58aec..8a8efb5 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java @@ -2,8 +2,8 @@ package me.retucio.sputnik.ui.widgets.buttons.settings; import me.retucio.sputnik.module.setting.settings.StringSetting; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import me.retucio.sputnik.util.MiscUtil; @@ -19,7 +19,7 @@ public class TextButton extends SettingButton { private final StringSetting setting; private final StringBuilder buffer = new StringBuilder(); - public TextButton(StringSetting setting, SettingsFrame parent, int offset) { + public TextButton(StringSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; } @@ -39,7 +39,7 @@ public class TextButton extends SettingButton { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) { typing = true; buffer.setLength(0); diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java index dd12a47..b449457 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java @@ -2,8 +2,8 @@ package me.retucio.sputnik.ui.widgets.buttons.settings; import me.retucio.sputnik.module.setting.settings.BooleanSetting; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -16,7 +16,7 @@ public class ToggleButton extends SettingButton { private final BooleanSetting setting; - public ToggleButton(BooleanSetting setting, SettingsFrame parent, int offset) { + public ToggleButton(BooleanSetting setting, SettingsPanel parent, int offset) { super(setting, parent, offset); this.setting = setting; } @@ -39,7 +39,7 @@ public class ToggleButton extends SettingButton { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) setting.toggle(); // clic izquierdo para alternar else if (button == 1 && KeyUtil.isShiftDown()) // shift + clic derecho para restablecer al valor por defecto diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java b/src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java index 2d843c0..7d3a7a5 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.widgets.misc; -import me.retucio.sputnik.ui.screen.ClickGUI; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGui; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.ui.widgets.Widget; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -24,7 +24,7 @@ public class ScrollBarWidget extends Widget { @Override public void render(GuiGraphicsExtractor gui, int mouseX, int mouseY, float delta) { - if (contentHeight <= windowHeight || !ClientSettingsFrame.guiSettings.scrollBar.getValue()) return; + if (contentHeight <= windowHeight || !ClientSettingsPanel.clientSettings.scrollBar.getValue()) return; int trackX1 = mc.getWindow().getGuiScaledWidth() - 10; int trackX2 = trackX1 + 10; @@ -45,8 +45,8 @@ public class ScrollBarWidget extends Widget { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (button != 0 || !ClientSettingsFrame.guiSettings.scrollBar.getValue()) return; - if (isThumbHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (button != 0 || !ClientSettingsPanel.clientSettings.scrollBar.getValue()) return; + if (isThumbHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { dragging = true; dragY = mouseY; scrollStart = scrollOffset; @@ -55,13 +55,13 @@ public class ScrollBarWidget extends Widget { @Override public void mouseReleased(int mouseX, int mouseY, int button) { - ClickGUI.INSTANCE.unselect(this); + ClickGui.INSTANCE.unselect(this); dragging = false; } @Override public void mouseDragged(int mouseX, int mouseY) { - if (!dragging || !ClientSettingsFrame.guiSettings.scrollBar.getValue()) return; + if (!dragging || !ClientSettingsPanel.clientSettings.scrollBar.getValue()) return; int thumbHeight = getThumbHeight(); int trackHeight = windowHeight - thumbHeight; @@ -80,7 +80,7 @@ public class ScrollBarWidget extends Widget { } private boolean isThumbHovered(double mouseX, double mouseY) { - if (!ClickGUI.INSTANCE.canSelect(this)) return false; + if (!ClickGui.INSTANCE.canSelect(this)) return false; int trackX1 = mc.getWindow().getGuiScaledWidth() - 10; int trackX2 = trackX1 + 10; int thumbY = getThumbY(); diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java b/src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java index 6128f84..b770bf4 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java @@ -4,10 +4,10 @@ import me.retucio.sputnik.config.ConfigManager; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.OptionSetting; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.widgets.buttons.settings.ChooseButton; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import me.retucio.sputnik.ui.widgets.Widget; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.KeyUtil; @@ -43,7 +43,7 @@ public class SearchBarWidget extends Widget { ) ); private final ChooseButton dummyButton = new ChooseButton<>( - categories, new SettingsFrame(dummy, 0, 0, 50, 50), 0 + categories, new SettingsPanel(dummy, 0, 0, 50, 50), 0 ); @@ -51,13 +51,13 @@ public class SearchBarWidget extends Widget { super(x, y, w, h); categories.onUpdate(v -> { - if (ClickGUI.INSTANCE != null) ClickGUI.INSTANCE.setCategoryFilter(v); + if (ClickGui.INSTANCE != null) ClickGui.INSTANCE.setCategoryFilter(v); }); } @Override public void render(GuiGraphicsExtractor gui, int mouseX, int mouseY, float delta) { - if (!ClientSettingsFrame.guiSettings.searchBar.getValue()) return; + if (!ClientSettingsPanel.clientSettings.searchBar.getValue()) return; Color textFieldColor = isTextFieldHovered(mouseX, mouseY) ? Colors.buttonColor.brighter() @@ -103,23 +103,23 @@ public class SearchBarWidget extends Widget { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (button != 0 || !ClientSettingsFrame.guiSettings.searchBar.getValue()) return; - if (isHandleHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (button != 0 || !ClientSettingsPanel.clientSettings.searchBar.getValue()) return; + if (isHandleHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { dragging = true; dragX = mouseX - x; dragY = mouseY - y; } else if (isClearButtonHovered(mouseX, mouseY)) { buffer.setLength(0); } else if (isFilterButtonHovered(mouseX, mouseY)) { - openFilterFrame(mouseX, mouseY); + openFilterPanel(mouseX, mouseY); } - focused = isTextFieldHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this); + focused = isTextFieldHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this); } @Override public void mouseReleased(int mouseX, int mouseY, int button) { - if (!ClientSettingsFrame.guiSettings.searchBar.getValue()) return; - ClickGUI.INSTANCE.unselect(this); + if (!ClientSettingsPanel.clientSettings.searchBar.getValue()) return; + ClickGui.INSTANCE.unselect(this); if (button == 0 && dragging) { dragging = false; savePosition(); @@ -128,7 +128,7 @@ public class SearchBarWidget extends Widget { @Override public void onKey(int key, int action) { - if (!ClientSettingsFrame.guiSettings.searchBar.getValue()) return; + if (!ClientSettingsPanel.clientSettings.searchBar.getValue()) return; if (!focused || action == GLFW.GLFW_RELEASE) return; if (key == GLFW.GLFW_KEY_V && KeyUtil.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { @@ -175,32 +175,32 @@ public class SearchBarWidget extends Widget { } public boolean isHandleHovered(int mouseX, int mouseY) { - return ClickGUI.INSTANCE.canSelect(this) + return ClickGui.INSTANCE.canSelect(this) && mouseX > x && mouseX < x + 18 && mouseY > renderY && mouseY < renderY + h; } public boolean isTextFieldHovered(int mouseX, int mouseY) { - return ClickGUI.INSTANCE.canSelect(this) + return ClickGui.INSTANCE.canSelect(this) && mouseX > x + 20 && mouseX < x + w - 20 && mouseY > renderY + 2 && mouseY < renderY + h - 2 && !isFilterButtonHovered(mouseX, mouseY); } public boolean isClearButtonHovered(int mouseX, int mouseY) { - return ClickGUI.INSTANCE.canSelect(this) + return ClickGui.INSTANCE.canSelect(this) && mouseX > x + w - 15 && mouseX < x + w - 3 && mouseY > renderY + 3 && mouseY < renderY + h - 5; } public boolean isFilterButtonHovered(int mouseX, int mouseY) { - return ClickGUI.INSTANCE.canSelect(this) + return ClickGui.INSTANCE.canSelect(this) && mouseX > x + w - 37 && mouseX < x + w - 21 && mouseY > renderY + h / 2 - 8 && mouseY < renderY + h / 2 + 8; } public boolean isFocused() { - return focused && ClientSettingsFrame.guiSettings.searchBar.getValue(); + return focused && ClientSettingsPanel.clientSettings.searchBar.getValue(); } public void updateRenderY(int scrollOffset) { @@ -220,9 +220,9 @@ public class SearchBarWidget extends Widget { } } - private void openFilterFrame(int mouseX, int mouseY) { + private void openFilterPanel(int mouseX, int mouseY) { dummyButton.getParent().setX(mouseX); dummyButton.getParent().setY(mouseY); - dummyButton.openFrame(); + dummyButton.openPanel(); } } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/panels/ModulePanel.java similarity index 88% rename from src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/panels/ModulePanel.java index 384795f..113ceb7 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/panels/ModulePanel.java @@ -1,12 +1,12 @@ -package me.retucio.sputnik.ui.widgets.frames; +package me.retucio.sputnik.ui.widgets.panels; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.sputnik.ModuleFrameEvent; +import me.retucio.sputnik.event.sputnik.ModulePanelEvent; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.widgets.buttons.ModuleButton; -import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.ui.widgets.Panel; import me.retucio.sputnik.util.Colors; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; @@ -17,13 +17,13 @@ import java.util.List; // marco para los módulos -public class ModuleFrame extends Frame { +public class ModulePanel extends Panel { public boolean extended; public Minecraft mc = Minecraft.getInstance(); - public ModuleFrame(int x, int y, int w, int h) { + public ModulePanel(int x, int y, int w, int h) { super("módulos", x, y, w, h); dragging = false; extended = true; @@ -75,7 +75,7 @@ public class ModuleFrame extends Frame { gui.fill( // fondo para los botones x, renderY + h + 1, x + w, renderY + h + totalHeight, - Colors.frameBGColor.getRGB()); + Colors.panelBgColor.getRGB()); // dibujar los botones para cada módulo int buttonY = renderY + h + 1; @@ -92,14 +92,14 @@ public class ModuleFrame extends Frame { @Override public void mouseClicked(int mouseX, int mouseY, int button) { // registrar clics - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) { // clic izquierdo para arrastrarlo dragging = true; dragX = mouseX - x; dragY = mouseY - y; } else if (button == 1) { // clic derecho para extenderlo extended = !extended; - Sputnik.EVENT_BUS.post(new ModuleFrameEvent.Extend()); + Sputnik.EVENT_BUS.post(new ModulePanelEvent.Extend()); } } @@ -116,7 +116,7 @@ public class ModuleFrame extends Frame { // detectar cuándo se suelta el clic @Override public void mouseReleased(int mouseX, int mouseY, int button) { - ClickGUI.INSTANCE.unselect(this); + ClickGui.INSTANCE.unselect(this); if (button == 0 && dragging) dragging = false; @@ -130,7 +130,7 @@ public class ModuleFrame extends Frame { } if (isHovered(mouseX, mouseY)) - Sputnik.EVENT_BUS.post(new ModuleFrameEvent.Move()); + Sputnik.EVENT_BUS.post(new ModulePanelEvent.Move()); } // actualizar la posición al arrastrar el marco diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/panels/SettingsPanel.java similarity index 95% rename from src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/panels/SettingsPanel.java index c6faca8..aa6dd40 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/panels/SettingsPanel.java @@ -1,14 +1,14 @@ -package me.retucio.sputnik.ui.widgets.frames; +package me.retucio.sputnik.ui.widgets.panels; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.sputnik.SettingsFrameEvent; +import me.retucio.sputnik.event.sputnik.SettingsPanelEvent; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.*; import me.retucio.sputnik.module.setting.settings.*; import me.retucio.sputnik.ui.widgets.buttons.settings.*; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.widgets.buttons.*; -import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.ui.widgets.Panel; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -19,13 +19,13 @@ import java.util.List; // marco para los botones de los ajustes de cada módulo -public class SettingsFrame extends Frame>> { +public class SettingsPanel extends Panel>> { private Module module; protected List settingGroups; private static final int PADDING = 4; // para ser consistente - public SettingsFrame(Module module, int x, int y, int w, int h) { + public SettingsPanel(Module module, int x, int y, int w, int h) { super("ajustes de " + module.getName(), x, y, w, h); this.module = module; this.settingGroups = module.getSgs(); @@ -98,7 +98,7 @@ public class SettingsFrame extends Frame>> { } // fondo del marco - gui.fill(x, descBoxTop - PADDING + 1, x + w, descBoxTop + totalHeight, Colors.frameBGColor.getRGB()); + gui.fill(x, descBoxTop - PADDING + 1, x + w, descBoxTop + totalHeight, Colors.panelBgColor.getRGB()); // fondo de la descripción gui.fill(x + PADDING, descBoxTop, x + w - PADDING, descBoxBottom, Colors.buttonColor.getRGB()); @@ -162,9 +162,9 @@ public class SettingsFrame extends Frame>> { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (isCloseButtonHovered(mouseX, mouseY)) { - ClickGUI.INSTANCE.closeSettingsFrame(this.module); + ClickGui.INSTANCE.closeSettingsPanel(this.module); return; } if (button == 0) { @@ -172,7 +172,7 @@ public class SettingsFrame extends Frame>> { dragX = mouseX - x; dragY = mouseY - y; } else if (button == 1) { - ClickGUI.INSTANCE.closeSettingsFrame(module); + ClickGui.INSTANCE.closeSettingsPanel(module); } } @@ -198,7 +198,7 @@ public class SettingsFrame extends Frame>> { dragging = false; if (isHovered(mouseX, mouseY)) { - Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Move(this)); + Sputnik.EVENT_BUS.post(new SettingsPanelEvent.Move(this)); } } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/panels/settings/ClientSettingsPanel.java similarity index 73% rename from src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/panels/settings/ClientSettingsPanel.java index 87c2ed1..2dd2563 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/panels/settings/ClientSettingsPanel.java @@ -1,22 +1,22 @@ -package me.retucio.sputnik.ui.widgets.frames.settings; +package me.retucio.sputnik.ui.widgets.panels.settings; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.sputnik.GUISettingsFrameEvent; -import me.retucio.sputnik.module.modules.client.GUI; +import me.retucio.sputnik.event.sputnik.ClientSettingsPanelEvent; +import me.retucio.sputnik.module.modules.client.ClientSettingsModule; import me.retucio.sputnik.module.setting.SettingGroup; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.GuiGraphicsExtractor; -public class ClientSettingsFrame extends SettingsFrame { +public class ClientSettingsPanel extends SettingsPanel { - public static final GUI guiSettings = new GUI(); + public static final ClientSettingsModule clientSettings = new ClientSettingsModule(); public boolean extended = false; - public ClientSettingsFrame(int x, int y, int w, int h) { - super(guiSettings, x, y, w, h); + public ClientSettingsPanel(int x, int y, int w, int h) { + super(clientSettings, x, y, w, h); title = "ajustes del mod"; } @@ -46,14 +46,14 @@ public class ClientSettingsFrame extends SettingsFrame { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (button == 0) { dragging = true; dragX = mouseX - x; dragY = mouseY - y; } else if (button == 1) { extended = !extended; - Sputnik.EVENT_BUS.post(new GUISettingsFrameEvent.Extend()); + Sputnik.EVENT_BUS.post(new ClientSettingsPanelEvent.Extend()); } } @@ -76,9 +76,9 @@ public class ClientSettingsFrame extends SettingsFrame { @Override public void mouseReleased(int mouseX, int mouseY, int button) { - ClickGUI.INSTANCE.unselect(this); + ClickGui.INSTANCE.unselect(this); if (button == 0 && dragging) - Sputnik.EVENT_BUS.post(new GUISettingsFrameEvent.Move()); + Sputnik.EVENT_BUS.post(new ClientSettingsPanelEvent.Move()); super.mouseReleased(mouseX, mouseY, button); } diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ColorPickerFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/panels/settings/ColorPickerPanel.java similarity index 97% rename from src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ColorPickerFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/panels/settings/ColorPickerPanel.java index 9a5001f..18d365d 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ColorPickerFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/panels/settings/ColorPickerPanel.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.ui.widgets.frames.settings; +package me.retucio.sputnik.ui.widgets.panels.settings; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -9,8 +9,8 @@ import me.retucio.sputnik.module.setting.settings.NumberSetting; import me.retucio.sputnik.ui.widgets.buttons.*; import me.retucio.sputnik.ui.widgets.buttons.settings.SliderButton; import me.retucio.sputnik.ui.widgets.buttons.settings.ToggleButton; -import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; -import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.panels.SettingsPanel; +import me.retucio.sputnik.ui.screen.ClickGui; import me.retucio.sputnik.util.Colors; import me.retucio.sputnik.util.render.DrawUtil; import net.minecraft.client.gui.GuiGraphicsExtractor; @@ -18,7 +18,7 @@ import net.minecraft.client.gui.GuiGraphicsExtractor; import java.awt.*; -public class ColorPickerFrame extends SettingsFrame { +public class ColorPickerPanel extends SettingsPanel { private final ColorSetting colorSetting; private Color currentColor; @@ -39,7 +39,7 @@ public class ColorPickerFrame extends SettingsFrame { public final Module dummyModule; - public ColorPickerFrame(Module module, ColorSetting colorSetting, int x, int y, int w, int h) { + public ColorPickerPanel(Module module, ColorSetting colorSetting, int x, int y, int w, int h) { super(module, x, y, w, h); this.colorSetting = colorSetting; @@ -175,7 +175,7 @@ public class ColorPickerFrame extends SettingsFrame { int bgY2 = bgY1 + previewHeight + saturationBrightnessPickerHeight + alphaPickerHeight + buttonAreaHeight + (padding * 6) - 11; - gui.fill(bgX1, bgY1, bgX2, bgY2, Colors.frameBGColor.getRGB()); + gui.fill(bgX1, bgY1, bgX2, bgY2, Colors.panelBgColor.getRGB()); DrawUtil.drawBorder(gui, previewX, previewY, previewWidth, previewHeight, -1); @@ -314,9 +314,9 @@ public class ColorPickerFrame extends SettingsFrame { @Override public void mouseClicked(int mouseX, int mouseY, int button) { - if (isHovered(mouseX, mouseY) && ClickGUI.INSTANCE.trySelect(this)) { + if (isHovered(mouseX, mouseY) && ClickGui.INSTANCE.trySelect(this)) { if (isCloseButtonHovered(mouseX, mouseY)) { - ClickGUI.INSTANCE.closeSettingsFrame(this.dummyModule); + ClickGui.INSTANCE.closeSettingsPanel(this.dummyModule); return; } if (button == 0) { @@ -324,7 +324,7 @@ public class ColorPickerFrame extends SettingsFrame { dragX = (int) (mouseX - x); dragY = (int) (mouseY - y); } else if (button == 1) { - ClickGUI.INSTANCE.closeSettingsFrame(dummyModule); + ClickGui.INSTANCE.closeSettingsPanel(dummyModule); } } diff --git a/src/main/java/me/retucio/sputnik/util/ChatUtil.java b/src/main/java/me/retucio/sputnik/util/ChatUtil.java index 0366bac..7e3dfca 100644 --- a/src/main/java/me/retucio/sputnik/util/ChatUtil.java +++ b/src/main/java/me/retucio/sputnik/util/ChatUtil.java @@ -4,7 +4,7 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.command.CommandManager; import me.retucio.sputnik.event.sputnik.LoadModuleManagerEvent; -import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; @@ -16,7 +16,7 @@ public class ChatUtil { private static String prefix = getDefaultPrefix(); public static void onLoadModuleManager(LoadModuleManagerEvent event) { - prefix = Colors.getFormatting(Colors.mainColor) + "[" + ClientSettingsFrame.guiSettings.chatName.getValue() + "] "; + prefix = Colors.getFormatting(Colors.mainColor) + "[" + ClientSettingsPanel.clientSettings.chatName.getValue() + "] "; } public static void simulateChatMessage(String message) { @@ -80,7 +80,7 @@ public class ChatUtil { } public static String getJustPrefix() { - return ClientSettingsFrame.guiSettings.chatName.getValue(); + return ClientSettingsPanel.clientSettings.chatName.getValue(); } public static String getPrefixNoFormatting() { diff --git a/src/main/java/me/retucio/sputnik/util/Colors.java b/src/main/java/me/retucio/sputnik/util/Colors.java index 20f03ce..b213b01 100644 --- a/src/main/java/me/retucio/sputnik/util/Colors.java +++ b/src/main/java/me/retucio/sputnik/util/Colors.java @@ -4,20 +4,20 @@ import net.minecraft.ChatFormatting; import java.awt.Color; -import static me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame.guiSettings; +import static me.retucio.sputnik.ui.widgets.panels.settings.ClientSettingsPanel.clientSettings; // clase para los colores // si se ve especificado como color en algún lado "-1", significa blanco public class Colors { - public static int red = guiSettings.color.getR(); - public static int green = guiSettings.color.getG(); - public static int blue = guiSettings.color.getB(); - public static int alpha = guiSettings.color.getA(); + public static int red = clientSettings.color.getR(); + public static int green = clientSettings.color.getG(); + public static int blue = clientSettings.color.getB(); + public static int alpha = clientSettings.color.getA(); public static Color mainColor; - public static Color frameBGColor = new Color(40, 40, 40, 75); + public static Color panelBgColor = new Color(40, 40, 40, 75); public static Color buttonColor = new Color(75, 75, 75, 100); public static Color hudEditorScreenBackgroundColor = new Color(0, 0, 0, 120); public static Color instructionsTextColor = new Color(190, 190, 190, 255); diff --git a/src/main/java/me/retucio/sputnik/util/KeyUtil.java b/src/main/java/me/retucio/sputnik/util/KeyUtil.java index 7cb5f8c..f6944d9 100644 --- a/src/main/java/me/retucio/sputnik/util/KeyUtil.java +++ b/src/main/java/me/retucio/sputnik/util/KeyUtil.java @@ -83,6 +83,7 @@ public class KeyUtil { case GLFW.GLFW_KEY_PAGE_UP -> "pág. arriba"; case GLFW.GLFW_KEY_PAGE_DOWN -> "pág. abajo"; case GLFW.GLFW_KEY_CAPS_LOCK -> "bloq. mayús."; + case GLFW.GLFW_KEY_INSERT -> "insertar"; default -> { if (key >= GLFW.GLFW_KEY_F1 && key <= GLFW.GLFW_KEY_F25) yield "F" + (key - GLFW.GLFW_KEY_F1 + 1); // F1–F25 diff --git a/src/main/java/me/retucio/sputnik/util/MiscUtil.java b/src/main/java/me/retucio/sputnik/util/MiscUtil.java index 3536b76..31a1d4d 100644 --- a/src/main/java/me/retucio/sputnik/util/MiscUtil.java +++ b/src/main/java/me/retucio/sputnik/util/MiscUtil.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.util; import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.event.TickEvent; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.client.Hud; import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.Vec3i; import net.minecraft.world.phys.Vec3; @@ -57,12 +57,12 @@ public class MiscUtil { public static String getFormattedTime(long timeMillis) { try { - HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); + Hud hud = ModuleManager.INSTANCE.getModuleByClass(Hud.class); Instant instant = Instant.ofEpochMilli(timeMillis); ZoneOffset offset = ZoneOffset.ofHours(hud.timezone.getIntValue()); LocalTime time = LocalTime.from(instant.atOffset(offset)); - boolean is24 = hud.timeFormat.is(HUD.TimeFormat.TWENTY_FOUR_HOUR); + boolean is24 = hud.timeFormat.is(Hud.TimeFormat.TWENTY_FOUR_HOUR); DateTimeFormatter format = DateTimeFormatter.ofPattern(is24 ? "HH:mm" : "hh:mm a"); return time.format(format); } catch (Exception e) {