v4.6
This commit is contained in:
1 parent
65afbf6ae6
commit
c7b8e96d68
65 files changed
+502
-480
No files matched your search
@@ -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)
|
||||
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
@@ -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())
|
||||
|
||||
@@ -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<KeyMapping> 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 "
|
||||
|
||||
@@ -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<SharedSuggestionProvider> 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<SharedSuggestionProvider> 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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}));
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<String, ClientConfig.FrameData> map)
|
||||
private static void writeExtendableFrames(DataOutputStream out, Map<String, ClientConfig.PanelData> map)
|
||||
throws IOException {
|
||||
if (map == null) {
|
||||
out.writeInt(0);
|
||||
return;
|
||||
}
|
||||
out.writeInt(map.size());
|
||||
for (Map.Entry<String, ClientConfig.FrameData> entry : map.entrySet()) {
|
||||
for (Map.Entry<String, ClientConfig.PanelData> 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<String, ClientConfig.FrameData> readExtendableFrames(DataInputStream in)
|
||||
private static Map<String, ClientConfig.PanelData> readExtendablePanels(DataInputStream in)
|
||||
throws IOException {
|
||||
int size = in.readInt();
|
||||
Map<String, ClientConfig.FrameData> map = new HashMap<>(size);
|
||||
Map<String, ClientConfig.PanelData> 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;
|
||||
}
|
||||
|
||||
@@ -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<String, Object> settings = new HashMap<>();
|
||||
|
||||
// nombre del módulo -> posición (x, y)
|
||||
public Map<String, int[]> settingsFrames = new HashMap<>();
|
||||
public Map<String, int[]> settingsPanels = new HashMap<>();
|
||||
|
||||
// nombre del frame -> FrameData (que contiene extended, x & y)
|
||||
public Map<String, FrameData> extendableFrames = new HashMap<>();
|
||||
public Map<String, PanelData> extendablePanels = new HashMap<>();
|
||||
|
||||
// id del elemento del hud -> posición (x, y)
|
||||
public Map<String, int[]> hudPositions = new HashMap<>();
|
||||
@@ -34,7 +34,7 @@ public class ClientConfig {
|
||||
// id del elemento del hud -> true: visible / false: no visible
|
||||
public Map<String, Boolean> hudVisibilities = new HashMap<>();
|
||||
|
||||
// id del elemento del hud -> ruta de la imagen (NEW)
|
||||
// id del elemento del hud -> ruta de la imagen
|
||||
public Map<String, String> 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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
+1
-1
@@ -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 {}
|
||||
public class LoadClickGuiEvent extends Event {}
|
||||
+1
-1
@@ -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
|
||||
@@ -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; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
+6
-5
@@ -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();
|
||||
+3
-3
@@ -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,
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<Integer> {
|
||||
|
||||
public KeySetting(String name, String description, int defaultKey) {
|
||||
|
||||
@@ -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<HudElement> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<Component> getTooltip();
|
||||
|
||||
public String getId() { return id; }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
+96
-96
@@ -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<SettingsFrame> 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<SettingsPanel> 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<Widget> 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<SettingsFrame> frame = settingsFrames.stream()
|
||||
.filter(sf -> sf.getModule().equals(module))
|
||||
public SettingsPanel getSettingsPanelOfModule(Module module) {
|
||||
Optional<SettingsPanel> 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<SettingsFrame> 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<SettingsPanel> 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<Widget> getMiscWidgets() { return miscWidgets; }
|
||||
|
||||
public List<SettingsFrame> getSettingsFrames() {
|
||||
return settingsFrames;
|
||||
public List<SettingsPanel> getSettingsPanels() {
|
||||
return settingsPanels;
|
||||
}
|
||||
|
||||
public SearchBarWidget getSearchBar() {
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -6,7 +6,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public abstract class Frame<B extends Button> extends Widget {
|
||||
public abstract class Panel<B extends Button> extends Widget {
|
||||
|
||||
protected String title;
|
||||
|
||||
@@ -19,7 +19,7 @@ public abstract class Frame<B extends Button> 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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<S extends Setting<?>> 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;
|
||||
}
|
||||
|
||||
@@ -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<KeySetting> {
|
||||
|
||||
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<KeySetting> {
|
||||
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<KeyMapping> 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<KeySetting> {
|
||||
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 "
|
||||
|
||||
@@ -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<T> extends SettingButton<OptionSetting<T>> {
|
||||
private final Module dummy;
|
||||
private final Map<T, BooleanSetting> optionButtons = new HashMap<>();
|
||||
|
||||
public ChooseButton(OptionSetting<T> setting, SettingsFrame parent, int offset) {
|
||||
public ChooseButton(OptionSetting<T> setting, SettingsPanel parent, int offset) {
|
||||
super(setting, parent, offset);
|
||||
this.setting = setting;
|
||||
|
||||
@@ -54,10 +54,10 @@ public class ChooseButton<T> extends SettingButton<OptionSetting<T>> {
|
||||
|
||||
@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<T> extends SettingButton<OptionSetting<T>> {
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
@@ -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<ColorSetting> {
|
||||
|
||||
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<ColorSetting> {
|
||||
|
||||
@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);
|
||||
|
||||
@@ -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<E extends Enum<E>> extends SettingButton<EnumSetting<E>> {
|
||||
|
||||
public CycleButton(EnumSetting<E> setting, SettingsFrame parent, int offset) {
|
||||
public CycleButton(EnumSetting<E> setting, SettingsPanel parent, int offset) {
|
||||
super(setting, parent, offset);
|
||||
this.setting = setting;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ public class CycleButton<E extends Enum<E>> extends SettingButton<EnumSetting<E>
|
||||
|
||||
@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) {
|
||||
|
||||
@@ -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<T> extends SettingButton<ListSetting<T>> {
|
||||
|
||||
private final Map<T, BooleanSetting> optionButtons = new HashMap<>();
|
||||
|
||||
public ListButton(ListSetting<T> setting, SettingsFrame parent, int offset) {
|
||||
public ListButton(ListSetting<T> setting, SettingsPanel parent, int offset) {
|
||||
super(setting, parent, offset);
|
||||
this.setting = setting;
|
||||
|
||||
@@ -64,16 +64,16 @@ public class ListButton<T> extends SettingButton<ListSetting<T>> {
|
||||
|
||||
@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();
|
||||
|
||||
@@ -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<NumberSetting> {
|
||||
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<NumberSetting> {
|
||||
// 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
|
||||
|
||||
@@ -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<StringSetting> {
|
||||
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<StringSetting> {
|
||||
|
||||
@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);
|
||||
|
||||
@@ -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<BooleanSetting> {
|
||||
|
||||
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<BooleanSetting> {
|
||||
|
||||
@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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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<Category> 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();
|
||||
}
|
||||
}
|
||||
+11
-11
@@ -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<ModuleButton> {
|
||||
public class ModulePanel extends Panel<ModuleButton> {
|
||||
|
||||
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<ModuleButton> {
|
||||
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<ModuleButton> {
|
||||
@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<ModuleButton> {
|
||||
// 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<ModuleButton> {
|
||||
}
|
||||
|
||||
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
|
||||
+11
-11
@@ -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<SettingButton<? extends Setting<?>>> {
|
||||
public class SettingsPanel extends Panel<SettingButton<? extends Setting<?>>> {
|
||||
|
||||
private Module module;
|
||||
protected List<SettingGroup> 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<SettingButton<? extends Setting<?>>> {
|
||||
}
|
||||
|
||||
// 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<SettingButton<? extends Setting<?>>> {
|
||||
|
||||
@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<SettingButton<? extends Setting<?>>> {
|
||||
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<SettingButton<? extends Setting<?>>> {
|
||||
dragging = false;
|
||||
|
||||
if (isHovered(mouseX, mouseY)) {
|
||||
Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Move(this));
|
||||
Sputnik.EVENT_BUS.post(new SettingsPanelEvent.Move(this));
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -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);
|
||||
}
|
||||
+9
-9
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in new issue
Block a user