From f1eed6f957baf015c5466c9594e7c9b083f99171 Mon Sep 17 00:00:00 2001 From: retuci0 Date: Sun, 15 Feb 2026 22:41:02 +0100 Subject: [PATCH] v3.3 --- build.gradle | 19 +- cambios.md | 12 +- gradle.properties | 4 +- src/main/java/me/retucio/sputnik/Sputnik.java | 42 ++-- .../sputnik/command/CommandManager.java | 6 +- .../command/commands/EnderChestCommand.java | 4 +- .../command/commands/PluginsCommand.java | 4 +- .../command/commands/SpectateCommand.java | 4 +- .../retucio/sputnik/config/ClientConfig.java | 16 +- .../java/me/retucio/sputnik/event/Event.java | 15 -- .../me/retucio/sputnik/event/EventBus.java | 72 ------- .../event/{events => }/ShutdownEvent.java | 4 +- .../java/me/retucio/sputnik/event/Stage.java | 6 - .../retucio/sputnik/event/SubscribeEvent.java | 8 - .../sputnik/event/{events => }/TickEvent.java | 4 +- .../{events => }/input/ClientClickEvent.java | 2 +- .../event/{events => }/input/KeyEvent.java | 4 +- .../{events => }/input/MouseClickEvent.java | 4 +- .../{events => }/input/MouseScrollEvent.java | 4 +- .../interact/AttackBlockEvent.java | 4 +- .../interact/AttackEntityEvent.java | 4 +- .../interact/BlockShapeEvent.java | 4 +- .../{events => }/interact/BoatMoveEvent.java | 4 +- .../interact/BreakBlockEvent.java | 4 +- .../interact/ClipAtLedgeEvent.java | 4 +- .../interact/DamageItemEvent.java | 4 +- .../interact/InteractEntityEvent.java | 4 +- .../interact/OpenScreenEvent.java | 4 +- .../interact/PlaceBlockEvent.java | 4 +- .../interact/SwitchSlotEvent.java | 4 +- .../{events => }/interact/UseItemEvent.java | 4 +- .../{events => }/network/AddEntityEvent.java | 4 +- .../network/ChunkOcclusionEvent.java | 4 +- .../{events => }/network/DisconnectEvent.java | 4 +- .../{events => }/network/JoinWorldEvent.java | 4 +- .../{events => }/network/PacketEvent.java | 12 +- .../network/ReceiveMessageEvent.java | 10 +- .../network/RemoveEntityEvent.java | 4 +- .../network/SendMessageEvent.java | 4 +- .../render/ChangeRotationEvent.java | 4 +- .../{events => }/render/GetFOVEvent.java | 4 +- .../render/PerspectiveChangeEvent.java | 4 +- .../{events => }/render/Render2DEvent.java | 4 +- .../{events => }/render/Render3DEvent.java | 4 +- .../{events => }/render/RenderArmEvent.java | 4 +- .../render/RenderBlockOutlineEvent.java | 4 +- .../render/RenderBossbarEvent.java | 4 +- .../render/RenderHeldItemEvent.java | 4 +- .../sputnik/GUISettingsFrameEvent.java | 4 +- .../sputnik/LoadCapeManagerEvent.java | 4 +- .../sputnik/LoadClickGUIEvent.java | 4 +- .../sputnik/LoadCommandManagerEvent.java | 4 +- .../{events => }/sputnik/LoadConfigEvent.java | 4 +- .../sputnik/LoadModuleManagerEvent.java | 4 +- .../sputnik/ModuleFrameEvent.java | 4 +- .../sputnik/SettingsFrameEvent.java | 4 +- .../sputnik/ToggleModuleEvent.java | 4 +- .../sputnik/UpdateSettingEvent.java | 4 +- .../entity/AbstractBoatEntityMixin.java | 2 +- .../mixin/mixins/entity/EntityMixin.java | 2 +- .../mixin/mixins/hud/BossBarHudMixin.java | 2 +- .../mixins/hud/ChatHudInteractableMixin.java | 52 +++++ .../mixins/hud/ChatHudLineConsumerMixin.java | 18 ++ .../mixin/mixins/hud/ChatHudMixin.java | 2 +- .../mixin/mixins/hud/InGameHudMixin.java | 2 +- .../mixin/mixins/io/KeyboardMixin.java | 2 +- .../sputnik/mixin/mixins/io/MouseMixin.java | 4 +- .../sputnik/mixin/mixins/item/ItemMixin.java | 2 +- .../mixin/mixins/item/ItemStackMixin.java | 2 +- .../mixin/mixins/misc/GameOptionsMixin.java | 2 +- .../mixins/misc/MinecraftClientMixin.java | 12 +- .../mixins/network/ClientConnectionMixin.java | 10 +- .../ClientPlayNetworkHandlerMixin.java | 2 +- .../player/ClientPlayerEntityMixin.java | 2 +- .../ClientPlayerInteractionManagerMixin.java | 2 +- .../mixins/player/PlayerEntityMixin.java | 2 +- .../mixins/player/PlayerInventoryMixin.java | 2 +- .../EntityHitboxDebugRendererMixin.java | 9 + .../mixins/render/GameRendererMixin.java | 2 +- .../mixins/render/HeldItemRendererMixin.java | 4 +- .../mixins/render/WorldRendererMixin.java | 6 +- .../screen/CreativeInventoryScreenMixin.java | 2 +- .../mixin/mixins/screen/ScreenMixin.java | 2 +- .../world/BlockCollisionSpliteratorMixin.java | 2 +- .../world/ChunkOcclusionDataBuilderMixin.java | 2 +- .../mixin/mixins/world/ClientWorldMixin.java | 4 +- .../me/retucio/sputnik/module/Category.java | 1 + .../me/retucio/sputnik/module/Module.java | 12 +- .../retucio/sputnik/module/ModuleManager.java | 8 +- .../sputnik/module/modules/camera/Autism.java | 6 +- .../module/modules/camera/Freecam.java | 44 ++-- .../modules/camera/PerspectivePlus.java | 10 +- .../module/modules/camera/Rotations.java | 6 +- .../sputnik/module/modules/camera/Zoom.java | 10 +- .../sputnik/module/modules/client/GUI.java | 16 +- .../modules/combat/AttributeSwapper.java | 6 +- .../module/modules/combat/MaceKill.java | 6 +- .../combat/ProjectileTrajectories.java | 6 +- .../module/modules/combat/SpearKill.java | 1 + .../{misc => inventory}/BundleDupe.java | 14 +- .../CreativeInventoryHotbarKeybinds.java | 4 +- .../{player => inventory}/InventoryPlus.java | 16 +- .../{player => inventory}/Offhand.java | 4 +- .../{player => inventory}/PortalGUI.java | 4 +- .../module/modules/inventory/Replenish.java | 189 ++++++++++++++++++ .../{misc => inventory}/ShulkerPeek.java | 10 +- .../{movement => inventory}/UIMove.java | 4 +- .../sputnik/module/modules/misc/BookBot.java | 6 +- .../module/modules/misc/BossbarStack.java | 10 +- .../sputnik/module/modules/misc/ChatPlus.java | 40 ++-- .../module/modules/misc/ScreenshotPlus.java | 2 +- .../module/modules/misc/UnfocusedCpu.java | 5 +- .../module/modules/movement/BoatFly.java | 11 +- .../modules/movement/InfiniteElytra.java | 6 +- .../module/modules/movement/Jesus.java | 6 +- .../module/modules/movement/SafeWalk.java | 6 +- .../module/modules/network/LogoutSpots.java | 10 +- .../module/modules/network/PacketDelay.java | 12 +- .../module/modules/network/PacketMine.java | 27 ++- .../module/modules/network/Reconnect.java | 6 +- .../module/modules/player/AirPlace.java | 18 +- .../module/modules/player/AntiHunger.java | 6 +- .../module/modules/player/AutoFish.java | 6 +- .../module/modules/player/HandView.java | 12 +- .../sputnik/module/modules/player/NoFall.java | 8 +- .../module/modules/render/BlockESP.java | 6 +- .../module/modules/render/BlockOutline.java | 7 +- .../modules/render/BreakingProgress.java | 7 +- .../module/modules/render/EntityESP.java | 6 +- .../module/modules/render/Hitboxes.java | 2 +- .../module/modules/world/AutoSign.java | 10 +- .../module/modules/world/AutoTool.java | 10 +- .../module/modules/world/BlockInfo.java | 6 +- .../module/modules/world/ColoredSigns.java | 6 +- .../module/modules/world/LightOverlay.java | 6 +- .../modules/world/StrongholdTriangulator.java | 6 +- .../module/modules/world/TimeChanger.java | 6 +- .../sputnik/module/setting/Setting.java | 2 +- .../sputnik/ui/hud/HudEditorScreen.java | 4 +- .../ui/hud/elements/CustomTextElement.java | 4 +- .../retucio/sputnik/ui/screen/ClickGUI.java | 18 +- .../sputnik/ui/screen/PreviewScreen.java | 2 +- .../ui/widgets/frames/ModuleFrame.java | 2 +- .../ui/widgets/frames/SettingsFrame.java | 2 +- .../frames/settings/ClientSettingsFrame.java | 4 +- .../me/retucio/sputnik/util/ChatUtil.java | 5 +- .../retucio/sputnik/util/InventoryUtil.java | 35 +++- .../me/retucio/sputnik/util/MiscUtil.java | 4 +- .../me/retucio/sputnik/util/NetworkUtil.java | 4 +- src/main/resources/sputnik.accesswidener | 4 + src/main/resources/sputnik.mixins.json | 3 + 151 files changed, 736 insertions(+), 570 deletions(-) delete mode 100644 src/main/java/me/retucio/sputnik/event/Event.java delete mode 100644 src/main/java/me/retucio/sputnik/event/EventBus.java rename src/main/java/me/retucio/sputnik/event/{events => }/ShutdownEvent.java (70%) delete mode 100644 src/main/java/me/retucio/sputnik/event/Stage.java delete mode 100644 src/main/java/me/retucio/sputnik/event/SubscribeEvent.java rename src/main/java/me/retucio/sputnik/event/{events => }/TickEvent.java (77%) rename src/main/java/me/retucio/sputnik/event/{events => }/input/ClientClickEvent.java (92%) rename src/main/java/me/retucio/sputnik/event/{events => }/input/KeyEvent.java (85%) rename src/main/java/me/retucio/sputnik/event/{events => }/input/MouseClickEvent.java (83%) rename src/main/java/me/retucio/sputnik/event/{events => }/input/MouseScrollEvent.java (88%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/AttackBlockEvent.java (82%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/AttackEntityEvent.java (82%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/BlockShapeEvent.java (90%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/BoatMoveEvent.java (85%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/BreakBlockEvent.java (84%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/ClipAtLedgeEvent.java (78%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/DamageItemEvent.java (84%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/InteractEntityEvent.java (87%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/OpenScreenEvent.java (81%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/PlaceBlockEvent.java (89%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/SwitchSlotEvent.java (82%) rename src/main/java/me/retucio/sputnik/event/{events => }/interact/UseItemEvent.java (88%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/AddEntityEvent.java (80%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/ChunkOcclusionEvent.java (68%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/DisconnectEvent.java (87%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/JoinWorldEvent.java (81%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/PacketEvent.java (75%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/ReceiveMessageEvent.java (85%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/RemoveEntityEvent.java (81%) rename src/main/java/me/retucio/sputnik/event/{events => }/network/SendMessageEvent.java (83%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/ChangeRotationEvent.java (88%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/GetFOVEvent.java (80%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/PerspectiveChangeEvent.java (86%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/Render2DEvent.java (84%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/Render3DEvent.java (90%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/RenderArmEvent.java (89%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/RenderBlockOutlineEvent.java (85%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/RenderBossbarEvent.java (95%) rename src/main/java/me/retucio/sputnik/event/{events => }/render/RenderHeldItemEvent.java (89%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/GUISettingsFrameEvent.java (75%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/LoadCapeManagerEvent.java (52%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/LoadClickGUIEvent.java (51%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/LoadCommandManagerEvent.java (54%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/LoadConfigEvent.java (82%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/LoadModuleManagerEvent.java (53%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/ModuleFrameEvent.java (74%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/SettingsFrameEvent.java (90%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/ToggleModuleEvent.java (78%) rename src/main/java/me/retucio/sputnik/event/{events => }/sputnik/UpdateSettingEvent.java (87%) create mode 100644 src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudInteractableMixin.java create mode 100644 src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineConsumerMixin.java rename src/main/java/me/retucio/sputnik/module/modules/{misc => inventory}/BundleDupe.java (93%) rename src/main/java/me/retucio/sputnik/module/modules/{misc => inventory}/CreativeInventoryHotbarKeybinds.java (85%) rename src/main/java/me/retucio/sputnik/module/modules/{player => inventory}/InventoryPlus.java (89%) rename src/main/java/me/retucio/sputnik/module/modules/{player => inventory}/Offhand.java (97%) rename src/main/java/me/retucio/sputnik/module/modules/{player => inventory}/PortalGUI.java (82%) create mode 100644 src/main/java/me/retucio/sputnik/module/modules/inventory/Replenish.java rename src/main/java/me/retucio/sputnik/module/modules/{misc => inventory}/ShulkerPeek.java (95%) rename src/main/java/me/retucio/sputnik/module/modules/{movement => inventory}/UIMove.java (97%) diff --git a/build.gradle b/build.gradle index fe54386..c420968 100644 --- a/build.gradle +++ b/build.gradle @@ -11,20 +11,29 @@ base { } repositories { - maven { - name = "FDD Maven" - url = "https://maven.firstdark.dev/releases" - } + mavenCentral() + maven { url 'https://jitpack.io' } + maven { + name = "FDD Maven" + url = "https://maven.firstdark.dev/releases" + } } dependencies { // mc minecraft "com.mojang:minecraft:${project.minecraft_version}" + + // mappings mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + + // fabric & su api modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}" - // otros + // sistema de eventos + modImplementation "com.github.retuci0:neutrino:${project.neutrino_version}" + + // rpc de discord include(modImplementation "dev.firstdark.discordrpc:discord-rpc:1.0.3") } diff --git a/cambios.md b/cambios.md index d7d9e6a..a5b3b1a 100644 --- a/cambios.md +++ b/cambios.md @@ -1,18 +1,22 @@ -# v3.2 +# v3.3 ## novedades +- cambiado de sistema de eventos +- categoría de inventario + ### adiciones #### módulos nuevos: -- dupe de bundle: robado de .gg/dupes, usando un bundle y un libro de bookbot, dupea 63 del ítem deseado -- j. k. rowling: rellena libros con caca de manera automática +- reponer: repone items a medida que se usan de forma automática ### arreglos / mejoras -- ahora el aviso de actualizaciones ya funciona bien +- ahora el grosor de línea de hitboxes funciona +- ahora cabezas de chatplus funciona, a medias ## problemas reconocidos +- es posible que algunos módulos hayan dejado de funcionar correctamente, ya que he cambiado de sistema de eventos - muchos, pero repórtalos en la página de problemas si quieres para que queden bien registrados \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 0bd0a03..cb5feb9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,6 +8,8 @@ loom_version=1.13-SNAPSHOT fabric_api_version=0.140.2+1.21.11 -mod_version=3.1 +neutrino_version=1.1.0 + +mod_version=3.3 maven_group=me.retucio archives_base_name=sputnik \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/Sputnik.java b/src/main/java/me/retucio/sputnik/Sputnik.java index 3b0c799..4e60921 100644 --- a/src/main/java/me/retucio/sputnik/Sputnik.java +++ b/src/main/java/me/retucio/sputnik/Sputnik.java @@ -1,20 +1,18 @@ package me.retucio.sputnik; -import com.ibm.icu.text.CaseMap; +import com.github.retucio.neutrino.EventBus; import me.retucio.sputnik.cape.CapeManager; import me.retucio.sputnik.command.CommandManager; import me.retucio.sputnik.command.commands.BindCommand; import me.retucio.sputnik.config.ConfigManager; -import me.retucio.sputnik.event.EventBus; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.ShutdownEvent; -import me.retucio.sputnik.event.events.interact.OpenScreenEvent; -import me.retucio.sputnik.event.events.sputnik.LoadCapeManagerEvent; -import me.retucio.sputnik.event.events.sputnik.LoadClickGUIEvent; -import me.retucio.sputnik.event.events.sputnik.LoadCommandManagerEvent; -import me.retucio.sputnik.event.events.sputnik.LoadModuleManagerEvent; +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.LoadCommandManagerEvent; +import me.retucio.sputnik.event.sputnik.LoadModuleManagerEvent; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; @@ -53,14 +51,6 @@ import org.apache.logging.log4j.Logger; import org.lwjgl.glfw.GLFW; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.time.Duration; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; - public class Sputnik implements ClientModInitializer { @@ -94,15 +84,15 @@ public class Sputnik implements ClientModInitializer { VersionChecker.check(); - EVENT_BUS.register(this); + EVENT_BUS.subscribe(this); - EVENT_BUS.register(ChatUtil.class); - EVENT_BUS.register(DrawUtil.class); - EVENT_BUS.register(EntityUtil.class); - EVENT_BUS.register(InventoryUtil.class); - EVENT_BUS.register(MiscUtil.class); - EVENT_BUS.register(NetworkUtil.class); - EVENT_BUS.register(RenderUtil.class); + EVENT_BUS.subscribe(ChatUtil.class); + EVENT_BUS.subscribe(DrawUtil.class); + EVENT_BUS.subscribe(EntityUtil.class); + EVENT_BUS.subscribe(InventoryUtil.class); + EVENT_BUS.subscribe(MiscUtil.class); + EVENT_BUS.subscribe(NetworkUtil.class); + EVENT_BUS.subscribe(RenderUtil.class); Lists.init(); Textures.init(); @@ -243,7 +233,6 @@ public class Sputnik implements ClientModInitializer { } // notificar al usuario de que hay una actualización disponible, si la hay - @SubscribeEvent public void onSetScreen(OpenScreenEvent event) { if (VersionChecker.shouldShowScreen && event.getScreen() instanceof TitleScreen) { event.cancel(); @@ -252,7 +241,6 @@ public class Sputnik implements ClientModInitializer { } } - @SubscribeEvent public void onStop(ShutdownEvent event) { ConfigManager.save(); } diff --git a/src/main/java/me/retucio/sputnik/command/CommandManager.java b/src/main/java/me/retucio/sputnik/command/CommandManager.java index 3432da0..7cd6b88 100644 --- a/src/main/java/me/retucio/sputnik/command/CommandManager.java +++ b/src/main/java/me/retucio/sputnik/command/CommandManager.java @@ -1,10 +1,10 @@ package me.retucio.sputnik.command; +import com.github.retucio.neutrino.EventListener; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.command.commands.*; -import me.retucio.sputnik.event.SubscribeEvent; import net.minecraft.client.MinecraftClient; import net.minecraft.command.CommandSource; @@ -52,8 +52,8 @@ public class CommandManager { for (Command command : commands) { for (Method method : command.getClass().getDeclaredMethods()) { - if (method.isAnnotationPresent(SubscribeEvent.class)) { - Sputnik.EVENT_BUS.register(command); + if (method.isAnnotationPresent(EventListener.class)) { + Sputnik.EVENT_BUS.subscribe(command); break; } } diff --git a/src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java b/src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java index 64c5bee..8db9f7f 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java @@ -2,8 +2,7 @@ package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import me.retucio.sputnik.command.Command; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.TickEvent; +import me.retucio.sputnik.event.TickEvent; import me.retucio.sputnik.ui.screen.PreviewScreen; import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.InventoryUtil; @@ -35,7 +34,6 @@ public class EnderChestCommand extends Command { }); } - @SubscribeEvent public void onTick(TickEvent.Post event) { if (shouldOpenEchest) { shouldOpenEchest = false; diff --git a/src/main/java/me/retucio/sputnik/command/commands/PluginsCommand.java b/src/main/java/me/retucio/sputnik/command/commands/PluginsCommand.java index ed27f36..044fc32 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/PluginsCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/PluginsCommand.java @@ -6,8 +6,7 @@ import com.mojang.brigadier.tree.CommandNode; import com.mojang.brigadier.tree.RootCommandNode; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.command.Command; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.util.ChatUtil; import net.minecraft.client.network.ClientCommandSource; @@ -90,7 +89,6 @@ public class PluginsCommand extends Command { node.getChildren().forEach(this::checkNodeForPlugins); } - @SubscribeEvent private void onPacketReceive(PacketEvent.Receive event) { if (!scanning) return; diff --git a/src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java b/src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java index b02f2c9..869b669 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java @@ -3,8 +3,7 @@ package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import me.retucio.sputnik.command.Command; import me.retucio.sputnik.command.args.EntityArgumentType; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; +import me.retucio.sputnik.event.input.KeyEvent; import me.retucio.sputnik.util.EntityUtil; import net.minecraft.command.CommandSource; import net.minecraft.entity.Entity; @@ -38,7 +37,6 @@ public class SpectateCommand extends Command { ); } - @SubscribeEvent public void onKey(KeyEvent event) { if (mc.getCameraEntity() != mc.player && mc.currentScreen == null && event.getKey() == GLFW.GLFW_KEY_ESCAPE && event.getAction() != GLFW.GLFW_RELEASE ) { diff --git a/src/main/java/me/retucio/sputnik/config/ClientConfig.java b/src/main/java/me/retucio/sputnik/config/ClientConfig.java index 2204a15..0c180db 100644 --- a/src/main/java/me/retucio/sputnik/config/ClientConfig.java +++ b/src/main/java/me/retucio/sputnik/config/ClientConfig.java @@ -1,7 +1,6 @@ package me.retucio.sputnik.config; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.sputnik.*; +import me.retucio.sputnik.event.sputnik.*; import me.retucio.sputnik.module.setting.settings.*; import me.retucio.sputnik.ui.screen.ClickGUI; @@ -38,19 +37,17 @@ public class ClientConfig { public Map hudImagePaths = new HashMap<>(); // posición de la barra de búsqueda (x, y) - public int[] searchBarPosition = new int[]{340, 16}; + public int[] searchBarPosition = new int[] { 340, 16 }; public ClientConfig() { - EVENT_BUS.register(this); + EVENT_BUS.subscribe(this); } - @SubscribeEvent public void onToggleModule(ToggleModuleEvent event) { ConfigManager.setModuleState(event.getModule()); } @SuppressWarnings("rawtypes") - @SubscribeEvent public void onUpdateSetting(UpdateSettingEvent event) { if (mc == null || !event.shouldSave()) return; @@ -71,24 +68,20 @@ public class ClientConfig { ConfigManager.setSetting(event.getSetting(), value); } - @SubscribeEvent public void onOpenSettingsFrame(SettingsFrameEvent.Open event) { ConfigManager.setFramePosition(event.getFrame()); } - @SubscribeEvent public void onCloseSettingsFrame(SettingsFrameEvent.Close event) { settingsFrames.remove(event.getFrame().getModule().getName()); ConfigManager.save(); } - @SubscribeEvent public void onMoveSettingsFrame(SettingsFrameEvent.Move event) { settingsFrames.replace(event.getFrame().getModule().getName(), new int[]{event.getFrame().getX(), event.getFrame().getY()}); ConfigManager.save(); } - @SubscribeEvent public void onExtendModuleFrame(ModuleFrameEvent.Extend event) { extendableFrames.put("M", new FrameData( ClickGUI.INSTANCE.getModulesFrame().getX(), @@ -96,7 +89,6 @@ public class ClientConfig { ClickGUI.INSTANCE.getModulesFrame().extended)); } - @SubscribeEvent public void onMoveModuleFrame(ModuleFrameEvent.Move event) { extendableFrames.replace("M", new FrameData( ClickGUI.INSTANCE.getModulesFrame().getX(), @@ -104,7 +96,6 @@ public class ClientConfig { ClickGUI.INSTANCE.getModulesFrame().extended)); } - @SubscribeEvent public void onExtendGUISettingsFrame(GUISettingsFrameEvent.Extend event) { extendableFrames.put("S", new FrameData( ClickGUI.INSTANCE.getGuiSettingsFrame().getX(), @@ -112,7 +103,6 @@ public class ClientConfig { ClickGUI.INSTANCE.getGuiSettingsFrame().extended)); } - @SubscribeEvent public void onMoveGUISettingsFrame(GUISettingsFrameEvent.Move event) { extendableFrames.replace("S", new FrameData( ClickGUI.INSTANCE.getGuiSettingsFrame().getX(), diff --git a/src/main/java/me/retucio/sputnik/event/Event.java b/src/main/java/me/retucio/sputnik/event/Event.java deleted file mode 100644 index 4ebf64c..0000000 --- a/src/main/java/me/retucio/sputnik/event/Event.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.retucio.sputnik.event; - -// evento base, cancelable (usado en mixins) -public class Event { - - private boolean cancelled; - - public boolean isCancelled() { - return cancelled; - } - - public void cancel() { - cancelled = true; - } -} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/EventBus.java b/src/main/java/me/retucio/sputnik/event/EventBus.java deleted file mode 100644 index bdb4f8a..0000000 --- a/src/main/java/me/retucio/sputnik/event/EventBus.java +++ /dev/null @@ -1,72 +0,0 @@ -package me.retucio.sputnik.event; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.*; - -// al llamar un evento, se guarda en el bus de eventos, de donde luego se puede detectar si ese evento ha sucedido -public class EventBus { - - private final Map, List> listeners = new HashMap<>(); - - private record ListenerMethod(Object instance, Method method) {} - - public void register(Object listener) { - Class targetClass; - - if (listener instanceof Class clazz) { - targetClass = clazz; // "listeners" estáticos - listener = null; - } else { - targetClass = listener.getClass(); - } - - for (Method method : targetClass.getDeclaredMethods()) { - if (!method.isAnnotationPresent(SubscribeEvent.class)) continue; - if (method.getParameterCount() != 1) continue; - - Class eventType = method.getParameterTypes()[0]; - method.setAccessible(true); - - if (listener == null && !Modifier.isStatic(method.getModifiers())) continue; - - listeners.computeIfAbsent(eventType, k -> new ArrayList<>()) - .add(new ListenerMethod(listener, method)); - } - } - - public void subscribe(Object listener) { register(listener); } - - public void unregister(Object listener) { - for (List list : listeners.values()) { - list.removeIf(lm -> lm.instance == listener); - } - } - - public void unsubscribe(Object listener) { unregister(listener); } - - public T post(T event) { - List list = listeners.get(event.getClass()); - if (list != null) { - for (ListenerMethod lm : new ArrayList<>(list)) { // copiar para evitar CME - try { - lm.method.invoke(lm.instance, event); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - return event; - } - - public boolean isRegistered(Object listener) { - for (List list : listeners.values()) { - for (ListenerMethod lm : list) { - if (lm.instance == listener) { - return true; - } - } - } - return false; - } -} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java b/src/main/java/me/retucio/sputnik/event/ShutdownEvent.java similarity index 70% rename from src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java rename to src/main/java/me/retucio/sputnik/event/ShutdownEvent.java index 471da5e..e112000 100644 --- a/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java +++ b/src/main/java/me/retucio/sputnik/event/ShutdownEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events; +package me.retucio.sputnik.event; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; diff --git a/src/main/java/me/retucio/sputnik/event/Stage.java b/src/main/java/me/retucio/sputnik/event/Stage.java deleted file mode 100644 index f3b2872..0000000 --- a/src/main/java/me/retucio/sputnik/event/Stage.java +++ /dev/null @@ -1,6 +0,0 @@ -package me.retucio.sputnik.event; - -public enum Stage { - PRE, // antes de que haya sucedido - POST; // después de que haya sucedido -} diff --git a/src/main/java/me/retucio/sputnik/event/SubscribeEvent.java b/src/main/java/me/retucio/sputnik/event/SubscribeEvent.java deleted file mode 100644 index 8b7d6c3..0000000 --- a/src/main/java/me/retucio/sputnik/event/SubscribeEvent.java +++ /dev/null @@ -1,8 +0,0 @@ -package me.retucio.sputnik.event; - -import java.lang.annotation.*; - -// anotación para registar un "listener", que escucha cuando se llama un evento -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -public @interface SubscribeEvent {} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/events/TickEvent.java b/src/main/java/me/retucio/sputnik/event/TickEvent.java similarity index 77% rename from src/main/java/me/retucio/sputnik/event/events/TickEvent.java rename to src/main/java/me/retucio/sputnik/event/TickEvent.java index 9e644c6..3e05452 100644 --- a/src/main/java/me/retucio/sputnik/event/events/TickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/TickEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events; +package me.retucio.sputnik.event; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/input/ClientClickEvent.java b/src/main/java/me/retucio/sputnik/event/input/ClientClickEvent.java similarity index 92% rename from src/main/java/me/retucio/sputnik/event/events/input/ClientClickEvent.java rename to src/main/java/me/retucio/sputnik/event/input/ClientClickEvent.java index df8158b..8796cd2 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/ClientClickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/input/ClientClickEvent.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.event.events.input; +package me.retucio.sputnik.event.input; import me.retucio.sputnik.module.modules.misc.ChatPlus; import net.minecraft.text.ClickEvent; diff --git a/src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java b/src/main/java/me/retucio/sputnik/event/input/KeyEvent.java similarity index 85% rename from src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java rename to src/main/java/me/retucio/sputnik/event/input/KeyEvent.java index 933350b..8b0143e 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java +++ b/src/main/java/me/retucio/sputnik/event/input/KeyEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.input; +package me.retucio.sputnik.event.input; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.io.KeyboardMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java b/src/main/java/me/retucio/sputnik/event/input/MouseClickEvent.java similarity index 83% rename from src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java rename to src/main/java/me/retucio/sputnik/event/input/MouseClickEvent.java index 127b49d..26978ab 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/input/MouseClickEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.input; +package me.retucio.sputnik.event.input; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.io.MouseMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java b/src/main/java/me/retucio/sputnik/event/input/MouseScrollEvent.java similarity index 88% rename from src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java rename to src/main/java/me/retucio/sputnik/event/input/MouseScrollEvent.java index e0e1434..e0bec26 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java +++ b/src/main/java/me/retucio/sputnik/event/input/MouseScrollEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.input; +package me.retucio.sputnik.event.input; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.io.MouseMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/AttackBlockEvent.java b/src/main/java/me/retucio/sputnik/event/interact/AttackBlockEvent.java similarity index 82% rename from src/main/java/me/retucio/sputnik/event/events/interact/AttackBlockEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/AttackBlockEvent.java index b8f4d22..683b260 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/AttackBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/AttackBlockEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java b/src/main/java/me/retucio/sputnik/event/interact/AttackEntityEvent.java similarity index 82% rename from src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/AttackEntityEvent.java index 810dff7..e678a84 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/AttackEntityEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.entity.Entity; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/BlockShapeEvent.java b/src/main/java/me/retucio/sputnik/event/interact/BlockShapeEvent.java similarity index 90% rename from src/main/java/me/retucio/sputnik/event/events/interact/BlockShapeEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/BlockShapeEvent.java index 1511691..a279bbe 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/BlockShapeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/BlockShapeEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/BoatMoveEvent.java b/src/main/java/me/retucio/sputnik/event/interact/BoatMoveEvent.java similarity index 85% rename from src/main/java/me/retucio/sputnik/event/events/interact/BoatMoveEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/BoatMoveEvent.java index 5209c9e..2218b58 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/BoatMoveEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/BoatMoveEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import net.minecraft.entity.vehicle.AbstractBoatEntity; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java b/src/main/java/me/retucio/sputnik/event/interact/BreakBlockEvent.java similarity index 84% rename from src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/BreakBlockEvent.java index 210b976..92dba2f 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/BreakBlockEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/ClipAtLedgeEvent.java b/src/main/java/me/retucio/sputnik/event/interact/ClipAtLedgeEvent.java similarity index 78% rename from src/main/java/me/retucio/sputnik/event/events/interact/ClipAtLedgeEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/ClipAtLedgeEvent.java index 1685472..7f04da2 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/ClipAtLedgeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/ClipAtLedgeEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; public class ClipAtLedgeEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java b/src/main/java/me/retucio/sputnik/event/interact/DamageItemEvent.java similarity index 84% rename from src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/DamageItemEvent.java index 5b2ac53..60cb485 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/DamageItemEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.item.ItemStackMixin; import net.minecraft.item.ItemStack; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java b/src/main/java/me/retucio/sputnik/event/interact/InteractEntityEvent.java similarity index 87% rename from src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/InteractEntityEvent.java index e42adbd..8104fbd 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/InteractEntityEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.entity.Entity; import net.minecraft.util.Hand; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java b/src/main/java/me/retucio/sputnik/event/interact/OpenScreenEvent.java similarity index 81% rename from src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/OpenScreenEvent.java index b50f378..9c4b9d9 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/OpenScreenEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; import net.minecraft.client.gui.screen.Screen; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java b/src/main/java/me/retucio/sputnik/event/interact/PlaceBlockEvent.java similarity index 89% rename from src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/PlaceBlockEvent.java index d34ef66..eaa84d3 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/PlaceBlockEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java b/src/main/java/me/retucio/sputnik/event/interact/SwitchSlotEvent.java similarity index 82% rename from src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/SwitchSlotEvent.java index 5c1fae5..b7d3346 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/SwitchSlotEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; public class SwitchSlotEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java b/src/main/java/me/retucio/sputnik/event/interact/UseItemEvent.java similarity index 88% rename from src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java rename to src/main/java/me/retucio/sputnik/event/interact/UseItemEvent.java index 162e374..edcfe88 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/interact/UseItemEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.interact; +package me.retucio.sputnik.event.interact; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; import net.minecraft.item.ItemStack; import net.minecraft.util.Hand; diff --git a/src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java b/src/main/java/me/retucio/sputnik/event/network/AddEntityEvent.java similarity index 80% rename from src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/network/AddEntityEvent.java index cd17af6..1cd0c75 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/AddEntityEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.world.ClientWorldMixin; import net.minecraft.entity.Entity; diff --git a/src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java b/src/main/java/me/retucio/sputnik/event/network/ChunkOcclusionEvent.java similarity index 68% rename from src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java rename to src/main/java/me/retucio/sputnik/event/network/ChunkOcclusionEvent.java index 61cae4f..e03368f 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/ChunkOcclusionEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.world.ChunkOcclusionDataBuilderMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java b/src/main/java/me/retucio/sputnik/event/network/DisconnectEvent.java similarity index 87% rename from src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java rename to src/main/java/me/retucio/sputnik/event/network/DisconnectEvent.java index b4b1eaa..c5cf5c5 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/DisconnectEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.network.ClientConnectionMixin; import net.minecraft.client.network.ServerInfo; import net.minecraft.network.DisconnectionInfo; diff --git a/src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java b/src/main/java/me/retucio/sputnik/event/network/JoinWorldEvent.java similarity index 81% rename from src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java rename to src/main/java/me/retucio/sputnik/event/network/JoinWorldEvent.java index 5fb29f8..f837f74 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/JoinWorldEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; import net.minecraft.client.world.ClientWorld; diff --git a/src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java b/src/main/java/me/retucio/sputnik/event/network/PacketEvent.java similarity index 75% rename from src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java rename to src/main/java/me/retucio/sputnik/event/network/PacketEvent.java index ff6a0f2..7ffac2d 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/PacketEvent.java @@ -1,7 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; -import me.retucio.sputnik.event.Stage; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.network.ClientConnectionMixin; import net.minecraft.network.packet.Packet; @@ -16,20 +15,15 @@ public class PacketEvent { public static class Send extends Event { private final Packet packet; - private final Stage stage; public Send(Packet packet, Stage stage) { this.packet = packet; - this.stage = stage; + this.setStage(stage); } public Packet getPacket() { return packet; } - - public Stage getStage() { - return stage; - } } public static class Receive extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java b/src/main/java/me/retucio/sputnik/event/network/ReceiveMessageEvent.java similarity index 85% rename from src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java rename to src/main/java/me/retucio/sputnik/event/network/ReceiveMessageEvent.java index c4a0477..f78c7da 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/ReceiveMessageEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.hud.ChatHudMixin; import net.minecraft.client.gui.hud.MessageIndicator; import net.minecraft.text.Text; @@ -12,7 +12,7 @@ public class ReceiveMessageEvent extends Event { private Text text; private MessageIndicator indicator; - private int id; + private final int id; private boolean modified = false; public ReceiveMessageEvent(Text text, MessageIndicator indicator, int id) { @@ -43,5 +43,7 @@ public class ReceiveMessageEvent extends Event { return modified; } - + public int getId() { + return id; + } } diff --git a/src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java b/src/main/java/me/retucio/sputnik/event/network/RemoveEntityEvent.java similarity index 81% rename from src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/network/RemoveEntityEvent.java index 2882ca4..b01ed20 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/RemoveEntityEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.world.ClientWorldMixin; import net.minecraft.entity.Entity; diff --git a/src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java b/src/main/java/me/retucio/sputnik/event/network/SendMessageEvent.java similarity index 83% rename from src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java rename to src/main/java/me/retucio/sputnik/event/network/SendMessageEvent.java index 322966a..16b6dd2 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java +++ b/src/main/java/me/retucio/sputnik/event/network/SendMessageEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.network; +package me.retucio.sputnik.event.network; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.network.ClientPlayNetworkHandlerMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java b/src/main/java/me/retucio/sputnik/event/render/ChangeRotationEvent.java similarity index 88% rename from src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java rename to src/main/java/me/retucio/sputnik/event/render/ChangeRotationEvent.java index 1ca5dbc..fb63cc1 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/ChangeRotationEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.entity.EntityMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java b/src/main/java/me/retucio/sputnik/event/render/GetFOVEvent.java similarity index 80% rename from src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java rename to src/main/java/me/retucio/sputnik/event/render/GetFOVEvent.java index e5b377c..da9ee16 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/GetFOVEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.render.GameRendererMixin; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java b/src/main/java/me/retucio/sputnik/event/render/PerspectiveChangeEvent.java similarity index 86% rename from src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java rename to src/main/java/me/retucio/sputnik/event/render/PerspectiveChangeEvent.java index f5f8f84..0eebed4 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/PerspectiveChangeEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.misc.GameOptionsMixin; import net.minecraft.client.option.Perspective; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/Render2DEvent.java b/src/main/java/me/retucio/sputnik/event/render/Render2DEvent.java similarity index 84% rename from src/main/java/me/retucio/sputnik/event/events/render/Render2DEvent.java rename to src/main/java/me/retucio/sputnik/event/render/Render2DEvent.java index 1a242f5..13c4234 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/Render2DEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/Render2DEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.render.RenderTickCounter; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java b/src/main/java/me/retucio/sputnik/event/render/Render3DEvent.java similarity index 90% rename from src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java rename to src/main/java/me/retucio/sputnik/event/render/Render3DEvent.java index 237db8e..a100d1a 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/Render3DEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.render.WorldRendererMixin; import net.minecraft.client.render.Camera; import net.minecraft.client.render.RenderTickCounter; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java b/src/main/java/me/retucio/sputnik/event/render/RenderArmEvent.java similarity index 89% rename from src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java rename to src/main/java/me/retucio/sputnik/event/render/RenderArmEvent.java index 2a58ca4..805fde3 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/RenderArmEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderBlockOutlineEvent.java b/src/main/java/me/retucio/sputnik/event/render/RenderBlockOutlineEvent.java similarity index 85% rename from src/main/java/me/retucio/sputnik/event/events/render/RenderBlockOutlineEvent.java rename to src/main/java/me/retucio/sputnik/event/render/RenderBlockOutlineEvent.java index cd67acb..bea4d6b 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderBlockOutlineEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/RenderBlockOutlineEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; public class RenderBlockOutlineEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java b/src/main/java/me/retucio/sputnik/event/render/RenderBossbarEvent.java similarity index 95% rename from src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java rename to src/main/java/me/retucio/sputnik/event/render/RenderBossbarEvent.java index 827c023..4c867f0 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/RenderBossbarEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.hud.BossBarHudMixin; import net.minecraft.client.gui.hud.ClientBossBar; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java b/src/main/java/me/retucio/sputnik/event/render/RenderHeldItemEvent.java similarity index 89% rename from src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java rename to src/main/java/me/retucio/sputnik/event/render/RenderHeldItemEvent.java index eb5eed8..c6aa11d 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/render/RenderHeldItemEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.render; +package me.retucio.sputnik.event.render; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/GUISettingsFrameEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/GUISettingsFrameEvent.java similarity index 75% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/GUISettingsFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/GUISettingsFrameEvent.java index d6cd9c8..d83bec5 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/GUISettingsFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/GUISettingsFrameEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; // se genera cada que se interactúa con el marco de ajustes de la interfaz public class GUISettingsFrameEvent { diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCapeManagerEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/LoadCapeManagerEvent.java similarity index 52% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCapeManagerEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/LoadCapeManagerEvent.java index 41c9183..e8861c9 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCapeManagerEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/LoadCapeManagerEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; // se genera cuando carga el gestor de capas public class LoadCapeManagerEvent extends Event {} diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadClickGUIEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGUIEvent.java similarity index 51% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/LoadClickGUIEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGUIEvent.java index 63dfd3c..97e4ccb 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadClickGUIEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/LoadClickGUIEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; // se genera cuando carga la interfaz del mod public class LoadClickGUIEvent extends Event {} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCommandManagerEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/LoadCommandManagerEvent.java similarity index 54% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCommandManagerEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/LoadCommandManagerEvent.java index 39e8b1c..e14efce 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCommandManagerEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/LoadCommandManagerEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; // se genera cuando carga el gestor de comandos public class LoadCommandManagerEvent extends Event {} diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/LoadConfigEvent.java similarity index 82% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/LoadConfigEvent.java index 80c43f7..deb96af 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/LoadConfigEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; public class LoadConfigEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadModuleManagerEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/LoadModuleManagerEvent.java similarity index 53% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/LoadModuleManagerEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/LoadModuleManagerEvent.java index ef6ec0e..14631b3 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadModuleManagerEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/LoadModuleManagerEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; // se genera cuando carga el gestor de módulos public class LoadModuleManagerEvent extends Event {} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/ModuleFrameEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/ModuleFrameEvent.java similarity index 74% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/ModuleFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/ModuleFrameEvent.java index febec77..c17339f 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/ModuleFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/ModuleFrameEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; // se genera cada que se interactúa con el marco de módulos public class ModuleFrameEvent { diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/SettingsFrameEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/SettingsFrameEvent.java similarity index 90% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/SettingsFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/SettingsFrameEvent.java index 0de7814..7f193a6 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/SettingsFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/SettingsFrameEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +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 diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/ToggleModuleEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/ToggleModuleEvent.java similarity index 78% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/ToggleModuleEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/ToggleModuleEvent.java index f5dd665..b17a35d 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/ToggleModuleEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/ToggleModuleEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.module.Module; // se genera cada que se enciende o apaga un módulo diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/UpdateSettingEvent.java b/src/main/java/me/retucio/sputnik/event/sputnik/UpdateSettingEvent.java similarity index 87% rename from src/main/java/me/retucio/sputnik/event/events/sputnik/UpdateSettingEvent.java rename to src/main/java/me/retucio/sputnik/event/sputnik/UpdateSettingEvent.java index 24045f5..015aa0e 100644 --- a/src/main/java/me/retucio/sputnik/event/events/sputnik/UpdateSettingEvent.java +++ b/src/main/java/me/retucio/sputnik/event/sputnik/UpdateSettingEvent.java @@ -1,6 +1,6 @@ -package me.retucio.sputnik.event.events.sputnik; +package me.retucio.sputnik.event.sputnik; -import me.retucio.sputnik.event.Event; +import com.github.retucio.neutrino.Event; import me.retucio.sputnik.module.setting.Setting; // se genera cada que se cambia el valor de un ajuste diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java index 8e94aff..77e797d 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.entity; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.interact.BoatMoveEvent; +import me.retucio.sputnik.event.interact.BoatMoveEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.movement.BoatFly; import net.minecraft.entity.MovementType; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java index 60897a2..2386e88 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.entity; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.sputnik.event.events.render.ChangeRotationEvent; +import me.retucio.sputnik.event.render.ChangeRotationEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; import me.retucio.sputnik.module.modules.camera.Freelook; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java index f05b298..854ff75 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.mixin.mixins.hud; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.sputnik.event.events.render.RenderBossbarEvent; +import me.retucio.sputnik.event.render.RenderBossbarEvent; import net.minecraft.client.gui.hud.BossBarHud; import net.minecraft.client.gui.hud.ClientBossBar; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudInteractableMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudInteractableMixin.java new file mode 100644 index 0000000..93eb38a --- /dev/null +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudInteractableMixin.java @@ -0,0 +1,52 @@ +package me.retucio.sputnik.mixin.mixins.hud; + +import com.llamalad7.mixinextras.injector.ModifyReceiver; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; +import net.minecraft.client.font.Alignment; +import net.minecraft.client.font.DrawnTextConsumer; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.hud.ChatHud; +import net.minecraft.text.OrderedText; +import net.minecraft.util.math.ColorHelper; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.ModifyArg; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(ChatHud.Interactable.class) +public abstract class ChatHudInteractableMixin { + + @Unique + private static ChatPlus chatPlus; + + @Shadow @Final + private DrawContext context; + + @Inject(method = "", at = @At("TAIL")) + private void getModules(DrawContext context, TextRenderer textRenderer, int mouseX, int mouseY, boolean bl, CallbackInfo ci) { + chatPlus = ModuleManager.INSTANCE.getModuleByClass(ChatPlus.class); + } + + @ModifyReceiver(method = "text", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/DrawnTextConsumer;text(Lnet/minecraft/client/font/Alignment;IILnet/minecraft/client/font/DrawnTextConsumer$Transformation;Lnet/minecraft/text/OrderedText;)V")) + private DrawnTextConsumer onRender_beforeDrawTextWithShadow(DrawnTextConsumer instance, Alignment alignment, int x, int y, DrawnTextConsumer.Transformation transformation, OrderedText orderedText) { + chatPlus.beforeDrawMessage(context, y, ColorHelper.getWhite(transformation.opacity())); + return instance; + } + + @ModifyArg(method = "text", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/DrawnTextConsumer;text(Lnet/minecraft/client/font/Alignment;IILnet/minecraft/client/font/DrawnTextConsumer$Transformation;Lnet/minecraft/text/OrderedText;)V"), index = 1) + private int modifyX(int x) { + return (chatPlus.isEnabled() && chatPlus.showHeads.getValue()) ? x + 10 : x; + } + + @Inject(method = "text", at = @At("TAIL")) + private void onRender_afterDrawTextWithShadow(int y, float f, OrderedText text, CallbackInfoReturnable cir) { + chatPlus.afterDrawMessage(); + } +} diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineConsumerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineConsumerMixin.java new file mode 100644 index 0000000..bc56da7 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineConsumerMixin.java @@ -0,0 +1,18 @@ +package me.retucio.sputnik.mixin.mixins.hud; + +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; +import net.minecraft.client.gui.hud.ChatHudLine; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(targets = "net.minecraft.client.gui.hud.ChatHud$1", remap = false) +public abstract class ChatHudLineConsumerMixin { + + @Inject(method = "accept", at = @At("HEAD")) + private void setLine(ChatHudLine.Visible line, int y, float opacity, CallbackInfo ci) { + ModuleManager.INSTANCE.getModuleByClass(ChatPlus.class).line = line; + } +} diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java index d2f7af4..6b58130 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.mixin.mixins.hud; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.sputnik.event.events.network.ReceiveMessageEvent; +import me.retucio.sputnik.event.network.ReceiveMessageEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.ChatPlus; import me.retucio.sputnik.util.interfaces.IChatHud; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java index 2c0d51e..2bcfb22 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.mixin.mixins.hud; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.render.Render2DEvent; +import me.retucio.sputnik.event.render.Render2DEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.ChatPlus; import me.retucio.sputnik.module.modules.camera.Freecam; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java index a29c002..b1f25b2 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.io; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.input.KeyEvent; +import me.retucio.sputnik.event.input.KeyEvent; import net.minecraft.client.Keyboard; import net.minecraft.client.input.KeyInput; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java index 34cb3bf..7427924 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.io; -import me.retucio.sputnik.event.events.input.MouseClickEvent; -import me.retucio.sputnik.event.events.input.MouseScrollEvent; +import me.retucio.sputnik.event.input.MouseClickEvent; +import me.retucio.sputnik.event.input.MouseScrollEvent; import net.minecraft.client.Mouse; import net.minecraft.client.input.MouseInput; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java index bac98aa..cf22beb 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.item; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.misc.ShulkerPeek; +import me.retucio.sputnik.module.modules.inventory.ShulkerPeek; import net.minecraft.block.ShulkerBoxBlock; import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.item.BlockItem; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java index aeb4f91..a3114d7 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.mixin.mixins.item; -import me.retucio.sputnik.event.events.interact.DamageItemEvent; +import me.retucio.sputnik.event.interact.DamageItemEvent; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.server.network.ServerPlayerEntity; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java index f626058..8421a2c 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.mixin.mixins.misc; -import me.retucio.sputnik.event.events.render.PerspectiveChangeEvent; +import me.retucio.sputnik.event.render.PerspectiveChangeEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; import net.minecraft.client.option.GameOptions; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java index 4cbc853..9b88663 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java @@ -2,15 +2,13 @@ package me.retucio.sputnik.mixin.mixins.misc; import com.llamalad7.mixinextras.sugar.Local; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.network.JoinWorldEvent; -import me.retucio.sputnik.event.events.interact.OpenScreenEvent; -import me.retucio.sputnik.event.events.ShutdownEvent; -import me.retucio.sputnik.event.events.TickEvent; -import me.retucio.sputnik.event.events.interact.UseItemEvent; +import me.retucio.sputnik.event.network.JoinWorldEvent; +import me.retucio.sputnik.event.interact.OpenScreenEvent; +import me.retucio.sputnik.event.ShutdownEvent; +import me.retucio.sputnik.event.TickEvent; +import me.retucio.sputnik.event.interact.UseItemEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.player.FastUse; -import me.retucio.sputnik.ui.screen.UpdateScreen; -import me.retucio.sputnik.util.VersionChecker; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.world.ClientWorld; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java index 46a7a93..7206637 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java @@ -1,10 +1,10 @@ package me.retucio.sputnik.mixin.mixins.network; +import com.github.retucio.neutrino.Event; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; -import me.retucio.sputnik.event.Stage; -import me.retucio.sputnik.event.events.network.DisconnectEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import me.retucio.sputnik.event.network.DisconnectEvent; +import me.retucio.sputnik.event.network.PacketEvent; import net.minecraft.network.ClientConnection; import net.minecraft.network.DisconnectionInfo; import net.minecraft.network.packet.Packet; @@ -23,13 +23,13 @@ public abstract class ClientConnectionMixin { @Inject(method = "send(Lnet/minecraft/network/packet/Packet;Lio/netty/channel/ChannelFutureListener;)V", at = @At("HEAD"), cancellable = true) private void onSendPacketPre(Packet packet, ChannelFutureListener channelFutureListener, CallbackInfo ci) { - PacketEvent.Send event = EVENT_BUS.post(new PacketEvent.Send(packet, Stage.PRE)); + PacketEvent.Send event = EVENT_BUS.post(new PacketEvent.Send(packet, Event.Stage.PRE)); if (event.isCancelled()) ci.cancel(); } @Inject(method = "send(Lnet/minecraft/network/packet/Packet;Lio/netty/channel/ChannelFutureListener;)V", at = @At("TAIL"), cancellable = true) private void onSendPacketPost(Packet packet, ChannelFutureListener channelFutureListener, CallbackInfo ci) { - PacketEvent.Send event = EVENT_BUS.post(new PacketEvent.Send(packet, Stage.POST)); + PacketEvent.Send event = EVENT_BUS.post(new PacketEvent.Send(packet, Event.Stage.POST)); if (event.isCancelled()) ci.cancel(); } diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java index c8f62d3..dc34fb6 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.mixin.mixins.network; import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.command.CommandManager; -import me.retucio.sputnik.event.events.network.SendMessageEvent; +import me.retucio.sputnik.event.network.SendMessageEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.NoRender; import me.retucio.sputnik.util.ChatUtil; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java index 83ac412..c836265 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java @@ -5,7 +5,7 @@ import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.world.NoMiningInterruptions; -import me.retucio.sputnik.module.modules.player.PortalGUI; +import me.retucio.sputnik.module.modules.inventory.PortalGUI; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.util.hit.EntityHitResult; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java index f2dae32..05bf5fd 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.mixin.mixins.player; -import me.retucio.sputnik.event.events.interact.*; +import me.retucio.sputnik.event.interact.*; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; import me.retucio.sputnik.module.modules.player.FastUse; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java index c6b99db..ee921b1 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.mixin.mixins.player; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.interact.ClipAtLedgeEvent; +import me.retucio.sputnik.event.interact.ClipAtLedgeEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.Nametags; import net.minecraft.entity.EntityType; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerInventoryMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerInventoryMixin.java index 2c5a836..ed93d7a 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerInventoryMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerInventoryMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.player; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.interact.SwitchSlotEvent; +import me.retucio.sputnik.event.interact.SwitchSlotEvent; import net.minecraft.entity.player.PlayerInventory; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/render/EntityHitboxDebugRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/EntityHitboxDebugRendererMixin.java index 3574629..dda56ec 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/render/EntityHitboxDebugRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/EntityHitboxDebugRendererMixin.java @@ -2,9 +2,11 @@ package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.Hitboxes; +import net.minecraft.client.render.DrawStyle; import net.minecraft.client.render.debug.EntityHitboxDebugRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.ModifyVariable; @Mixin(EntityHitboxDebugRenderer.class) @@ -16,4 +18,11 @@ public abstract class EntityHitboxDebugRendererMixin { if (hitboxes.isEnabled()) return hitboxes.color.getRGB(); return original; } + + @ModifyArg(method = "drawHitbox", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/debug/gizmo/GizmoDrawing;box(Lnet/minecraft/util/math/Box;Lnet/minecraft/client/render/DrawStyle;)Lnet/minecraft/world/debug/gizmo/VisibilityConfigurable;")) + private DrawStyle modifyHitboxLineWidth(DrawStyle original) { + Hitboxes hitboxes = ModuleManager.INSTANCE.getModuleByClass(Hitboxes.class); + if (hitboxes.isEnabled()) return DrawStyle.stroked(original.stroke(), hitboxes.lineWidth.getFloatValue()); + return original; + } } diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java index 0d30ce3..42bc5c5 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.render; -import me.retucio.sputnik.event.events.render.GetFOVEvent; +import me.retucio.sputnik.event.render.GetFOVEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; import me.retucio.sputnik.module.modules.misc.UnfocusedCpu; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java index 1800b14..44176c3 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.sputnik.event.events.render.RenderHeldItemEvent; -import me.retucio.sputnik.event.events.render.RenderArmEvent; +import me.retucio.sputnik.event.render.RenderHeldItemEvent; +import me.retucio.sputnik.event.render.RenderArmEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.player.HandView; import net.minecraft.client.MinecraftClient; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java index dce3f61..1b4c478 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java @@ -3,8 +3,8 @@ package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.buffers.GpuBufferSlice; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.render.Render3DEvent; -import me.retucio.sputnik.event.events.render.RenderBlockOutlineEvent; +import me.retucio.sputnik.event.render.Render3DEvent; +import me.retucio.sputnik.event.render.RenderBlockOutlineEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; import me.retucio.sputnik.module.modules.render.NoRender; @@ -15,10 +15,8 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.RotationAxis; import net.minecraft.util.profiler.Profiler; import org.joml.Matrix4f; -import org.joml.Matrix4fc; import org.joml.Vector4f; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java index 9a71f20..d94426d 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java @@ -4,7 +4,7 @@ import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import me.retucio.sputnik.module.ModuleManager; -import me.retucio.sputnik.module.modules.misc.CreativeInventoryHotbarKeybinds; +import me.retucio.sputnik.module.modules.inventory.CreativeInventoryHotbarKeybinds; import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; import net.minecraft.client.input.KeyInput; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java index a85688e..15c7a2b 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.mixin.mixins.screen; import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.command.CommandManager; import me.retucio.sputnik.config.ConfigManager; -import me.retucio.sputnik.event.events.input.ClientClickEvent; +import me.retucio.sputnik.event.input.ClientClickEvent; import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java index 6559527..f833489 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.mixin.mixins.world; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.interact.BlockShapeEvent; +import me.retucio.sputnik.event.interact.BlockShapeEvent; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java index 6603470..6f52527 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.mixin.mixins.world; -import me.retucio.sputnik.event.events.network.ChunkOcclusionEvent; +import me.retucio.sputnik.event.network.ChunkOcclusionEvent; import net.minecraft.client.render.chunk.ChunkOcclusionDataBuilder; import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java index e2a9f91..36dc76d 100644 --- a/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.mixin.mixins.world; -import me.retucio.sputnik.event.events.network.AddEntityEvent; -import me.retucio.sputnik.event.events.network.RemoveEntityEvent; +import me.retucio.sputnik.event.network.AddEntityEvent; +import me.retucio.sputnik.event.network.RemoveEntityEvent; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/me/retucio/sputnik/module/Category.java b/src/main/java/me/retucio/sputnik/module/Category.java index 306d6ce..50ad859 100644 --- a/src/main/java/me/retucio/sputnik/module/Category.java +++ b/src/main/java/me/retucio/sputnik/module/Category.java @@ -12,6 +12,7 @@ public enum Category { RENDER("renderizado"), NETWORK("red"), + INVENTORY("inventario"), CLIENT("cliente"), MISC("misc."), diff --git a/src/main/java/me/retucio/sputnik/module/Module.java b/src/main/java/me/retucio/sputnik/module/Module.java index 17468b2..5fdf5ad 100644 --- a/src/main/java/me/retucio/sputnik/module/Module.java +++ b/src/main/java/me/retucio/sputnik/module/Module.java @@ -1,9 +1,9 @@ package me.retucio.sputnik.module; +import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.config.ConfigManager; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.sputnik.ToggleModuleEvent; +import me.retucio.sputnik.event.sputnik.ToggleModuleEvent; import me.retucio.sputnik.module.setting.SettingGroup; import me.retucio.sputnik.module.setting.settings.BooleanSetting; import me.retucio.sputnik.module.setting.settings.EnumSetting; @@ -104,8 +104,8 @@ public class Module { public void onEnable() { if (notify.getValue()) ChatUtil.info(getName() + " fue activado"); for (Method method : getClass().getDeclaredMethods()) - if (method.isAnnotationPresent(SubscribeEvent.class)) { - Sputnik.EVENT_BUS.register(this); + if (method.isAnnotationPresent(EventListener.class)) { + Sputnik.EVENT_BUS.subscribe(this); break; } Sputnik.EVENT_BUS.post(new ToggleModuleEvent(this)); @@ -113,8 +113,8 @@ public class Module { public void onDisable() { if (notify.getValue()) ChatUtil.info(getName() + " fue desactivado"); - if (Sputnik.EVENT_BUS.isRegistered(this)) - Sputnik.EVENT_BUS.unregister(this); + if (Sputnik.EVENT_BUS.isSubscribed(this)) + Sputnik.EVENT_BUS.unsubscribe(this); Sputnik.EVENT_BUS.post(new ToggleModuleEvent(this)); } diff --git a/src/main/java/me/retucio/sputnik/module/ModuleManager.java b/src/main/java/me/retucio/sputnik/module/ModuleManager.java index b0070d0..a31ae5c 100644 --- a/src/main/java/me/retucio/sputnik/module/ModuleManager.java +++ b/src/main/java/me/retucio/sputnik/module/ModuleManager.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module; +import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.SubscribeEvent; import me.retucio.sputnik.module.modules.client.DiscordRPC; import me.retucio.sputnik.module.modules.client.HUD; import me.retucio.sputnik.module.modules.camera.*; @@ -9,6 +9,7 @@ import me.retucio.sputnik.module.modules.combat.AttributeSwapper; import me.retucio.sputnik.module.modules.combat.MaceKill; import me.retucio.sputnik.module.modules.combat.ProjectileTrajectories; import me.retucio.sputnik.module.modules.combat.SpearKill; +import me.retucio.sputnik.module.modules.inventory.*; import me.retucio.sputnik.module.modules.misc.*; import me.retucio.sputnik.module.modules.movement.*; import me.retucio.sputnik.module.modules.network.*; @@ -51,8 +52,8 @@ public class ModuleManager { // registrar los "listeners" necesarios for (Module module : getEnabledModules()) { for (Method method : module.getClass().getDeclaredMethods()) { - if (method.isAnnotationPresent(SubscribeEvent.class)) { - Sputnik.EVENT_BUS.register(module); + if (method.isAnnotationPresent(EventListener.class)) { + Sputnik.EVENT_BUS.subscribe(module); break; } } @@ -90,6 +91,7 @@ public class ModuleManager { add(new ChatPlus()); add(new CreativeInventoryHotbarKeybinds()); add(new FakePlayer()); + add(new Replenish()); add(new ScreenshotPlus()); add(new ShulkerPeek()); add(new UnfocusedCpu()); diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/Autism.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Autism.java index bf090ba..d11cd35 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/Autism.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Autism.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.camera; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.EnumSetting; @@ -50,7 +50,7 @@ public class Autism extends Module { )); } - @SubscribeEvent + @EventListener private void onPacketSend(PacketEvent.Send event) { if (event.getPacket() instanceof PlayerMoveC2SPacket.LookAndOnGround packet && packet.getYaw(yaw) != yaw) event.cancel(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java index a1561f6..05b69e6 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java @@ -1,14 +1,14 @@ package me.retucio.sputnik.module.modules.camera; -import me.retucio.sputnik.event.Stage; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; -import me.retucio.sputnik.event.events.input.MouseClickEvent; -import me.retucio.sputnik.event.events.input.MouseScrollEvent; -import me.retucio.sputnik.event.events.interact.*; -import me.retucio.sputnik.event.events.network.ChunkOcclusionEvent; -import me.retucio.sputnik.event.events.network.DisconnectEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.Event; +import com.github.retucio.neutrino.EventListener; +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.interact.*; +import me.retucio.sputnik.event.network.ChunkOcclusionEvent; +import me.retucio.sputnik.event.network.DisconnectEvent; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.mixin.mixins.entity.EntityMixin; import me.retucio.sputnik.mixin.mixins.io.KeyInputMixin; import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; @@ -207,10 +207,10 @@ public class Freecam extends Module { pos.set(pos.x + dx, pos.y + dy, pos.z + dz); } - @SubscribeEvent + @EventListener private void onSendPacket(PacketEvent.Send event) { if (!isEnabled() || !cancelActionPackets.getValue()) return; - if (event.getStage() != Stage.PRE) return; + if (event.getStage() != Event.Stage.PRE) return; Packet packet = event.getPacket(); if (packet instanceof PlayerActionC2SPacket @@ -221,7 +221,7 @@ public class Freecam extends Module { } } - @SubscribeEvent + @EventListener private void onKey(KeyEvent event) { if (KeyUtil.isKeyDown(GLFW.GLFW_KEY_F3)) return; if (mc.currentScreen != null) return; @@ -254,7 +254,7 @@ public class Freecam extends Module { if (shouldCancel) event.cancel(); } - @SubscribeEvent + @EventListener private void onMouseClick(MouseClickEvent event) { // por si el restrasado del usuario usa el ratón para moverse if (KeyUtil.isKeyDown(GLFW.GLFW_KEY_F3)) return; if (mc.currentScreen != null) return; @@ -287,7 +287,7 @@ public class Freecam extends Module { if (shouldCancel) event.cancel(); } - @SubscribeEvent + @EventListener private void onMouseScroll(MouseScrollEvent event) { if (scrollSens.getValue() > 0 && mc.currentScreen == null && scrollKey.isDown()) { speed += event.getVertical() / 4 * (scrollSens.getValue() * speed); @@ -296,17 +296,17 @@ public class Freecam extends Module { } } - @SubscribeEvent + @EventListener private void onChunkOcclusion(ChunkOcclusionEvent event) { event.cancel(); } - @SubscribeEvent + @EventListener private void onLeaveGame(DisconnectEvent event) { toggle(); } - @SubscribeEvent + @EventListener private void onPacketReceive(PacketEvent.Receive event) { if (mc.player == null) return; // el jugador probablemente nunca sea nulo bajo estas circunstancias pero quién sabe @@ -321,7 +321,7 @@ public class Freecam extends Module { } } - @SubscribeEvent + @EventListener private void onOpenScreen(OpenScreenEvent event) { unpress(); stopMoving(); @@ -332,22 +332,22 @@ public class Freecam extends Module { // los paquetes ya se cancelan, pero visualmente estos eventos se siguen dando - @SubscribeEvent + @EventListener private void onBreakBlock(BreakBlockEvent event) { if (cancelActionPackets.getValue()) event.cancel(); } - @SubscribeEvent + @EventListener private void onPlaceBlock(PlaceBlockEvent event) { if (cancelActionPackets.getValue()) event.cancel(); } - @SubscribeEvent + @EventListener private void onInteractEntity(InteractEntityEvent event) { if (cancelActionPackets.getValue()) event.cancel(); } - @SubscribeEvent + @EventListener private void onAttack(AttackEntityEvent event) { if (cancelActionPackets.getValue()) event.cancel(); } diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java b/src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java index aeacd90..3f3eb76 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.camera; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.MouseScrollEvent; -import me.retucio.sputnik.event.events.render.PerspectiveChangeEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.input.MouseScrollEvent; +import me.retucio.sputnik.event.render.PerspectiveChangeEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -45,12 +45,12 @@ public class PerspectivePlus extends Module { super.onEnable(); } - @SubscribeEvent + @EventListener private void onPerspectiveChange(PerspectiveChangeEvent event) { distance = defaultDistance.getValue(); } - @SubscribeEvent + @EventListener private void onMouseScroll(MouseScrollEvent event) { if (mc.options.getPerspective() == net.minecraft.client.option.Perspective.FIRST_PERSON || mc.currentScreen != null || scrollSens.getValue() <= 0) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java index 96a48d0..aa7a229 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.camera; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.ChangeRotationEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.ChangeRotationEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -40,7 +40,7 @@ public class Rotations extends Module { ); } - @SubscribeEvent + @EventListener private void onChangeRotation(ChangeRotationEvent event) { if (smooth.getValue() && (event.getYaw() != yaw.getFloatValue() || event.getPitch() != pitch.getFloatValue())){ diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java index 875cedb..0c79b79 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java @@ -1,15 +1,14 @@ package me.retucio.sputnik.module.modules.camera; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.GetFOVEvent; -import me.retucio.sputnik.event.events.input.MouseScrollEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.GetFOVEvent; +import me.retucio.sputnik.event.input.MouseScrollEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; import me.retucio.sputnik.module.setting.settings.BooleanSetting; import me.retucio.sputnik.module.setting.settings.KeySetting; import me.retucio.sputnik.module.setting.settings.NumberSetting; -import me.retucio.sputnik.ui.screen.UpdateScreen; import org.lwjgl.glfw.GLFW; // continúa en GameRendererMixin @@ -88,7 +87,6 @@ public class Zoom extends Module { mc.options.getMouseSensitivity().setValue(prevMouseSens * mouseSensMultiplier.getValue()); } - @SubscribeEvent private void onMouseScroll(MouseScrollEvent event) { boolean key = scrollKey.getValue() == GLFW.GLFW_KEY_UNKNOWN || scrollKey.isDown(); if (isEnabled() && scrollSens.getValue() > 0 && key) { @@ -99,7 +97,7 @@ public class Zoom extends Module { } } - @SubscribeEvent + @EventListener private void onGetFov(GetFOVEvent event) { event.setFov((float) (event.getFov() / value)); diff --git a/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java b/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java index 0c21db2..a000e71 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java +++ b/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java @@ -1,11 +1,11 @@ package me.retucio.sputnik.module.modules.client; +import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.command.CommandManager; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.TickEvent; -import me.retucio.sputnik.event.events.sputnik.LoadClickGUIEvent; -import me.retucio.sputnik.event.events.sputnik.LoadCommandManagerEvent; +import me.retucio.sputnik.event.TickEvent; +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; import me.retucio.sputnik.module.ModuleManager; @@ -111,13 +111,13 @@ public class GUI extends Module { Category.CLIENT, GLFW.GLFW_KEY_RIGHT_SHIFT); - me.retucio.sputnik.Sputnik.EVENT_BUS.register(this); + Sputnik.EVENT_BUS.subscribe(this); keyMode.setVisible(false); notify.setVisible(false); searchBar.onUpdate(v -> matchCase.setVisible(v)); } - @SubscribeEvent + @EventListener public void onLoadCommandManager(LoadCommandManagerEvent event) { commandPrefix.onUpdate(CommandManager.INSTANCE::setPrefix); commandPrefix.setDefaultValue(CommandManager.INSTANCE.getPrefix()); @@ -128,7 +128,7 @@ public class GUI extends Module { }); } - @SubscribeEvent + @EventListener public void onLoadClickGUI(LoadClickGUIEvent event) { color.onUpdate(v -> { Colors.red = color.getR(); @@ -139,7 +139,7 @@ public class GUI extends Module { }); } - @SubscribeEvent + @EventListener public void onTick(TickEvent.Post event) { if (color.isRainbow()) { Colors.red = color.getR(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/combat/AttributeSwapper.java b/src/main/java/me/retucio/sputnik/module/modules/combat/AttributeSwapper.java index 7096cd1..96cb45f 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/combat/AttributeSwapper.java +++ b/src/main/java/me/retucio/sputnik/module/modules/combat/AttributeSwapper.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.combat; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.AttackEntityEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.AttackEntityEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -33,7 +33,7 @@ public class AttributeSwapper extends Module { } } - @SubscribeEvent + @EventListener public void onAttack(AttackEntityEvent event) { prevSlot = mc.player.getInventory().getSelectedSlot(); mc.player.getInventory().setSelectedSlot(slot.getIntValue() - 1); diff --git a/src/main/java/me/retucio/sputnik/module/modules/combat/MaceKill.java b/src/main/java/me/retucio/sputnik/module/modules/combat/MaceKill.java index 8d6ef0e..295d78c 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/combat/MaceKill.java +++ b/src/main/java/me/retucio/sputnik/module/modules/combat/MaceKill.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.combat; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -46,8 +46,8 @@ public class MaceKill extends Module { max.onUpdate(v -> height.setVisible(!v)); } - @SubscribeEvent @SuppressWarnings("ConstantConditions") + @EventListener private void onPacketSend(PacketEvent.Send event) { if (mc.player == null) return; if (mc.player.getMainHandStack().getItem() == Items.MACE diff --git a/src/main/java/me/retucio/sputnik/module/modules/combat/ProjectileTrajectories.java b/src/main/java/me/retucio/sputnik/module/modules/combat/ProjectileTrajectories.java index 93b9e4d..d98e23c 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/combat/ProjectileTrajectories.java +++ b/src/main/java/me/retucio/sputnik/module/modules/combat/ProjectileTrajectories.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.combat; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -121,7 +121,7 @@ public class ProjectileTrajectories extends Module { }); } - @SubscribeEvent + @EventListener public void onRenderWorld(Render3DEvent event) { if (mc.player == null) return; renderProjectileTrajectory(event.getMatrices()); diff --git a/src/main/java/me/retucio/sputnik/module/modules/combat/SpearKill.java b/src/main/java/me/retucio/sputnik/module/modules/combat/SpearKill.java index 3805cf8..65d81c8 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/combat/SpearKill.java +++ b/src/main/java/me/retucio/sputnik/module/modules/combat/SpearKill.java @@ -114,6 +114,7 @@ public class SpearKill extends Module { return e; } } + return null; } } diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/BundleDupe.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/BundleDupe.java similarity index 93% rename from src/main/java/me/retucio/sputnik/module/modules/misc/BundleDupe.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/BundleDupe.java index 79b987a..58678e3 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/BundleDupe.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/BundleDupe.java @@ -1,9 +1,9 @@ -package me.retucio.sputnik.module.modules.misc; +package me.retucio.sputnik.module.modules.inventory; +import com.github.retucio.neutrino.EventListener; import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.DisconnectEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import me.retucio.sputnik.event.network.DisconnectEvent; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.NumberSetting; @@ -51,7 +51,7 @@ public class BundleDupe extends Module { public BundleDupe() { super("dupe de bundle", "dupea items usando un bundle y un libro", - Category.MISC + Category.INVENTORY ); } @@ -68,12 +68,12 @@ public class BundleDupe extends Module { this.waitingForKeepAlive = false; } - @SubscribeEvent + @EventListener private void onDisconnect(DisconnectEvent event) { this.toggle(); } - @SubscribeEvent + @EventListener private void onPacketSend(PacketEvent.Send event) { if (this.dupeActivated && event.getPacket() instanceof PlayerActionC2SPacket) { event.cancel(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/CreativeInventoryHotbarKeybinds.java similarity index 85% rename from src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/CreativeInventoryHotbarKeybinds.java index b2c816a..f3fffef 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/CreativeInventoryHotbarKeybinds.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.module.modules.misc; +package me.retucio.sputnik.module.modules.inventory; import me.retucio.sputnik.mixin.mixins.screen.CreativeInventoryScreenMixin; import me.retucio.sputnik.module.Category; @@ -14,6 +14,6 @@ public class CreativeInventoryHotbarKeybinds extends Module { public CreativeInventoryHotbarKeybinds() { super("hotkeys inv. creativo", "te permite seguir usando teclas de la hotbar para mover items en la pestaña de búsqueda del creativo en vez de escribir en la barra", - Category.MISC); + Category.INVENTORY); } } diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/InventoryPlus.java similarity index 89% rename from src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/InventoryPlus.java index 7462411..db241e1 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/InventoryPlus.java @@ -1,9 +1,9 @@ -package me.retucio.sputnik.module.modules.player; +package me.retucio.sputnik.module.modules.inventory; -import me.retucio.sputnik.event.Event; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; -import me.retucio.sputnik.event.events.input.MouseClickEvent; +import com.github.retucio.neutrino.Event; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.input.KeyEvent; +import me.retucio.sputnik.event.input.MouseClickEvent; import me.retucio.sputnik.mixin.accessors.HandledScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -23,16 +23,16 @@ public class InventoryPlus extends Module { public InventoryPlus() { super("inventario plus", "mueve ítems del inventario usando solo el teclado", - Category.PLAYER); + Category.INVENTORY); } - @SubscribeEvent + @EventListener private void onKey(KeyEvent event) { if (event.getAction() == GLFW.GLFW_RELEASE) return; processInput(event.getKey(), event); } - @SubscribeEvent + @EventListener private void onMouseButton(MouseClickEvent event) { if (event.getAction() == GLFW.GLFW_RELEASE) return; processInput(event.getButton(), event); diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/Offhand.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/Offhand.java similarity index 97% rename from src/main/java/me/retucio/sputnik/module/modules/player/Offhand.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/Offhand.java index bcdd7d8..c3ef884 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/Offhand.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/Offhand.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.module.modules.player; +package me.retucio.sputnik.module.modules.inventory; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -39,7 +39,7 @@ public class Offhand extends Module { public Offhand() { super("mano secundaria", "automáticamente equipa un ítem en la mano secundaria", - Category.PLAYER); + Category.INVENTORY); } @Override diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/PortalGUI.java similarity index 82% rename from src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/PortalGUI.java index 42350b1..82d5348 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/PortalGUI.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.module.modules.player; +package me.retucio.sputnik.module.modules.inventory; import me.retucio.sputnik.mixin.mixins.player.ClientPlayerEntityMixin; import me.retucio.sputnik.module.Category; @@ -13,6 +13,6 @@ public class PortalGUI extends Module { public PortalGUI() { super("interfaz en portales", "te permite abrir interfaces dentro de portales, como el chat o el inventario", - Category.PLAYER); + Category.INVENTORY); } } \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/module/modules/inventory/Replenish.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/Replenish.java new file mode 100644 index 0000000..ba69e22 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/Replenish.java @@ -0,0 +1,189 @@ +package me.retucio.sputnik.module.modules.inventory; + +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.UseItemEvent; +import me.retucio.sputnik.event.network.DisconnectEvent; +import me.retucio.sputnik.module.Category; +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.module.setting.settings.NumberSetting; +import me.retucio.sputnik.util.InventoryUtil; +import me.retucio.sputnik.util.Lists; +import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.screen.PlayerScreenHandler; +import net.minecraft.util.Hand; + +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +public class Replenish extends Module { + + private final NumberSetting minCount = sgGeneral.add(new NumberSetting( + "mínimo de items", + "límite de cantidad de items para empezar a reponer", + 5, + 1, + 64, + 1 + )); + + private final NumberSetting tickDelay = sgGeneral.add(new NumberSetting( + "delay", + "delay al reponer, en ticks", + 5, + 0, + 20, + 1 + )); + + private final BooleanSetting offhand = sgGeneral.add(new BooleanSetting( + "mano secundaria", + "reponer la mano secundaria también", + true + )); + + private final BooleanSetting unstackable = sgGeneral.add(new BooleanSetting( + "no stackeables", + "reponer items no stackeables", + true + )); + + private final ListSetting excludedItems = sgGeneral.add(new ListSetting<>( + "items excluídos", + "items que no se reponen", + Lists.itemList, + Lists.allFalse(Lists.itemList), + Lists.itemNames + )); + + private static final Map pendingTasks = new ConcurrentHashMap<>(); + + public Replenish() { + super("reponer", + "repone items a medida que se consumen de manera automática", Category.INVENTORY); + } + + @Override + public void onTick() { + if (pendingTasks.isEmpty()) return; + if (mc.player == null) { + pendingTasks.clear(); + return; + } + + Iterator> iterator = pendingTasks.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry entry = iterator.next(); + ReplenishTask task = entry.getValue(); + task.tick(); + + if (task.ticksLeft <= 0) { + iterator.remove(); + executeReplenish(task.slot, task.item); + } + } + } + + @EventListener + private void onUseItem(UseItemEvent event) { + if (mc.player == null) return; + + Hand hand = event.getHand(); + int usedSlot = getSlotFromHand(hand); + if (usedSlot == -1) return; + + ItemStack usedStack = hand == Hand.MAIN_HAND ? mc.player.getMainHandStack() : mc.player.getOffHandStack(); + if (usedStack.isEmpty()) return; + + if (excludedItems.isEnabled(usedStack.getItem())) return; + if (!unstackable.getValue() && usedStack.getMaxCount() == 1) return; + if (!offhand.getValue() && hand == Hand.OFF_HAND) return; + + pendingTasks.remove(usedSlot); + pendingTasks.put(usedSlot, new ReplenishTask(usedSlot, usedStack.getItem(), tickDelay.getIntValue())); + } + + @EventListener + private void onDisconnect(DisconnectEvent event) { + pendingTasks.clear(); + } + + private void executeReplenish(int slot, Item item) { + if (mc.player == null) return; + PlayerInventory inv = mc.player.getInventory(); + + // Get current stack in the slot + ItemStack currentStack = inv.getStack(slot); + if (currentStack.isEmpty() || !currentStack.isOf(item)) { + return; // item changed or slot empty – abort + } + + // Check threshold + if (currentStack.getCount() > minCount.getIntValue()) { + return; // still above threshold + } + + // Find another stack of the same item in the inventory (excluding the used slot and possibly offhand) + List excludeSlots = new ArrayList<>(); + excludeSlots.add(slot); + if (!offhand.getValue()) { + excludeSlots.add(InventoryUtil.OFFHAND_SLOT); + } + + PlayerScreenHandler handler = mc.player.playerScreenHandler; + int sourceContainerSlot = -1; + + // Iterate over all player inventory slots (0-40) + for (int playerIndex = 0; playerIndex <= 40; playerIndex++) { + if (excludeSlots.contains(playerIndex)) continue; + + ItemStack stack = inv.getStack(playerIndex); + if (!stack.isEmpty() && stack.isOf(item) && ItemStack.areItemsAndComponentsEqual(stack, currentStack)) { + // Found a match, convert to container slot + int containerSlot = InventoryUtil.getContainerSlotByPlayerIndex(handler, playerIndex); + if (containerSlot != -1) { + sourceContainerSlot = containerSlot; + break; + } + } + } + + if (sourceContainerSlot == -1) return; // no source found + + // Target container slot is the used slot + int targetContainerSlot = InventoryUtil.getContainerSlotByPlayerIndex(handler, slot); + if (targetContainerSlot == -1) return; + + InventoryUtil.swapSlots(sourceContainerSlot, targetContainerSlot, handler); + } + + private int getSlotFromHand(Hand hand) { + if (mc.player == null) return -1; + if (hand == Hand.MAIN_HAND) { + return mc.player.getInventory().getSelectedSlot(); + } else { + return InventoryUtil.OFFHAND_SLOT; // 40 + } + } + + private static class ReplenishTask { + final int slot; + final Item item; + int ticksLeft; + + ReplenishTask(int slot, Item item, int delay) { + this.slot = slot; + this.item = item; + this.ticksLeft = delay; + } + + void tick() { + ticksLeft--; + } + } + + +} diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/ShulkerPeek.java similarity index 95% rename from src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/ShulkerPeek.java index 1d9e826..5dc996f 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/ShulkerPeek.java @@ -1,7 +1,7 @@ -package me.retucio.sputnik.module.modules.misc; +package me.retucio.sputnik.module.modules.inventory; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.input.KeyEvent; import me.retucio.sputnik.mixin.accessors.HandledScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -37,7 +37,7 @@ public class ShulkerPeek extends Module { public ShulkerPeek() { super("prev. de shulkers", "te permite previsualizar el contenido de shulkers desde el inventario", - Category.MISC); + Category.INVENTORY); // colores y tal (https://github.com/kgriff0n/shulker-preview) SHULKER_COLORS.put(Items.SHULKER_BOX, Colors.LAVENDER); @@ -59,7 +59,7 @@ public class ShulkerPeek extends Module { SHULKER_COLORS.put(Items.PINK_SHULKER_BOX, Colors.PINK); } - @SubscribeEvent + @EventListener private void onKey(KeyEvent event) { if (mc.player == null) return; if (event.getKey() != previewKey.getValue()) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java b/src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java similarity index 97% rename from src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java rename to src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java index 96e4c03..b046dee 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java +++ b/src/main/java/me/retucio/sputnik/module/modules/inventory/UIMove.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.module.modules.movement; +package me.retucio.sputnik.module.modules.inventory; import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import me.retucio.sputnik.module.Category; @@ -32,7 +32,7 @@ public class UIMove extends Module { public UIMove() { super("moverse en interfaz", "te permite seguir usando las teclas de movimiento aún estando en ciertas interfaces", - Category.MOVEMENT); + Category.INVENTORY); screens.addOption(inventoryHandlerType, true, "inventario"); screens.addOption(clickGuiHandlerType, true, "interfaz del mod"); diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/BookBot.java b/src/main/java/me/retucio/sputnik/module/modules/misc/BookBot.java index f87a711..32422c0 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/BookBot.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/BookBot.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.misc; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.DisconnectEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.DisconnectEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -135,7 +135,7 @@ public class BookBot extends Module { ); } - @SubscribeEvent + @EventListener private void onDisconnect(DisconnectEvent event) { if (toggleOnDisconnect.getValue()) { toggle(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java b/src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java index 5f6a014..4b0bf55 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.misc; -import me.retucio.sputnik.event.events.render.RenderBossbarEvent; -import me.retucio.sputnik.event.SubscribeEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.RenderBossbarEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -43,7 +43,7 @@ public class BossbarStack extends Module { Category.MISC); } - @SubscribeEvent + @EventListener private void onRenderBossText(RenderBossbarEvent.BossText event) { if (hideNames.getValue()) { event.setName(Text.empty()); @@ -58,12 +58,12 @@ public class BossbarStack extends Module { event.setName(event.getName().copy().append(" x" + amount)); } - @SubscribeEvent + @EventListener private void onRenderBossSpacing(RenderBossbarEvent.BossSpacing event) { event.setSpacing(10 - spaceReduction.getIntValue()); } - @SubscribeEvent + @EventListener private void onRenderBossBars(RenderBossbarEvent.BossIterator event) { if (stackBars.getValue()) { HashMap chosenBarMap = new HashMap<>(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java b/src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java index a2203a5..a921945 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java @@ -1,13 +1,13 @@ package me.retucio.sputnik.module.modules.misc; +import com.github.retucio.neutrino.EventListener; import com.mojang.authlib.GameProfile; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; import me.retucio.sputnik.command.CommandManager; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.ClientClickEvent; -import me.retucio.sputnik.event.events.network.ReceiveMessageEvent; -import me.retucio.sputnik.event.events.network.SendMessageEvent; +import me.retucio.sputnik.event.input.ClientClickEvent; +import me.retucio.sputnik.event.network.ReceiveMessageEvent; +import me.retucio.sputnik.event.network.SendMessageEvent; import me.retucio.sputnik.mixin.mixins.hud.ChatHudMixin; import me.retucio.sputnik.mixin.mixins.hud.InGameHudMixin; import me.retucio.sputnik.mixin.mixins.misc.StringHelperMixin; @@ -72,6 +72,7 @@ public class ChatPlus extends Module { } public final IntList lines = new IntArrayList(); + public ChatHudLine.Visible line; private record CustomHeadEntry(String prefix, Identifier texture) {} private static final List CUSTOM_HEAD_ENTRIES = new ArrayList<>(); @@ -82,7 +83,7 @@ public class ChatPlus extends Module { private static final Pattern timestampRegex = Pattern.compile("^<\\d{1,2}:\\d{1,2}>"); private static final Pattern coordRegex = Pattern.compile("(?-?\\d{3,}(?:\\.\\d*)?)(?:\\s+(?-?\\d{1,3}(?:\\.\\d*)?))?\\s+(?-?\\d{3,}(?:\\.\\d*)?)"); - @SubscribeEvent + @EventListener private void onReceiveMessage(ReceiveMessageEvent event) { Text message = event.getMessage(); @@ -114,7 +115,7 @@ public class ChatPlus extends Module { event.setMessage(message); } - @SubscribeEvent + @EventListener private void onSendMessage(SendMessageEvent event) { // evitar mandar coordenadas por el chat if (coordsProtection.getValue() && containsCoordinates(event.getMessage())) { @@ -131,51 +132,44 @@ public class ChatPlus extends Module { } @SuppressWarnings("DataFlowIssue") - private void beforeDrawMessage(DrawContext context, ChatHudLine.Visible line, int y, int color) { - if (!isEnabled() || !showHeads.getValue()) return; + public void beforeDrawMessage(DrawContext context, int y, int color) { + if (!isEnabled() || !showHeads.getValue() || lines == null) return; - // dibujar la cabeza al principio del mensaje - if (((IChatHudLineVisible) (Object) line).sputnik$isStartOfEntry()) + if (((IChatHudLineVisible) (Object) line).sputnik$isStartOfEntry()) { drawTexture(context, (IChatHudLine) (Object) line, y, color); - - context.getMatrices().pushMatrix(); - context.getMatrices().translate(10, 0); + } } - public void afterDrawMessage(DrawContext context) { - // finalizar renderizado de la cabeza + public void afterDrawMessage() { if (!isEnabled() || !showHeads.getValue()) return; - context.getMatrices().popMatrix(); + line = null; } - @SuppressWarnings("DataFlowIssue") private void drawTexture(DrawContext context, IChatHudLine line, int y, int color) { String text = line.sputnik$getText().trim(); int startOffset = 0; - // buscar el sello del tiempo si lo hay para dibujar la cabeza correctamente try { Matcher m = timestampRegex.matcher(text); if (m.find()) startOffset = m.end() + 1; - } catch (IllegalStateException ignored) {} + } + catch (IllegalStateException ignored) {} - // dibujar el icono del mod for (CustomHeadEntry entry : CUSTOM_HEAD_ENTRIES) { - if (text.startsWith(entry.prefix().trim(), startOffset)) { + if (text.startsWith(entry.prefix(), startOffset)) { context.drawTexture(RenderPipelines.GUI_TEXTURED, entry.texture(), 0, y, 0, 0, 8, 8, 64, 64, 64, 64, color); return; } } - // obtener y dibujar la cabeza del jugador GameProfile sender = getSender(line, text); if (sender == null) return; PlayerListEntry entry = mc.getNetworkHandler().getPlayerListEntry(sender.id()); if (entry == null) return; - PlayerSkinDrawer.draw(context, entry.getSkinTextures(), 0, y, 8); + PlayerSkinDrawer.draw(context, entry.getSkinTextures(), 0, y, 8, color); } @SuppressWarnings("DataFlowIssue") diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java b/src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java index 3ba2491..117ff16 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.misc; import me.retucio.sputnik.command.CommandManager; -import me.retucio.sputnik.event.events.input.ClientClickEvent; +import me.retucio.sputnik.event.input.ClientClickEvent; import me.retucio.sputnik.mixin.mixins.io.ScreenshotRecorderMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/UnfocusedCpu.java b/src/main/java/me/retucio/sputnik/module/modules/misc/UnfocusedCpu.java index e3078ac..f0eff7a 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/UnfocusedCpu.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/UnfocusedCpu.java @@ -6,6 +6,9 @@ import me.retucio.sputnik.module.Module; public class UnfocusedCpu extends Module { public UnfocusedCpu() { - super("aliviar cpu", "evita renderizar objetos en pantalla si la ventana no está seleccionada", Category.MISC); + super("aliviar cpu", + "evita renderizar objetos en pantalla si la ventana no está seleccionada", + Category.MISC + ); } } diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/BoatFly.java b/src/main/java/me/retucio/sputnik/module/modules/movement/BoatFly.java index efa06f7..84411a9 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/BoatFly.java +++ b/src/main/java/me/retucio/sputnik/module/modules/movement/BoatFly.java @@ -1,9 +1,8 @@ package me.retucio.sputnik.module.modules.movement; -import com.google.common.eventbus.Subscribe; -import me.retucio.sputnik.event.events.interact.BoatMoveEvent; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.BoatMoveEvent; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -50,7 +49,7 @@ public class BoatFly extends Module { super("barco volador", "convierte tu bote de acacia en un Lockheed F-117 Nighthawk", Category.MOVEMENT); } - @SubscribeEvent + @EventListener private void onBoatMove(BoatMoveEvent event) { if (event.getBoat().getControllingPassenger() != mc.player) return; event.getBoat().setYaw(mc.player.getYaw()); @@ -82,7 +81,7 @@ public class BoatFly extends Module { event.getBoat().setVelocity(new Vec3d(x, y, z)); } - @Subscribe + @EventListener private void onReceivePacket(PacketEvent.Receive event) { if (event.getPacket() instanceof VehicleMoveS2CPacket && cancelPackets.getValue()) { event.cancel(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/InfiniteElytra.java b/src/main/java/me/retucio/sputnik/module/modules/movement/InfiniteElytra.java index 8674f6f..7aee642 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/InfiniteElytra.java +++ b/src/main/java/me/retucio/sputnik/module/modules/movement/InfiniteElytra.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.movement; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.UseItemEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.UseItemEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.NumberSetting; @@ -101,7 +101,7 @@ public class InfiniteElytra extends Module { mc.player.setPitch(pitch); } - @SubscribeEvent + @EventListener private void onUseItem(UseItemEvent event) { if (mc.player == null) return; if (mc.player.getStackInHand(event.getHand()).getItem() == Items.FIREWORK_ROCKET && !mc.player.isSpectator() && mc.player.isGliding()) { diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/Jesus.java b/src/main/java/me/retucio/sputnik/module/modules/movement/Jesus.java index d7b7603..b2f0c62 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/Jesus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/movement/Jesus.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.movement; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.BlockShapeEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.BlockShapeEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -96,7 +96,7 @@ public class Jesus extends Module { } } - @SubscribeEvent + @EventListener private void onBlockShape(BlockShapeEvent event) { if (event.getState().getBlock() == Blocks.LAVA && !lava.getValue()) return; if (event.getState().getBlock() == Blocks.WATER && !water.getValue()) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/SafeWalk.java b/src/main/java/me/retucio/sputnik/module/modules/movement/SafeWalk.java index 68cd8eb..cfffc71 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/SafeWalk.java +++ b/src/main/java/me/retucio/sputnik/module/modules/movement/SafeWalk.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.movement; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.ClipAtLedgeEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.ClipAtLedgeEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.NumberSetting; @@ -21,7 +21,7 @@ public class SafeWalk extends Module { Category.MOVEMENT); } - @SubscribeEvent + @EventListener private void onClipAtLedge(ClipAtLedgeEvent event) { if (mc.player == null || mc.world == null) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java b/src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java index 5acb235..d51eafc 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.network; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.AddEntityEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.AddEntityEvent; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; @@ -151,7 +151,7 @@ public class LogoutSpots extends Module { lastDimension = currentDimension; } - @SubscribeEvent + @EventListener private void onEntityAdded(AddEntityEvent event) { if (event.getEntity() instanceof PlayerEntity player) { for (LogoutEntry entry : players) { @@ -169,7 +169,7 @@ public class LogoutSpots extends Module { } } - @SubscribeEvent + @EventListener private void onWorldRender(Render3DEvent event) { if (mc.player == null || mc.world == null) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java b/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java index 4be3d16..742ec2c 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.network; -import me.retucio.sputnik.event.events.network.JoinWorldEvent; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.JoinWorldEvent; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.EnumSetting; @@ -68,7 +68,7 @@ public class PacketDelay extends Module { } } - @SubscribeEvent + @EventListener private void onPacketSend(PacketEvent.Send event) { if (directions.is(Directions.S2C) || mc.player == null || mc.world == null || mc.getNetworkHandler() == null @@ -85,7 +85,7 @@ public class PacketDelay extends Module { )); } - @SubscribeEvent + @EventListener private void onPacketReceive(PacketEvent.Receive event) { if (mc.player == null || mc.world == null || mc.getNetworkHandler() == null || mc.getNetworkHandler().getConnection() == null @@ -104,7 +104,7 @@ public class PacketDelay extends Module { )); } - @SubscribeEvent + @EventListener private void onJoinWorld(JoinWorldEvent event) { ChatUtil.error("delay de paquetes no funciona en un solo jugador"); toggle(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/network/PacketMine.java b/src/main/java/me/retucio/sputnik/module/modules/network/PacketMine.java index 36e064e..d2cae78 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/network/PacketMine.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/PacketMine.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.network; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.AttackBlockEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.AttackBlockEvent; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -10,6 +10,7 @@ import me.retucio.sputnik.module.setting.settings.BooleanSetting; import me.retucio.sputnik.module.setting.settings.ColorSetting; import me.retucio.sputnik.module.setting.settings.EnumSetting; import me.retucio.sputnik.module.setting.settings.NumberSetting; +import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.render.RenderUtil; import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; import net.minecraft.util.math.BlockPos; @@ -100,11 +101,13 @@ public class PacketMine extends Module { private final List miningBlocks = new ArrayList<>(); private int currentOrderIndex = 0; + private long lastSelectionTime = 0; @Override public void onDisable() { miningBlocks.clear(); currentOrderIndex = 0; + lastSelectionTime = 0; super.onDisable(); } @@ -162,10 +165,16 @@ public class PacketMine extends Module { } } - @SubscribeEvent + @EventListener private void onAttackBlock(AttackBlockEvent event) { event.cancel(); - if (mc.player.age % selectionDelay.getIntValue() != 0) return; + + long now = System.currentTimeMillis(); + int delayTicks = selectionDelay.getIntValue(); + if (delayTicks > 0 && now - lastSelectionTime < delayTicks * 50L) { + return; + } + lastSelectionTime = now; MiningBlock existingBlock = getMiningBlock(event.getPos()); if (existingBlock == null) { @@ -185,7 +194,7 @@ public class PacketMine extends Module { } } - @SubscribeEvent + @EventListener private void onRenderWorld(Render3DEvent event) { if (!render.getValue()) return; for (MiningBlock block : miningBlocks) { @@ -202,7 +211,7 @@ public class PacketMine extends Module { if (!block.mining) { return block.mine(); } else if (block.shouldRetry()) { - block.startTime = mc.player.age; + block.startTime = System.currentTimeMillis(); block.mining = false; return block.mine(); } @@ -234,7 +243,7 @@ public class PacketMine extends Module { public MiningBlock(AttackBlockEvent event) { this.pos = event.getPos(); this.dir = event.getDir(); - startTime = mc.player.age; + startTime = System.currentTimeMillis(); } public boolean mine() { @@ -267,7 +276,7 @@ public class PacketMine extends Module { } public boolean shouldRetry() { - return mining && (mc.player.age - startTime >= retryTime.getValue()); + return mining && (System.currentTimeMillis() - startTime >= retryTime.getValue()); } } diff --git a/src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java b/src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java index 9a9d8cb..e7975f7 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.network; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.DisconnectEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.DisconnectEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import net.minecraft.client.gui.screen.multiplayer.ConnectScreen; @@ -18,7 +18,7 @@ public class Reconnect extends Module { Category.NETWORK); } - @SubscribeEvent + @EventListener private void onDisconnect(DisconnectEvent event) { lastServer = event.getServer(); } diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java b/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java index 791d0d0..f415936 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/AirPlace.java @@ -1,10 +1,10 @@ package me.retucio.sputnik.module.modules.player; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; -import me.retucio.sputnik.event.events.input.MouseScrollEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; -import me.retucio.sputnik.event.events.interact.UseItemEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.input.KeyEvent; +import me.retucio.sputnik.event.input.MouseScrollEvent; +import me.retucio.sputnik.event.render.Render3DEvent; +import me.retucio.sputnik.event.interact.UseItemEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -106,7 +106,7 @@ public class AirPlace extends Module { result = mc.getCameraEntity().raycast(rangeValue, 0, false); } - @SubscribeEvent + @EventListener private void onUseItem(UseItemEvent event) { if (!(result instanceof BlockHitResult bhr) || !(event.getStack().getItem() instanceof BlockItem)) return; Vec3d hitPos = Vec3d.ofCenter(bhr.getBlockPos()); @@ -117,21 +117,21 @@ public class AirPlace extends Module { NetworkUtil.interactBlock(result, event.getHand(), true); } - @SubscribeEvent + @EventListener private void onMouseScroll(MouseScrollEvent event) { if (!scrollKey.isDown()) return; rangeValue += (int) Math.round((event.getVertical() * scrollSens.getValue())); event.cancel(); } - @SubscribeEvent + @EventListener private void onKey(KeyEvent event) { if (event.getKey() == scrollKey.getValue() && event.getAction() == GLFW.GLFW_RELEASE) { rangeValue = (int) Math.clamp(rangeValue, range.getMin(), range.getMax()); } } - @SubscribeEvent + @EventListener private void onRenderWorld(Render3DEvent event) { if (!(result instanceof BlockHitResult bhr) || (mc.crosshairTarget != null diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/AntiHunger.java b/src/main/java/me/retucio/sputnik/module/modules/player/AntiHunger.java index f508bb8..411d77b 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/AntiHunger.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/AntiHunger.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.player; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket; @@ -13,7 +13,7 @@ public class AntiHunger extends Module { super("anti hambre", "previene el hambre, haciéndole creer al server que nunca corres", Category.PLAYER); } - @SubscribeEvent + @EventListener private void onPacketSend(PacketEvent.Send event) { if (mc.player == null) return; if (mc.player.hasVehicle() || mc.player.isTouchingWater() || mc.player.isSubmergedInWater()) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/AutoFish.java b/src/main/java/me/retucio/sputnik/module/modules/player/AutoFish.java index 289b0cc..3d9e8a7 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/AutoFish.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/AutoFish.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.player; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.SwitchSlotEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.SwitchSlotEvent; import me.retucio.sputnik.mixin.accessors.FishingBobberEntityAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -118,7 +118,7 @@ public class AutoFish extends Module { } } - @SubscribeEvent + @EventListener public void onSwitchSlot(SwitchSlotEvent event) { warned = false; } diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/HandView.java b/src/main/java/me/retucio/sputnik/module/modules/player/HandView.java index dc1e98b..423a30c 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/HandView.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/HandView.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.player; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.RenderHeldItemEvent; -import me.retucio.sputnik.event.events.render.RenderArmEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.RenderHeldItemEvent; +import me.retucio.sputnik.event.render.RenderArmEvent; import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -101,8 +101,8 @@ public class HandView extends Module { Category.PLAYER); } - @SubscribeEvent - private void onHeldItemRender(RenderHeldItemEvent event) { + @EventListener + private void onRenderHand(RenderHeldItemEvent event) { switch (event.getHand()) { case MAIN_HAND -> { scale(event.getMatrices(), new Vec3d(scaleMainX.getValue(), scaleMainY.getValue(), scaleMainZ.getValue())); @@ -117,7 +117,7 @@ public class HandView extends Module { } } - @SubscribeEvent + @EventListener private void onRenderArm(RenderArmEvent event) { scale(event.getMatrices(), new Vec3d(scaleArmX.getValue(), scaleArmY.getValue(), scaleArmZ.getValue())); translate(event.getMatrices(), new Vec3d(posArmX.getValue(), posArmY.getValue(), posArmZ.getValue())); diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/NoFall.java b/src/main/java/me/retucio/sputnik/module/modules/player/NoFall.java index 8bc0abf..373f2fa 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/NoFall.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/NoFall.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.player; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -11,9 +11,7 @@ import me.retucio.sputnik.module.setting.settings.NumberSetting; import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.InventoryUtil; import me.retucio.sputnik.util.Lists; -import me.retucio.sputnik.util.NetworkUtil; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -112,7 +110,7 @@ public class NoFall extends Module { } } - @SubscribeEvent + @EventListener private void onPacketSend(PacketEvent.Send event) { if (mc.player == null || mc.getNetworkHandler() == null diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java b/src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java index ea95ec6..96f8e9f 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.render; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -138,7 +138,7 @@ public class BlockESP extends Module { super.onDisable(); } - @SubscribeEvent + @EventListener private void onRenderWorld(Render3DEvent event) { if (mc.player == null || mc.world == null) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java b/src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java index 0a4c5ff..14b4065 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java @@ -1,13 +1,12 @@ package me.retucio.sputnik.module.modules.render; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.RenderBlockOutlineEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.RenderBlockOutlineEvent; import me.retucio.sputnik.mixin.mixins.render.WorldRendererMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.ColorSetting; import me.retucio.sputnik.module.setting.settings.NumberSetting; -import me.retucio.sputnik.ui.screen.UpdateScreen; import me.retucio.sputnik.util.Colors; /** continúa en: @@ -38,7 +37,7 @@ public class BlockOutline extends Module { Category.RENDER); } - @SubscribeEvent + @EventListener private void onRenderBlockOutline(RenderBlockOutlineEvent event) { event.setColor(color.getRGB()); event.setLineWidth(lineWidth.getFloatValue()); diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java b/src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java index ea729cb..65d938a 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.render; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -14,7 +14,6 @@ import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; import net.minecraft.util.shape.VoxelShape; -import org.jspecify.annotations.NonNull; import java.awt.*; @@ -42,7 +41,7 @@ public class BreakingProgress extends Module { Category.RENDER); } - @SubscribeEvent + @EventListener private void onRenderWorld(Render3DEvent event) { if (mc.interactionManager == null || mc.world == null) return; if (!(mc.crosshairTarget instanceof BlockHitResult hitResult)) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/EntityESP.java b/src/main/java/me/retucio/sputnik/module/modules/render/EntityESP.java index 62ca617..03d2a35 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/EntityESP.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/EntityESP.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.render; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -82,7 +82,7 @@ public class EntityESP extends Module { filling.onUpdate(v -> fillingColor.setVisible(v)); } - @SubscribeEvent + @EventListener private void onRenderWorld(Render3DEvent event) { if (mode.is(ESPMode.BOX)) drawBoxes(event.getMatrices()); } diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/Hitboxes.java b/src/main/java/me/retucio/sputnik/module/modules/render/Hitboxes.java index 41ddcfe..04ae430 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/Hitboxes.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/Hitboxes.java @@ -15,7 +15,7 @@ public class Hitboxes extends Module { true )); - private final NumberSetting lineWidth = sgGeneral.add(new NumberSetting( + public final NumberSetting lineWidth = sgGeneral.add(new NumberSetting( "grosor", "grosor de las líneas", 1, diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java b/src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java index f5d708f..abbf3eb 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.world; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.interact.OpenScreenEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.interact.OpenScreenEvent; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.mixin.accessors.AbstractSignEditScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -34,7 +34,7 @@ public class AutoSign extends Module { super.onDisable(); } - @SubscribeEvent + @EventListener private void onOpenScreen(OpenScreenEvent event) { if (event.getScreen() instanceof AbstractSignEditScreen screen && text != null && mc != null && mc.player != null) { event.cancel(); @@ -43,7 +43,7 @@ public class AutoSign extends Module { } } - @SubscribeEvent + @EventListener private void onSendPacket(PacketEvent.Send event) { if (event.getPacket() instanceof UpdateSignC2SPacket packet) { if (text == null) text = packet.getText().clone(); diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/AutoTool.java b/src/main/java/me/retucio/sputnik/module/modules/world/AutoTool.java index 16e3d72..a04a617 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/AutoTool.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/AutoTool.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.world; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; -import me.retucio.sputnik.event.events.input.MouseClickEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.input.KeyEvent; +import me.retucio.sputnik.event.input.MouseClickEvent; import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; @@ -105,12 +105,12 @@ public class AutoTool extends Module { } } - @SubscribeEvent + @EventListener private void onKey(KeyEvent event) { handle(event.getKey(), event.getAction()); } - @SubscribeEvent + @EventListener private void onClick(MouseClickEvent event) { handle(event.getButton(), event.getAction()); } diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/BlockInfo.java b/src/main/java/me/retucio/sputnik/module/modules/world/BlockInfo.java index d9987e4..ffd6601 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/BlockInfo.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/BlockInfo.java @@ -1,8 +1,8 @@ package me.retucio.sputnik.module.modules.world; +import com.github.retucio.neutrino.EventListener; import com.google.gson.Gson; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; +import me.retucio.sputnik.event.input.KeyEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.EnumSetting; @@ -39,7 +39,7 @@ public class BlockInfo extends Module { Category.WORLD); } - @SubscribeEvent + @EventListener private void onKey(KeyEvent event) { if (mc.player == null || mc.world == null) return; if (event.getKey() != key.getValue() || event.getAction() != GLFW.GLFW_PRESS) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java b/src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java index 58de474..bad7d8c 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.world; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.StringSetting; @@ -22,7 +22,7 @@ public class ColoredSigns extends Module { Category.WORLD); } - @SubscribeEvent + @EventListener private void onSendPacket(PacketEvent.Send event) { if (event.getPacket() instanceof UpdateSignC2SPacket packet) { for (int i = 0; i < 4; i++) { diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java b/src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java index b4a5082..89730cd 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.world; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.render.Render3DEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.render.Render3DEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -122,8 +122,8 @@ public class LightOverlay extends Module { super.onDisable(); } - @SubscribeEvent @SuppressWarnings("deprecation") + @EventListener private void onRenderWorld(Render3DEvent event) { if (mc.player == null || mc.world == null) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/StrongholdTriangulator.java b/src/main/java/me/retucio/sputnik/module/modules/world/StrongholdTriangulator.java index 1f300b9..0914a4e 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/StrongholdTriangulator.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/StrongholdTriangulator.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.world; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.AddEntityEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.AddEntityEvent; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.util.ChatUtil; @@ -76,7 +76,7 @@ public class StrongholdTriangulator extends Module { } } - @SubscribeEvent + @EventListener private void onAddEntity(AddEntityEvent event) { if (mc.player == null || mc.world == null) return; if (mc.player.getStackInHand(Hand.MAIN_HAND).getItem() != Items.ENDER_EYE) return; diff --git a/src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java b/src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java index d56fb26..9117395 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.modules.world; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import com.github.retucio.neutrino.EventListener; +import me.retucio.sputnik.event.network.PacketEvent; import me.retucio.sputnik.mixin.mixins.render.SkyRendererMixin; import me.retucio.sputnik.mixin.mixins.world.ClientWorldPropertiesMixin; import me.retucio.sputnik.module.Category; @@ -60,7 +60,7 @@ public class TimeChanger extends Module { mc.world.getLevelProperties().setTimeOfDay(time.getLongValue()); } - @SubscribeEvent + @EventListener private void onPacketReceive(PacketEvent.Receive event) { if (event.getPacket() instanceof WorldTimeUpdateS2CPacket packet) { realTime = packet.timeOfDay(); diff --git a/src/main/java/me/retucio/sputnik/module/setting/Setting.java b/src/main/java/me/retucio/sputnik/module/setting/Setting.java index 2aa15c1..f4d829f 100644 --- a/src/main/java/me/retucio/sputnik/module/setting/Setting.java +++ b/src/main/java/me/retucio/sputnik/module/setting/Setting.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.module.setting; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.sputnik.UpdateSettingEvent; +import me.retucio.sputnik.event.sputnik.UpdateSettingEvent; import me.retucio.sputnik.module.Module; import java.util.function.Consumer; diff --git a/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java b/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java index 2e025db..89aef9f 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java @@ -2,8 +2,7 @@ package me.retucio.sputnik.ui.hud; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.config.ConfigManager; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; +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; @@ -152,7 +151,6 @@ public class HudEditorScreen extends Screen { return super.mouseReleased(click); } - @SubscribeEvent // he sustituído el método del súper por un evento para ver si así se podían // registrar dos teclas a la vez, pero resulta que no :P public void onKey(KeyEvent event) { diff --git a/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java index 567b2eb..a040b1a 100644 --- a/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java @@ -1,7 +1,6 @@ package me.retucio.sputnik.ui.hud.elements; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.sputnik.UpdateSettingEvent; +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.ui.hud.TextHudElement; @@ -37,7 +36,6 @@ public class CustomTextElement extends TextHudElement { ); } - @SubscribeEvent public void onUpdateSetting(UpdateSettingEvent event) { if (ModuleManager.INSTANCE == null) return; HUD hud = ModuleManager.INSTANCE.getModuleByClass(HUD.class); diff --git a/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java b/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java index 71cb469..e719838 100644 --- a/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java +++ b/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java @@ -1,11 +1,11 @@ package me.retucio.sputnik.ui.screen; +import com.github.retucio.neutrino.EventListener; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.input.KeyEvent; -import me.retucio.sputnik.event.events.input.MouseClickEvent; -import me.retucio.sputnik.event.events.input.MouseScrollEvent; -import me.retucio.sputnik.event.events.sputnik.SettingsFrameEvent; +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.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.Setting; @@ -63,7 +63,7 @@ public class ClickGUI extends Screen { public ClickGUI() { super(Text.of("interfaz")); settingsFrames.add(guiSettingsFrame); - Sputnik.EVENT_BUS.register(this); + Sputnik.EVENT_BUS.subscribe(this); } @Override @@ -172,18 +172,18 @@ public class ClickGUI extends Screen { return super.mouseDragged(click, deltaX, deltaY); } - @SubscribeEvent + @EventListener public void onKey(KeyEvent event) { searchBar.onKey(event.getKey(), event.getAction()); } - @SubscribeEvent + @EventListener public void onMouseScroll(MouseScrollEvent event) { miscWidgets.forEach(w -> w.mouseScrolled( event.getVertical() * guiSettings.scrollSens.getValue())); } - @SubscribeEvent + @EventListener public void onMouseMiddleButton(MouseClickEvent event) { // mover todos los marcos a un punto visible al presionar shift + la rueda del ratón if (Sputnik.mc.currentScreen != this || event.getButton() != 2 || !KeyUtil.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT)) return; diff --git a/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java b/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java index f3fdd0a..19e49e1 100644 --- a/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java +++ b/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.screen; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.module.modules.misc.ShulkerPeek; +import me.retucio.sputnik.module.modules.inventory.ShulkerPeek; import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gl.RenderPipelines; diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java index 00af7ec..0980a9a 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.widgets.frames; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.sputnik.ModuleFrameEvent; +import me.retucio.sputnik.event.sputnik.ModuleFrameEvent; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.ui.screen.ClickGUI; diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java index 052ee40..149a4e8 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.widgets.frames; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.sputnik.SettingsFrameEvent; +import me.retucio.sputnik.event.sputnik.SettingsFrameEvent; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.*; import me.retucio.sputnik.module.setting.settings.*; diff --git a/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java index 3ec3a6d..9ee6ffd 100644 --- a/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java @@ -1,7 +1,7 @@ package me.retucio.sputnik.ui.widgets.frames.settings; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.event.events.sputnik.GUISettingsFrameEvent; +import me.retucio.sputnik.event.sputnik.GUISettingsFrameEvent; import me.retucio.sputnik.module.modules.client.GUI; import me.retucio.sputnik.module.setting.SettingGroup; import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; @@ -10,8 +10,6 @@ import me.retucio.sputnik.ui.widgets.buttons.SettingButton; import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.DrawContext; -import java.util.List; - public class ClientSettingsFrame extends SettingsFrame { public static final GUI guiSettings = new GUI(); diff --git a/src/main/java/me/retucio/sputnik/util/ChatUtil.java b/src/main/java/me/retucio/sputnik/util/ChatUtil.java index ee9a8ab..2b4e32b 100644 --- a/src/main/java/me/retucio/sputnik/util/ChatUtil.java +++ b/src/main/java/me/retucio/sputnik/util/ChatUtil.java @@ -2,10 +2,8 @@ package me.retucio.sputnik.util; import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.Sputnik; -import me.retucio.sputnik.command.Command; import me.retucio.sputnik.command.CommandManager; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.sputnik.LoadModuleManagerEvent; +import me.retucio.sputnik.event.sputnik.LoadModuleManagerEvent; import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; @@ -17,7 +15,6 @@ public class ChatUtil { private static final MinecraftClient mc = MinecraftClient.getInstance(); private static String prefix = getDefaultPrefix(); - @SubscribeEvent public static void onLoadModuleManager(LoadModuleManagerEvent event) { prefix = Colors.getFormatting(Colors.mainColor) + "[" + ClientSettingsFrame.guiSettings.chatName.getValue() + "] "; } diff --git a/src/main/java/me/retucio/sputnik/util/InventoryUtil.java b/src/main/java/me/retucio/sputnik/util/InventoryUtil.java index 05acd0d..8c2abbc 100644 --- a/src/main/java/me/retucio/sputnik/util/InventoryUtil.java +++ b/src/main/java/me/retucio/sputnik/util/InventoryUtil.java @@ -1,8 +1,7 @@ package me.retucio.sputnik.util; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.DisconnectEvent; -import me.retucio.sputnik.event.events.interact.OpenScreenEvent; +import me.retucio.sputnik.event.network.DisconnectEvent; +import me.retucio.sputnik.event.interact.OpenScreenEvent; import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; import net.minecraft.client.gui.screen.ingame.HandledScreen; @@ -39,7 +38,7 @@ public class InventoryUtil { public static ItemStack find(Predicate predicate) { if (mc.player == null) return null; - for (int i = 0; i <= mc.player.getInventory().size(); i++) { + for (int i = 0; i < mc.player.getInventory().size(); i++) { ItemStack stack = mc.player.getInventory().getStack(i); if (predicate.test(stack)) { return stack; @@ -48,6 +47,18 @@ public class InventoryUtil { return null; } + public static List findAll(Predicate predicate) { + List stacks = new ArrayList<>(); + if (mc.player == null) return stacks; + for (int i = 0; i < mc.player.getInventory().size(); i++) { + ItemStack stack = mc.player.getInventory().getStack(i); + if (predicate.test(stack)) { + stacks.add(stack); + } + } + return stacks; + } + public static ItemStack getStackOf(Item item) { if (mc.player == null) return null; for (ItemStack stack : mc.player.getInventory()) @@ -80,6 +91,20 @@ public class InventoryUtil { return stacks; } + + public static void move(int fromSlot, int toSlot) { + if (mc.player == null || mc.interactionManager == null) return; + + int syncId = mc.player.playerScreenHandler.syncId; + + mc.interactionManager.clickSlot(syncId, fromSlot, 0, SlotActionType.PICKUP, mc.player); + mc.interactionManager.clickSlot(syncId, toSlot, 0, SlotActionType.PICKUP, mc.player); + + if (!mc.player.playerScreenHandler.getCursorStack().isEmpty()) { + mc.interactionManager.clickSlot(syncId, fromSlot, 0, SlotActionType.PICKUP, mc.player); + } + } + public static void swapSlots(int containerSlot1, int containerSlot2, HandledScreen screen) { swapSlots(containerSlot1, containerSlot2, screen.getScreenHandler()); } @@ -303,7 +328,6 @@ public class InventoryUtil { return -1; } - @SubscribeEvent public static void onOpenScreen(OpenScreenEvent event) { if (mc.player == null || event.getScreen() == null @@ -315,7 +339,6 @@ public class InventoryUtil { echestInv = handler.getInventory(); } - @SubscribeEvent public void onDisconnect(DisconnectEvent event) { echestInv = null; } diff --git a/src/main/java/me/retucio/sputnik/util/MiscUtil.java b/src/main/java/me/retucio/sputnik/util/MiscUtil.java index 65be1c3..743b23f 100644 --- a/src/main/java/me/retucio/sputnik/util/MiscUtil.java +++ b/src/main/java/me/retucio/sputnik/util/MiscUtil.java @@ -1,7 +1,6 @@ package me.retucio.sputnik.util; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.TickEvent; +import me.retucio.sputnik.event.TickEvent; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.client.HUD; import net.minecraft.client.gui.screen.Screen; @@ -21,7 +20,6 @@ public class MiscUtil { public static Screen screen; - @SubscribeEvent public static void onTick(TickEvent.Post event) { if (screen != null && mc.currentScreen == null) { mc.setScreen(screen); diff --git a/src/main/java/me/retucio/sputnik/util/NetworkUtil.java b/src/main/java/me/retucio/sputnik/util/NetworkUtil.java index aae0a7c..524ed2c 100644 --- a/src/main/java/me/retucio/sputnik/util/NetworkUtil.java +++ b/src/main/java/me/retucio/sputnik/util/NetworkUtil.java @@ -1,8 +1,7 @@ package me.retucio.sputnik.util; -import me.retucio.sputnik.event.SubscribeEvent; -import me.retucio.sputnik.event.events.network.PacketEvent; +import me.retucio.sputnik.event.network.PacketEvent; import net.minecraft.client.MinecraftClient; import net.minecraft.network.ClientConnection; import net.minecraft.network.listener.PacketListener; @@ -41,7 +40,6 @@ public class NetworkUtil { estimatedTPS = sum / tpsHistory.size(); } - @SubscribeEvent public void onReceivePacket(PacketEvent.Receive event) { if (event.getPacket() instanceof WorldTimeUpdateS2CPacket packet) { long currentWorldTime = packet.time(); diff --git a/src/main/resources/sputnik.accesswidener b/src/main/resources/sputnik.accesswidener index 98a3eba..df6ab95 100644 --- a/src/main/resources/sputnik.accesswidener +++ b/src/main/resources/sputnik.accesswidener @@ -16,6 +16,10 @@ accessible method net/minecraft/client/font/FontManager getStorageInternal (Lnet accessible class net/minecraft/client/font/TextRenderer$Drawer accessible field net/minecraft/client/font/TextHandler widthRetriever Lnet/minecraft/client/font/TextHandler$WidthRetriever; +# chat +accessible class net/minecraft/client/gui/hud/ChatHud$Interactable +accessible class net/minecraft/client/gui/hud/ChatHud$LineConsumer + # entidad accessible field net/minecraft/entity/LivingEntity jumpingCooldown I accessible method net/minecraft/entity/Entity setFlag (IZ)V diff --git a/src/main/resources/sputnik.mixins.json b/src/main/resources/sputnik.mixins.json index ba85662..b9e3979 100644 --- a/src/main/resources/sputnik.mixins.json +++ b/src/main/resources/sputnik.mixins.json @@ -41,6 +41,8 @@ "accessors.OverlayTextureAccessor", "mixins.entity.EntityRendererMixin", "mixins.hud.BossBarHudMixin", + "mixins.hud.ChatHudInteractableMixin", + "mixins.hud.ChatHudLineConsumerMixin", "mixins.hud.ChatHudLineMixin", "mixins.hud.ChatHudLineVisibleMixin", "mixins.hud.ChatHudMixin", @@ -58,6 +60,7 @@ "mixins.network.ResourcePackPolicyMixin", "mixins.network.ServerInfoMixin", "mixins.network.TelemetryManagerMixin", + "mixins.player.ClientPlayerInteractionManagerMixin", "mixins.render.BufferStorageMixin", "mixins.render.CameraMixin", "mixins.render.CapeFeatureRendererMixin",