From a9fd8da7f5e6a4daa803ebab4f4725cd4a93ec60 Mon Sep 17 00:00:00 2001 From: retuci0 Date: Mon, 9 Feb 2026 17:52:39 +0100 Subject: [PATCH] v3.1 --- cambios.md | 31 +--- gradle.properties | 2 +- src/main/java/me/retucio/sputnik/Sputnik.java | 20 ++- .../sputnik/command/commands/SendCommand.java | 2 +- .../sputnik/event/events/ShutdownEvent.java | 3 +- .../sputnik/event/events/TickEvent.java | 5 +- .../sputnik/event/events/input/KeyEvent.java | 3 +- .../event/events/input/MouseClickEvent.java | 3 +- .../event/events/input/MouseScrollEvent.java | 3 +- .../events/interact/AttackEntityEvent.java | 3 +- .../events/interact/BreakBlockEvent.java | 3 +- .../events/interact/DamageItemEvent.java | 3 +- .../events/interact/InteractEntityEvent.java | 3 +- .../events/interact/OpenScreenEvent.java | 3 +- .../events/interact/PlaceBlockEvent.java | 3 +- .../events/interact/SwitchSlotEvent.java | 26 +++ .../event/events/interact/UseItemEvent.java | 3 +- .../event/events/network/AddEntityEvent.java | 3 +- .../events/network/ChunkOcclusionEvent.java | 3 +- .../event/events/network/DisconnectEvent.java | 3 +- .../event/events/network/JoinWorldEvent.java | 3 +- .../event/events/network/PacketEvent.java | 7 +- .../events/network/ReceiveMessageEvent.java | 3 +- .../events/network/RemoveEntityEvent.java | 3 +- .../events/network/SendMessageEvent.java | 3 +- .../events/render/ChangeRotationEvent.java | 7 +- .../event/events/render/GetFOVEvent.java | 3 +- .../events/render/PerspectiveChangeEvent.java | 3 +- .../event/events/render/Render3DEvent.java | 3 +- .../event/events/render/RenderArmEvent.java | 3 +- .../events/render/RenderBossbarEvent.java | 7 +- .../events/render/RenderHeldItemEvent.java | 3 +- .../AbstractBlockAccessor.java | 2 +- .../AbstractSignEditScreenAccessor.java | 2 +- .../AnvilScreenAccessor.java | 2 +- .../ClientPlayNetworkHandlerAccessor.java | 2 +- ...nfirmServerResourcePackScreenAccessor.java | 2 +- .../FishingBobberEntityAccessor.java | 2 +- .../HandledScreenAccessor.java | 2 +- .../KeyBindingAccessor.java | 2 +- .../OverlayTextureAccessor.java | 2 +- .../{accessor => accessors}/PackAccessor.java | 2 +- .../StatusEffectInstanceAccessor.java | 2 +- .../entity}/AbstractBoatEntityMixin.java | 2 +- .../{ => mixins/entity}/EntityMixin.java | 2 +- .../mixins/entity/EntityRendererMixin.java | 37 ++++ .../{ => mixins/entity}/ItemEntityMixin.java | 2 +- .../entity}/LivingEntityMixin.java | 2 +- .../{ => mixins/hud}/BossBarHudMixin.java | 2 +- .../{ => mixins/hud}/ChatHudLineMixin.java | 2 +- .../hud}/ChatHudLineVisibleMixin.java | 2 +- .../mixin/{ => mixins/hud}/ChatHudMixin.java | 2 +- .../{ => mixins/hud}/InGameHudMixin.java | 2 +- .../mixin/{ => mixins/io}/KeyInputMixin.java | 2 +- .../mixin/{ => mixins/io}/KeyboardMixin.java | 2 +- .../mixin/{ => mixins/io}/MouseMixin.java | 2 +- .../io}/ScreenshotRecorderMixin.java | 2 +- .../mixin/{ => mixins/item}/ItemMixin.java | 2 +- .../{ => mixins/item}/ItemStackMixin.java | 2 +- .../{ => mixins/item}/TridentItemMixin.java | 6 +- .../{ => mixins/misc}/FontManagerMixin.java | 2 +- .../{ => mixins/misc}/GameOptionsMixin.java | 2 +- .../misc}/MinecraftClientMixin.java | 2 +- .../{ => mixins/misc}/StringHelperMixin.java | 2 +- .../mixin/{ => mixins/misc}/Vec3dMixin.java | 2 +- .../network}/ChatInputSuggestorMixin.java | 2 +- .../ClientCommonNetworkHandlerMixin.java | 6 +- .../network}/ClientConnectionMixin.java | 2 +- .../ClientPlayNetworkHandlerMixin.java | 2 +- .../network}/HandshakeC2SPacketMixin.java | 2 +- .../network}/MessageHandlerMixin.java | 2 +- .../network}/ResourcePackPolicyMixin.java | 2 +- .../network}/ServerConnectorMixin.java | 2 +- .../{ => mixins/network}/ServerInfoMixin.java | 2 +- .../network}/TelemetryManagerMixin.java | 2 +- .../YggdrasilUserApiServiceMixin.java | 2 +- .../player}/ClientPlayerEntityMixin.java | 2 +- .../ClientPlayerInteractionManagerMixin.java | 2 +- .../player}/PlayerEntityMixin.java | 2 +- .../mixins/player/PlayerInventoryMixin.java | 25 +++ .../render}/BufferStorageMixin.java | 2 +- .../{ => mixins/render}/CameraMixin.java | 2 +- .../render}/CapeFeatureRendererMixin.java | 2 +- .../ChunkBorderDebugRendererMixin.java | 2 +- .../render}/ElytraFeatureRendererMixin.java | 2 +- .../EntityHitboxDebugRendererMixin.java | 19 ++ .../render}/EquipmentRendererMixin.java | 2 +- .../{ => mixins/render}/FogRendererMixin.java | 2 +- .../render}/GameRendererMixin.java | 2 +- .../render}/HeldItemRendererMixin.java | 2 +- .../render}/InGameOverlayRendererMixin.java | 2 +- .../render}/ItemRendererMixin.java | 2 +- .../render}/LightmapTextureManagerMixin.java | 2 +- .../render}/LivingEntityRendererMixin.java | 7 +- .../render}/OverlayTextureMixin.java | 2 +- .../render}/ShaderLoaderMixin.java | 2 +- .../{ => mixins/render}/SkyRendererMixin.java | 2 +- .../render}/StatusEffectFogModifierMixin.java | 2 +- .../StuckArrowsFeatureRendererMixin.java | 2 +- .../render}/TextRendererDrawerMixin.java | 2 +- .../render}/TextRendererMixin.java | 2 +- .../render}/WeatherRenderingMixin.java | 2 +- .../render}/WorldRendererMixin.java | 20 +-- .../{ => mixins/screen}/ChatScreenMixin.java | 2 +- .../screen}/ConfirmScreenMixin.java | 2 +- .../screen}/CreativeInventoryScreenMixin.java | 4 +- .../screen}/DisconnectedScreenMixin.java | 2 +- .../{ => mixins/screen}/ScreenMixin.java | 2 +- .../BlockCollisionSpliteratorMixin.java | 2 +- .../ChunkOcclusionDataBuilderMixin.java | 2 +- .../{ => mixins/world}/ClientWorldMixin.java | 2 +- .../world}/ClientWorldPropertiesMixin.java | 2 +- .../world}/DamageParticleMixin.java | 2 +- .../world}/EmitterParticleMixin.java | 2 +- .../world}/ParticleManagerMixin.java | 2 +- .../retucio/sputnik/module/ModuleManager.java | 2 + .../module/modules/camera/Freecam.java | 20 ++- .../module/modules/camera/Freelook.java | 6 +- .../module/modules/camera/Fullbright.java | 5 +- .../sputnik/module/modules/camera/Zoom.java | 1 + .../module/modules/combat/MaceKill.java | 8 +- .../module/modules/misc/AntiInvis.java | 3 +- .../module/modules/misc/AnvilFont.java | 2 +- .../sputnik/module/modules/misc/ChatPlus.java | 12 +- .../misc/CreativeInventoryHotbarKeybinds.java | 3 +- .../module/modules/misc/ScreenshotPlus.java | 3 +- .../module/modules/misc/ShulkerPeek.java | 2 +- .../module/modules/movement/Slippy.java | 2 +- .../module/modules/movement/UIMove.java | 2 +- .../module/modules/network/PacketMine.java | 140 +++++++++++++-- .../module/modules/network/RPackBypass.java | 15 +- .../module/modules/player/AutoFish.java | 49 +++++- .../module/modules/player/HandView.java | 3 +- .../module/modules/player/InventoryPlus.java | 2 +- .../sputnik/module/modules/player/NoFall.java | 68 ++++++-- .../module/modules/player/PortalGUI.java | 3 +- .../module/modules/render/BlockOutline.java | 4 +- .../module/modules/render/CritsPlus.java | 5 +- .../module/modules/render/DamageOverlay.java | 5 +- .../module/modules/render/EntityESP.java | 107 ++++++++++++ .../module/modules/render/GlintPlus.java | 9 +- .../module/modules/render/Hitboxes.java | 30 ++++ .../module/modules/render/Nametags.java | 13 +- .../module/modules/render/NoRender.java | 24 +-- .../module/modules/world/AutoSign.java | 2 +- .../module/modules/world/AutoTool.java | 2 +- .../module/modules/world/TimeChanger.java | 6 +- .../sputnik/ui/screen/UpdateScreen.java | 79 +++++++++ .../retucio/sputnik/util/InventoryUtil.java | 4 +- .../java/me/retucio/sputnik/util/KeyUtil.java | 8 +- .../retucio/sputnik/util/VersionChecker.java | 113 ++++++++++++ src/main/resources/sputnik.mixins.json | 163 +++++++++--------- 152 files changed, 1024 insertions(+), 351 deletions(-) create mode 100644 src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/AbstractBlockAccessor.java (88%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/AbstractSignEditScreenAccessor.java (89%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/AnvilScreenAccessor.java (90%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/ClientPlayNetworkHandlerAccessor.java (92%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/ConfirmServerResourcePackScreenAccessor.java (91%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/FishingBobberEntityAccessor.java (89%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/HandledScreenAccessor.java (90%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/KeyBindingAccessor.java (87%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/OverlayTextureAccessor.java (90%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/PackAccessor.java (88%) rename src/main/java/me/retucio/sputnik/mixin/{accessor => accessors}/StatusEffectInstanceAccessor.java (87%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/entity}/AbstractBoatEntityMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/entity}/EntityMixin.java (99%) create mode 100644 src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityRendererMixin.java rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/entity}/ItemEntityMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/entity}/LivingEntityMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/hud}/BossBarHudMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/hud}/ChatHudLineMixin.java (95%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/hud}/ChatHudLineVisibleMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/hud}/ChatHudMixin.java (99%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/hud}/InGameHudMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/io}/KeyInputMixin.java (95%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/io}/KeyboardMixin.java (95%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/io}/MouseMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/io}/ScreenshotRecorderMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/item}/ItemMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/item}/ItemStackMixin.java (95%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/item}/TridentItemMixin.java (89%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/misc}/FontManagerMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/misc}/GameOptionsMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/misc}/MinecraftClientMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/misc}/StringHelperMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/misc}/Vec3dMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ChatInputSuggestorMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ClientCommonNetworkHandlerMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ClientConnectionMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ClientPlayNetworkHandlerMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/HandshakeC2SPacketMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/MessageHandlerMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ResourcePackPolicyMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ServerConnectorMixin.java (95%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/ServerInfoMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/TelemetryManagerMixin.java (92%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/network}/YggdrasilUserApiServiceMixin.java (93%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/player}/ClientPlayerEntityMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/player}/ClientPlayerInteractionManagerMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/player}/PlayerEntityMixin.java (98%) create mode 100644 src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerInventoryMixin.java rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/BufferStorageMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/CameraMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/CapeFeatureRendererMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/ChunkBorderDebugRendererMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/ElytraFeatureRendererMixin.java (97%) create mode 100644 src/main/java/me/retucio/sputnik/mixin/mixins/render/EntityHitboxDebugRendererMixin.java rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/EquipmentRendererMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/FogRendererMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/GameRendererMixin.java (99%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/HeldItemRendererMixin.java (99%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/InGameOverlayRendererMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/ItemRendererMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/LightmapTextureManagerMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/LivingEntityRendererMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/OverlayTextureMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/ShaderLoaderMixin.java (92%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/SkyRendererMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/StatusEffectFogModifierMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/StuckArrowsFeatureRendererMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/TextRendererDrawerMixin.java (98%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/TextRendererMixin.java (93%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/WeatherRenderingMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/render}/WorldRendererMixin.java (76%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/screen}/ChatScreenMixin.java (95%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/screen}/ConfirmScreenMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/screen}/CreativeInventoryScreenMixin.java (91%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/screen}/DisconnectedScreenMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/screen}/ScreenMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/BlockCollisionSpliteratorMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/ChunkOcclusionDataBuilderMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/ClientWorldMixin.java (96%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/ClientWorldPropertiesMixin.java (94%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/DamageParticleMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/EmitterParticleMixin.java (97%) rename src/main/java/me/retucio/sputnik/mixin/{ => mixins/world}/ParticleManagerMixin.java (95%) create mode 100644 src/main/java/me/retucio/sputnik/module/modules/render/EntityESP.java create mode 100644 src/main/java/me/retucio/sputnik/module/modules/render/Hitboxes.java create mode 100644 src/main/java/me/retucio/sputnik/ui/screen/UpdateScreen.java create mode 100644 src/main/java/me/retucio/sputnik/util/VersionChecker.java diff --git a/cambios.md b/cambios.md index 73cc955..d1a83e2 100644 --- a/cambios.md +++ b/cambios.md @@ -1,36 +1,23 @@ -# v3.0 +# v3.1 ## novedades -- categoría de combate +- aviso para actualizar ### adiciones #### módulos nuevos: -- colocar en aire: te permite colocar bloques sin soporte alguno -- tobillos fuertes: evita el daño de caída, ya sea por medio de paquetes o amortiguándola con un cubo de agua, si este está disponible -- don quijote: te acelera para inflingir cantidades importantes de daño con la lanza -- auto herramienta: cambia automáticamente a la herramienta más veloz disponible para el bloque seleccionado -- autismo: da vueltas -- anti hambre: previene el hambre, cancelando los paquetes que le indican al server que empiezas a esprintar -- trayectoria: preve la trayectoria de los proyectiles (maomeno, aún lo tengo que ajustar un poco) -- hotkeys inv. creativo: te permite usar las teclas de la hotbar correctamente en la pestaña de búsqueda, por ejemplo, si tienes el slot 5 en la E, al posicionar el cursor sobre un stack del resultado de búsqueda, y darle a la E, en vez de escribir una E, actúa como las teclas del 1-9 -- auto pesca: pesca por ti - -#### comandos nuevos: - -- `$plugins`: trata de buscar plugins del server al que estás conectado mediante la búsqueda de comandos no vanilla -- `$clickslot`: simula un clic en un slot específico, también se especifica el botón del ratón y la acción -- `$wait`: espera un delay determinado antes de enviar un mensaje / ejecutar un comando -- `$repeat`: repite un comando o mensaje x veces +- resaltado de entidades: wallhack para entidades, modo de caja y de brillo +- hitboxes: cambia el color de las hitboxes de f3+b ### arreglos / mejoras -- delfín ahora funciona mejor (*ruidos de delfín*) -- barco volador ahora usa el ajuste de velocidad vertical -- escalones inversos ahora usa el ajuste de velocidad -- ahora puedes ver el tiempo restante hasta que una entidad de tnt explote +- más opciones para amortiguar caídas con tobillos fuertes +- selección de minado ahora solo renderizará el contorno si su ajuste está activado +- prioridad de selección de minado, cuantos más clics tenga un bloque, mayor será su prioridad. también la opción de deseleccionar un bloque. +- opción para minar bloques en orden forzosamente en selección de minado (no funciona del todo) +- evitar romper la caña si está a punto de romperse en auto pesca ## problemas reconocidos diff --git a/gradle.properties b/gradle.properties index 2755528..0bd0a03 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,6 +8,6 @@ loom_version=1.13-SNAPSHOT fabric_api_version=0.140.2+1.21.11 -mod_version=3.0 +mod_version=3.1 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 7d1fd50..5e4375a 100644 --- a/src/main/java/me/retucio/sputnik/Sputnik.java +++ b/src/main/java/me/retucio/sputnik/Sputnik.java @@ -1,6 +1,5 @@ package me.retucio.sputnik; - import me.retucio.sputnik.cape.CapeManager; import me.retucio.sputnik.command.CommandManager; import me.retucio.sputnik.command.commands.BindCommand; @@ -22,6 +21,7 @@ import me.retucio.sputnik.module.modules.client.HUD; import me.retucio.sputnik.ui.hud.HudRenderer; import me.retucio.sputnik.ui.screen.ClickGUI; import me.retucio.sputnik.ui.hud.HudEditorScreen; +import me.retucio.sputnik.ui.screen.UpdateScreen; import me.retucio.sputnik.ui.widgets.buttons.settings.BindButton; import me.retucio.sputnik.ui.widgets.buttons.SettingButton; import me.retucio.sputnik.ui.widgets.buttons.settings.TextButton; @@ -32,7 +32,6 @@ import me.retucio.sputnik.ui.widgets.Button; import me.retucio.sputnik.util.*; import me.retucio.sputnik.util.KeyUtil; import me.retucio.sputnik.util.render.DrawUtil; -import me.retucio.sputnik.util.render.Pipelines; import me.retucio.sputnik.util.render.RenderUtil; import me.retucio.sputnik.util.render.Textures; @@ -51,6 +50,13 @@ 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 { @@ -83,6 +89,8 @@ public class Sputnik implements ClientModInitializer { mc = MinecraftClient.getInstance(); ConfigManager.load(); + VersionChecker.check(); + EVENT_BUS.register(this); EVENT_BUS.register(ChatUtil.class); @@ -94,7 +102,6 @@ public class Sputnik implements ClientModInitializer { EVENT_BUS.register(RenderUtil.class); Lists.init(); - Textures.init(); CapeManager.INSTANCE = new CapeManager(); @@ -126,6 +133,11 @@ public class Sputnik implements ClientModInitializer { settingsApplied = true; } + if (VersionChecker.shouldShowScreen && !(mc.currentScreen instanceof UpdateScreen)) { + VersionChecker.shouldShowScreen = false; + CompletableFuture.delayedExecutor(5, TimeUnit.SECONDS).execute(() -> mc.execute(() -> mc.setScreen(new UpdateScreen()))); + } + ModuleManager.INSTANCE.getEnabledModules().forEach(Module::onTick); mc.getWindow().setTitle(ClientSettingsFrame.guiSettings.windowTitle.getValue()); } @@ -189,8 +201,6 @@ public class Sputnik implements ClientModInitializer { if (key != ClientSettingsFrame.guiSettings.getKey() || anyFocused || isOnTypingScreen()) return; - // al parecer esto hace que con la tecla de la interfaz puedas ir cambiando de splash text en la pantalla del título - // pero me ha hecho gracia así que así se queda if (mc.currentScreen != ClickGUI.INSTANCE) { prevScreen = mc.currentScreen; mc.setScreen(ClickGUI.INSTANCE); diff --git a/src/main/java/me/retucio/sputnik/command/commands/SendCommand.java b/src/main/java/me/retucio/sputnik/command/commands/SendCommand.java index 5751ca0..929e931 100644 --- a/src/main/java/me/retucio/sputnik/command/commands/SendCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/SendCommand.java @@ -3,7 +3,7 @@ package me.retucio.sputnik.command.commands; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import me.retucio.sputnik.command.Command; -import me.retucio.sputnik.mixin.accessor.ClientPlayNetworkHandlerAccessor; +import me.retucio.sputnik.mixin.accessors.ClientPlayNetworkHandlerAccessor; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.command.CommandSource; import net.minecraft.network.encryption.NetworkEncryptionUtils; diff --git a/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java b/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java index df92039..471da5e 100644 --- a/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.event.events; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; /** - * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onStop + * @see MinecraftClientMixin#onStop */ public class ShutdownEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/TickEvent.java b/src/main/java/me/retucio/sputnik/event/events/TickEvent.java index fb08bad..9e644c6 100644 --- a/src/main/java/me/retucio/sputnik/event/events/TickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/TickEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; /** - * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onTickPre - * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onTickPost + * @see MinecraftClientMixin#onTickPre + * @see MinecraftClientMixin#onTickPost */ public class TickEvent { diff --git a/src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java b/src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java index 40dc62e..933350b 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/input/KeyEvent.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.event.events.input; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.io.KeyboardMixin; /** - * @see me.retucio.sputnik.mixin.KeyboardMixin#onKeyPress + * @see KeyboardMixin#onKeyPress */ public class KeyEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java b/src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java index 4698c76..127b49d 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/input/MouseClickEvent.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.event.events.input; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.io.MouseMixin; /** - * @see me.retucio.sputnik.mixin.MouseMixin#onMouseButton + * @see MouseMixin#onMouseButton */ public class MouseClickEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java b/src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java index 286d279..e0e1434 100644 --- a/src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/input/MouseScrollEvent.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.event.events.input; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.io.MouseMixin; /** - * @see me.retucio.sputnik.mixin.MouseMixin#onMouseScroll + * @see MouseMixin#onMouseScroll */ public class MouseScrollEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java index 9228cbe..810dff7 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/AttackEntityEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.entity.Entity; /** - * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onAttackEntity + * @see ClientPlayerInteractionManagerMixin#onAttackEntity */ public class AttackEntityEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java index a7624c9..210b976 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/BreakBlockEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.util.math.BlockPos; /** - * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onBlockBreak + * @see ClientPlayerInteractionManagerMixin#onBlockBreak */ public class BreakBlockEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java index 704f3ae..5b2ac53 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/DamageItemEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.item.ItemStackMixin; import net.minecraft.item.ItemStack; /** - * @see me.retucio.sputnik.mixin.ItemStackMixin#onDamage + * @see ItemStackMixin#onDamage */ public class DamageItemEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java index 5602ab5..e42adbd 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/InteractEntityEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.entity.Entity; import net.minecraft.util.Hand; /** - * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onEntityInteract + * @see ClientPlayerInteractionManagerMixin#onEntityInteract */ public class InteractEntityEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java index 963ebc8..b50f378 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/OpenScreenEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; import net.minecraft.client.gui.screen.Screen; /** - * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onOpenScreen + * @see MinecraftClientMixin#onOpenScreen */ public class OpenScreenEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java index e8f3c7e..d34ef66 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/PlaceBlockEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; /** - * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onBlockPlace + * @see ClientPlayerInteractionManagerMixin#onBlockPlace */ public class PlaceBlockEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java new file mode 100644 index 0000000..5c1fae5 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/event/events/interact/SwitchSlotEvent.java @@ -0,0 +1,26 @@ +package me.retucio.sputnik.event.events.interact; + +import me.retucio.sputnik.event.Event; + +public class SwitchSlotEvent extends Event { + + private final int prevSlot; + private int slot; + + public SwitchSlotEvent(int prevSlot, int slot) { + this.prevSlot = prevSlot; + this.slot = slot; + } + + public int getPrevSlot() { + return prevSlot; + } + + public int getSlot() { + return slot; + } + + public void setSlot(int slot) { + this.slot = slot; + } +} diff --git a/src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java b/src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java index 9c1aef0..162e374 100644 --- a/src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/interact/UseItemEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.interact; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; import net.minecraft.item.ItemStack; import net.minecraft.util.Hand; /** - * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onUseItem + * @see MinecraftClientMixin#onUseItem */ public class UseItemEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java index 8512177..cd17af6 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/AddEntityEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.world.ClientWorldMixin; import net.minecraft.entity.Entity; /** - * @see me.retucio.sputnik.mixin.ClientWorldMixin#onAddEntity + * @see ClientWorldMixin#onAddEntity */ public class AddEntityEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java index 3de3b79..61cae4f 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/ChunkOcclusionEvent.java @@ -1,9 +1,10 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.world.ChunkOcclusionDataBuilderMixin; /** - * @see me.retucio.sputnik.mixin.ChunkOcclusionDataBuilderMixin#onChunkOcclusion + * @see ChunkOcclusionDataBuilderMixin#onChunkOcclusion */ public class ChunkOcclusionEvent extends Event {} diff --git a/src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java index 7489939..b4b1eaa 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/DisconnectEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.network.ClientConnectionMixin; import net.minecraft.client.network.ServerInfo; import net.minecraft.network.DisconnectionInfo; /** - * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onDisconnect + * @see ClientConnectionMixin#onDisconnect */ public class DisconnectEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java index 69ca1fa..5fb29f8 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/JoinWorldEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.misc.MinecraftClientMixin; import net.minecraft.client.world.ClientWorld; /** - * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onJoinWorld + * @see MinecraftClientMixin#onJoinWorld */ public class JoinWorldEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java index a1a2829..ff6a0f2 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/PacketEvent.java @@ -2,13 +2,14 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; import me.retucio.sputnik.event.Stage; +import me.retucio.sputnik.mixin.mixins.network.ClientConnectionMixin; import net.minecraft.network.packet.Packet; /** - * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onSendPacketPre - * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onSendPacketPost - * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onReceivePacket + * @see ClientConnectionMixin#onSendPacketPre + * @see ClientConnectionMixin#onSendPacketPost + * @see ClientConnectionMixin#onReceivePacket */ public class PacketEvent { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java index e6b9e42..c4a0477 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/ReceiveMessageEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.hud.ChatHudMixin; import net.minecraft.client.gui.hud.MessageIndicator; import net.minecraft.text.Text; /** - * @see me.retucio.sputnik.mixin.ChatHudMixin#onAddMessage + * @see ChatHudMixin#onAddMessage */ public class ReceiveMessageEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java index 04f229c..2882ca4 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/RemoveEntityEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.world.ClientWorldMixin; import net.minecraft.entity.Entity; /** - * @see me.retucio.sputnik.mixin.ClientWorldMixin#onRemoveEntity + * @see ClientWorldMixin#onRemoveEntity */ public class RemoveEntityEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java b/src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java index d1b38b6..322966a 100644 --- a/src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/network/SendMessageEvent.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.event.events.network; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.network.ClientPlayNetworkHandlerMixin; /** - * @see me.retucio.sputnik.mixin.ClientPlayNetworkHandlerMixin#onSendMessage + * @see ClientPlayNetworkHandlerMixin#onSendMessage */ public class SendMessageEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java index e45d653..1ca5dbc 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/ChangeRotationEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.entity.EntityMixin; /** - * @see me.retucio.sputnik.mixin.EntityMixin#onRotation - * @see me.retucio.sputnik.mixin.EntityMixin#onChangeYaw - * @see me.retucio.sputnik.mixin.EntityMixin#onChangePitch + * @see EntityMixin#onRotation + * @see EntityMixin#onChangeYaw + * @see EntityMixin#onChangePitch */ public class ChangeRotationEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java index 6ca97f1..e5b377c 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/GetFOVEvent.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.render.GameRendererMixin; /** - * @see me.retucio.sputnik.mixin.GameRendererMixin#modifyFov + * @see GameRendererMixin#modifyFov */ public class GetFOVEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java index 682ec4d..f5f8f84 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/PerspectiveChangeEvent.java @@ -1,11 +1,12 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.misc.GameOptionsMixin; import net.minecraft.client.option.Perspective; /** - * @see me.retucio.sputnik.mixin.GameOptionsMixin#changePerspective + * @see GameOptionsMixin#changePerspective */ public class PerspectiveChangeEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java index 15a713e..237db8e 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/Render3DEvent.java @@ -1,13 +1,14 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.render.WorldRendererMixin; import net.minecraft.client.render.Camera; import net.minecraft.client.render.RenderTickCounter; import net.minecraft.client.util.math.MatrixStack; /** - * @see me.retucio.sputnik.mixin.WorldRendererMixin#render + * @see WorldRendererMixin#render */ public class Render3DEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java index eb9a8e0..2a58ca4 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/RenderArmEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; /** - * @see me.retucio.sputnik.mixin.HeldItemRendererMixin#onRenderArm + * @see HeldItemRendererMixin#onRenderArm */ public class RenderArmEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java index 6067310..827c023 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/RenderBossbarEvent.java @@ -1,6 +1,7 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.hud.BossBarHudMixin; import net.minecraft.client.gui.hud.ClientBossBar; import net.minecraft.text.Text; @@ -8,9 +9,9 @@ import java.util.Iterator; /** - * @see me.retucio.sputnik.mixin.BossBarHudMixin#modifyBossBarIterator - * @see me.retucio.sputnik.mixin.BossBarHudMixin#modifyBossBarName - * @see me.retucio.sputnik.mixin.BossBarHudMixin#modifySpacingConstant + * @see BossBarHudMixin#modifyBossBarIterator + * @see BossBarHudMixin#modifyBossBarName + * @see BossBarHudMixin#modifySpacingConstant */ public class RenderBossbarEvent { diff --git a/src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java b/src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java index a6f2699..eb5eed8 100644 --- a/src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/render/RenderHeldItemEvent.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.event.events.render; import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; /** - * @see me.retucio.sputnik.mixin.HeldItemRendererMixin#onRenderItem + * @see HeldItemRendererMixin#onRenderItem */ public class RenderHeldItemEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/AbstractBlockAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/AbstractBlockAccessor.java similarity index 88% rename from src/main/java/me/retucio/sputnik/mixin/accessor/AbstractBlockAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/AbstractBlockAccessor.java index f779a01..b3d45fa 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/AbstractBlockAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/AbstractBlockAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.block.AbstractBlock; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/AbstractSignEditScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/AbstractSignEditScreenAccessor.java similarity index 89% rename from src/main/java/me/retucio/sputnik/mixin/accessor/AbstractSignEditScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/AbstractSignEditScreenAccessor.java index e3a0a71..9ee44bc 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/AbstractSignEditScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/AbstractSignEditScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/AnvilScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/AnvilScreenAccessor.java similarity index 90% rename from src/main/java/me/retucio/sputnik/mixin/accessor/AnvilScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/AnvilScreenAccessor.java index b68ac1d..94ba08f 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/AnvilScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/AnvilScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.gui.screen.ingame.AnvilScreen; import net.minecraft.client.gui.widget.TextFieldWidget; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/ClientPlayNetworkHandlerAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/ClientPlayNetworkHandlerAccessor.java similarity index 92% rename from src/main/java/me/retucio/sputnik/mixin/accessor/ClientPlayNetworkHandlerAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/ClientPlayNetworkHandlerAccessor.java index 93f0963..2aa354c 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/ClientPlayNetworkHandlerAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/ClientPlayNetworkHandlerAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.network.message.LastSeenMessagesCollector; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/ConfirmServerResourcePackScreenAccessor.java similarity index 91% rename from src/main/java/me/retucio/sputnik/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/ConfirmServerResourcePackScreenAccessor.java index 7531a05..a7edf7c 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/ConfirmServerResourcePackScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.ClientCommonNetworkHandler; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/FishingBobberEntityAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/FishingBobberEntityAccessor.java similarity index 89% rename from src/main/java/me/retucio/sputnik/mixin/accessor/FishingBobberEntityAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/FishingBobberEntityAccessor.java index 9ed944a..7a87dd4 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/FishingBobberEntityAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/FishingBobberEntityAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.entity.projectile.FishingBobberEntity; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/HandledScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/HandledScreenAccessor.java similarity index 90% rename from src/main/java/me/retucio/sputnik/mixin/accessor/HandledScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/HandledScreenAccessor.java index 9f0f4cd..7fa245f 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/HandledScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/HandledScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.screen.slot.Slot; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/KeyBindingAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/KeyBindingAccessor.java similarity index 87% rename from src/main/java/me/retucio/sputnik/mixin/accessor/KeyBindingAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/KeyBindingAccessor.java index 66bf727..7c2b99b 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/KeyBindingAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/KeyBindingAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.util.InputUtil; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/OverlayTextureAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/OverlayTextureAccessor.java similarity index 90% rename from src/main/java/me/retucio/sputnik/mixin/accessor/OverlayTextureAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/OverlayTextureAccessor.java index b711d01..49e9632 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/OverlayTextureAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/OverlayTextureAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.texture.NativeImageBackedTexture; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/PackAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/PackAccessor.java similarity index 88% rename from src/main/java/me/retucio/sputnik/mixin/accessor/PackAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/PackAccessor.java index 993f63d..35a6372 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/PackAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/PackAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.client.network.ClientCommonNetworkHandler; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/accessor/StatusEffectInstanceAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessors/StatusEffectInstanceAccessor.java similarity index 87% rename from src/main/java/me/retucio/sputnik/mixin/accessor/StatusEffectInstanceAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessors/StatusEffectInstanceAccessor.java index 263b6a7..91da007 100644 --- a/src/main/java/me/retucio/sputnik/mixin/accessor/StatusEffectInstanceAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessors/StatusEffectInstanceAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin.accessor; +package me.retucio.sputnik.mixin.accessors; import net.minecraft.entity.effect.StatusEffectInstance; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/AbstractBoatEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/AbstractBoatEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java index 5cd405f..8e94aff 100644 --- a/src/main/java/me/retucio/sputnik/mixin/AbstractBoatEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/AbstractBoatEntityMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.entity; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.event.events.interact.BoatMoveEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/EntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java similarity index 99% rename from src/main/java/me/retucio/sputnik/mixin/EntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java index 342f035..60897a2 100644 --- a/src/main/java/me/retucio/sputnik/mixin/EntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.entity; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.event.events.render.ChangeRotationEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityRendererMixin.java new file mode 100644 index 0000000..c378e60 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/EntityRendererMixin.java @@ -0,0 +1,37 @@ +package me.retucio.sputnik.mixin.mixins.entity; + +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; +import com.llamalad7.mixinextras.sugar.Local; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.EntityESP; +import net.minecraft.client.render.entity.EntityRenderer; +import net.minecraft.client.render.entity.EntityRendererFactory; +import net.minecraft.entity.Entity; +import org.spongepowered.asm.mixin.Mixin; +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.callback.CallbackInfo; + +@Mixin(EntityRenderer.class) +public abstract class EntityRendererMixin { + + @Unique + private EntityESP esp; + + @Inject(method = "", at = @At("TAIL")) + private void getModules(EntityRendererFactory.Context context, CallbackInfo ci) { + esp = ModuleManager.INSTANCE.getModuleByClass(EntityESP.class); + } + + @ModifyExpressionValue(method = "updateRenderState", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;hasOutline(Lnet/minecraft/entity/Entity;)Z")) + private boolean renderGlowESP(boolean original, @Local(argsOnly = true) Entity entity) { + return (esp.isEnabled() && esp.mode.is(EntityESP.ESPMode.GLOW) && esp.entities.isEnabled(entity.getType())) || original; + } + + @ModifyExpressionValue(method = "updateRenderState", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;getTeamColorValue()I")) + private int setGlowESPColor(int original, @Local(argsOnly = true) Entity entity) { + if (esp.isEnabled() && esp.mode.is(EntityESP.ESPMode.GLOW) && esp.entities.isEnabled(entity.getType())) return esp.glowColor.getRGB(); + return original; + } +} diff --git a/src/main/java/me/retucio/sputnik/mixin/ItemEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/ItemEntityMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/ItemEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/entity/ItemEntityMixin.java index 277b3ed..bf9c791 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ItemEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/ItemEntityMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.entity; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/LivingEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/LivingEntityMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/LivingEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/entity/LivingEntityMixin.java index 17af2d6..048c5a4 100644 --- a/src/main/java/me/retucio/sputnik/mixin/LivingEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/entity/LivingEntityMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.entity; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.movement.ElytraBounce; diff --git a/src/main/java/me/retucio/sputnik/mixin/BossBarHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/BossBarHudMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java index 62fd689..f05b298 100644 --- a/src/main/java/me/retucio/sputnik/mixin/BossBarHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/BossBarHudMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.hud; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; diff --git a/src/main/java/me/retucio/sputnik/mixin/ChatHudLineMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/ChatHudLineMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineMixin.java index 725ff1b..dda03a0 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChatHudLineMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.hud; import com.mojang.authlib.GameProfile; import me.retucio.sputnik.util.interfaces.IChatHudLine; diff --git a/src/main/java/me/retucio/sputnik/mixin/ChatHudLineVisibleMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineVisibleMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/ChatHudLineVisibleMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineVisibleMixin.java index c21c56f..32bfac3 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChatHudLineVisibleMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudLineVisibleMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.hud; import com.mojang.authlib.GameProfile; import me.retucio.sputnik.util.interfaces.IChatHudLineVisible; diff --git a/src/main/java/me/retucio/sputnik/mixin/ChatHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java similarity index 99% rename from src/main/java/me/retucio/sputnik/mixin/ChatHudMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java index 7ea4f9d..d2f7af4 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChatHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/ChatHudMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.hud; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; diff --git a/src/main/java/me/retucio/sputnik/mixin/InGameHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/InGameHudMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java index 9f496bd..2c0d51e 100644 --- a/src/main/java/me/retucio/sputnik/mixin/InGameHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/hud/InGameHudMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.hud; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.Sputnik; diff --git a/src/main/java/me/retucio/sputnik/mixin/KeyInputMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyInputMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/KeyInputMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyInputMixin.java index 85d7bbe..a932a9f 100644 --- a/src/main/java/me/retucio/sputnik/mixin/KeyInputMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyInputMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.io; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freecam; diff --git a/src/main/java/me/retucio/sputnik/mixin/KeyboardMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/KeyboardMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java index 9acea1c..a29c002 100644 --- a/src/main/java/me/retucio/sputnik/mixin/KeyboardMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/io/KeyboardMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.io; import me.retucio.sputnik.Sputnik; import me.retucio.sputnik.event.events.input.KeyEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/MouseMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/MouseMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java index 9661020..34cb3bf 100644 --- a/src/main/java/me/retucio/sputnik/mixin/MouseMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/io/MouseMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.io; import me.retucio.sputnik.event.events.input.MouseClickEvent; import me.retucio.sputnik.event.events.input.MouseScrollEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/ScreenshotRecorderMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/io/ScreenshotRecorderMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/ScreenshotRecorderMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/io/ScreenshotRecorderMixin.java index 2f72493..2e9fe2d 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ScreenshotRecorderMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/io/ScreenshotRecorderMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.io; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.ScreenshotPlus; diff --git a/src/main/java/me/retucio/sputnik/mixin/ItemMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ItemMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java index fdbe293..bac98aa 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ItemMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.item; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.ShulkerPeek; diff --git a/src/main/java/me/retucio/sputnik/mixin/ItemStackMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/ItemStackMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java index b7cc5ee..aeb4f91 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ItemStackMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/item/ItemStackMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.item; import me.retucio.sputnik.event.events.interact.DamageItemEvent; import net.minecraft.item.Item; diff --git a/src/main/java/me/retucio/sputnik/mixin/TridentItemMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/item/TridentItemMixin.java similarity index 89% rename from src/main/java/me/retucio/sputnik/mixin/TridentItemMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/item/TridentItemMixin.java index 23571ef..0b2c896 100644 --- a/src/main/java/me/retucio/sputnik/mixin/TridentItemMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/item/TridentItemMixin.java @@ -1,16 +1,12 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.item; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.movement.TridentBoost; -import net.minecraft.item.Item; import net.minecraft.item.TridentItem; import org.spongepowered.asm.mixin.Mixin; -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.ModifyArgs; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.invoke.arg.Args; @Mixin(TridentItem.class) diff --git a/src/main/java/me/retucio/sputnik/mixin/FontManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/FontManagerMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/FontManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/misc/FontManagerMixin.java index ee053d9..53cabcb 100644 --- a/src/main/java/me/retucio/sputnik/mixin/FontManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/FontManagerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.misc; import me.retucio.sputnik.Sputnik; diff --git a/src/main/java/me/retucio/sputnik/mixin/GameOptionsMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/GameOptionsMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java index 68b789e..f626058 100644 --- a/src/main/java/me/retucio/sputnik/mixin/GameOptionsMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/GameOptionsMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.misc; import me.retucio.sputnik.event.events.render.PerspectiveChangeEvent; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/MinecraftClientMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/MinecraftClientMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java index 15c0a39..79a4255 100644 --- a/src/main/java/me/retucio/sputnik/mixin/MinecraftClientMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/MinecraftClientMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.misc; import com.llamalad7.mixinextras.sugar.Local; import me.retucio.sputnik.Sputnik; diff --git a/src/main/java/me/retucio/sputnik/mixin/StringHelperMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/StringHelperMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/StringHelperMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/misc/StringHelperMixin.java index 8e0910a..f2038d9 100644 --- a/src/main/java/me/retucio/sputnik/mixin/StringHelperMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/StringHelperMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.misc; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.ChatPlus; diff --git a/src/main/java/me/retucio/sputnik/mixin/Vec3dMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/Vec3dMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/Vec3dMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/misc/Vec3dMixin.java index ab3d767..7ca0121 100644 --- a/src/main/java/me/retucio/sputnik/mixin/Vec3dMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/misc/Vec3dMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.misc; import me.retucio.sputnik.util.interfaces.IVec3d; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/me/retucio/sputnik/mixin/ChatInputSuggestorMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ChatInputSuggestorMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ChatInputSuggestorMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ChatInputSuggestorMixin.java index 85e07cd..646bbc3 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChatInputSuggestorMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ChatInputSuggestorMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.brigadier.ParseResults; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientCommonNetworkHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientCommonNetworkHandlerMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/ClientCommonNetworkHandlerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientCommonNetworkHandlerMixin.java index dd66760..aa5bbea 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientCommonNetworkHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientCommonNetworkHandlerMixin.java @@ -1,7 +1,7 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; -import me.retucio.sputnik.mixin.accessor.ConfirmServerResourcePackScreenAccessor; -import me.retucio.sputnik.mixin.accessor.PackAccessor; +import me.retucio.sputnik.mixin.accessors.ConfirmServerResourcePackScreenAccessor; +import me.retucio.sputnik.mixin.accessors.PackAccessor; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.network.RPackBypass; import me.retucio.sputnik.util.interfaces.IConfirmScreen; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientConnectionMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/ClientConnectionMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java index 0c447bc..46a7a93 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientConnectionMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientConnectionMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/ClientPlayNetworkHandlerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java index 8182001..c8f62d3 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ClientPlayNetworkHandlerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.command.CommandManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/HandshakeC2SPacketMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/HandshakeC2SPacketMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/HandshakeC2SPacketMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/HandshakeC2SPacketMixin.java index 7a0fb20..7b07304 100644 --- a/src/main/java/me/retucio/sputnik/mixin/HandshakeC2SPacketMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/HandshakeC2SPacketMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import com.google.gson.Gson; import com.google.gson.JsonObject; diff --git a/src/main/java/me/retucio/sputnik/mixin/MessageHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/MessageHandlerMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/MessageHandlerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/MessageHandlerMixin.java index ae857dd..7ad3b61 100644 --- a/src/main/java/me/retucio/sputnik/mixin/MessageHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/MessageHandlerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import com.mojang.authlib.GameProfile; import me.retucio.sputnik.util.interfaces.IMessageHandler; diff --git a/src/main/java/me/retucio/sputnik/mixin/ResourcePackPolicyMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ResourcePackPolicyMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ResourcePackPolicyMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ResourcePackPolicyMixin.java index edccaee..e0106ad 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ResourcePackPolicyMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ResourcePackPolicyMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.network.RPackBypass; diff --git a/src/main/java/me/retucio/sputnik/mixin/ServerConnectorMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ServerConnectorMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/ServerConnectorMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ServerConnectorMixin.java index ccb527c..1366113 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ServerConnectorMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ServerConnectorMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.network.RPackBypass; diff --git a/src/main/java/me/retucio/sputnik/mixin/ServerInfoMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ServerInfoMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ServerInfoMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/ServerInfoMixin.java index 82f7b2d..bd78839 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ServerInfoMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/ServerInfoMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.network.RPackBypass; diff --git a/src/main/java/me/retucio/sputnik/mixin/TelemetryManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/TelemetryManagerMixin.java similarity index 92% rename from src/main/java/me/retucio/sputnik/mixin/TelemetryManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/TelemetryManagerMixin.java index 88700a2..fcde6fb 100644 --- a/src/main/java/me/retucio/sputnik/mixin/TelemetryManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/TelemetryManagerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import net.minecraft.client.session.telemetry.TelemetryManager; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/sputnik/mixin/YggdrasilUserApiServiceMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/network/YggdrasilUserApiServiceMixin.java similarity index 93% rename from src/main/java/me/retucio/sputnik/mixin/YggdrasilUserApiServiceMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/network/YggdrasilUserApiServiceMixin.java index 2abaaa2..8361872 100644 --- a/src/main/java/me/retucio/sputnik/mixin/YggdrasilUserApiServiceMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/network/YggdrasilUserApiServiceMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.network; import com.mojang.authlib.yggdrasil.YggdrasilUserApiService; import com.mojang.authlib.yggdrasil.response.UserAttributesResponse; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ClientPlayerEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java index 037a5f0..83ac412 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerEntityMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.player; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReturnValue; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientPlayerInteractionManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/ClientPlayerInteractionManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java index faa414d..f2dae32 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientPlayerInteractionManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/ClientPlayerInteractionManagerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.player; import me.retucio.sputnik.event.events.interact.*; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/PlayerEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/PlayerEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java index a2ee88c..c6b99db 100644 --- a/src/main/java/me/retucio/sputnik/mixin/PlayerEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerEntityMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.player; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.Sputnik; 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 new file mode 100644 index 0000000..2c5a836 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/player/PlayerInventoryMixin.java @@ -0,0 +1,25 @@ +package me.retucio.sputnik.mixin.mixins.player; + +import me.retucio.sputnik.Sputnik; +import me.retucio.sputnik.event.events.interact.SwitchSlotEvent; +import net.minecraft.entity.player.PlayerInventory; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(PlayerInventory.class) +public abstract class PlayerInventoryMixin { + + @Shadow + private int selectedSlot; + + @Inject(method = "setSelectedSlot", at = @At("HEAD"), cancellable = true) + private void onSwitchSlot(int slot, CallbackInfo ci) { + if (selectedSlot == slot) return; + SwitchSlotEvent event = Sputnik.EVENT_BUS.post(new SwitchSlotEvent(selectedSlot, slot)); + if (event.isCancelled()) ci.cancel(); + if (event.getSlot() != slot) this.selectedSlot = event.getSlot(); + } +} diff --git a/src/main/java/me/retucio/sputnik/mixin/BufferStorageMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/BufferStorageMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/BufferStorageMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/BufferStorageMixin.java index 984fe1f..6e1c05b 100644 --- a/src/main/java/me/retucio/sputnik/mixin/BufferStorageMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/BufferStorageMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; import me.retucio.sputnik.util.render.GlintRenderLayer; diff --git a/src/main/java/me/retucio/sputnik/mixin/CameraMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/CameraMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/CameraMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/CameraMixin.java index 7ef6074..fe1db68 100644 --- a/src/main/java/me/retucio/sputnik/mixin/CameraMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/CameraMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.camera.Freelook; diff --git a/src/main/java/me/retucio/sputnik/mixin/CapeFeatureRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/CapeFeatureRendererMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/CapeFeatureRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/CapeFeatureRendererMixin.java index 566f8c0..93163e2 100644 --- a/src/main/java/me/retucio/sputnik/mixin/CapeFeatureRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/CapeFeatureRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/ChunkBorderDebugRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ChunkBorderDebugRendererMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/ChunkBorderDebugRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/ChunkBorderDebugRendererMixin.java index fe41215..292d162 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChunkBorderDebugRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ChunkBorderDebugRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/ElytraFeatureRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ElytraFeatureRendererMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ElytraFeatureRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/ElytraFeatureRendererMixin.java index a7b21ee..3594c1a 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ElytraFeatureRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ElytraFeatureRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.module.ModuleManager; 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 new file mode 100644 index 0000000..3574629 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/EntityHitboxDebugRendererMixin.java @@ -0,0 +1,19 @@ +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.debug.EntityHitboxDebugRenderer; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.ModifyVariable; + +@Mixin(EntityHitboxDebugRenderer.class) +public abstract class EntityHitboxDebugRendererMixin { + + @ModifyVariable(method = "drawHitbox", at = @At("STORE")) + private int modifyHitboxColor(int original) { + Hitboxes hitboxes = ModuleManager.INSTANCE.getModuleByClass(Hitboxes.class); + if (hitboxes.isEnabled()) return hitboxes.color.getRGB(); + return original; + } +} diff --git a/src/main/java/me/retucio/sputnik/mixin/EquipmentRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/EquipmentRendererMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/EquipmentRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/EquipmentRendererMixin.java index 22a52c9..f67674b 100644 --- a/src/main/java/me/retucio/sputnik/mixin/EquipmentRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/EquipmentRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.GlintPlus; diff --git a/src/main/java/me/retucio/sputnik/mixin/FogRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/FogRendererMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/FogRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/FogRendererMixin.java index 203d420..c01e514 100644 --- a/src/main/java/me/retucio/sputnik/mixin/FogRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/FogRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReturnValue; diff --git a/src/main/java/me/retucio/sputnik/mixin/GameRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java similarity index 99% rename from src/main/java/me/retucio/sputnik/mixin/GameRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java index 4663c85..0d30ce3 100644 --- a/src/main/java/me/retucio/sputnik/mixin/GameRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/GameRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.event.events.render.GetFOVEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/HeldItemRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java similarity index 99% rename from src/main/java/me/retucio/sputnik/mixin/HeldItemRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java index 7af9d87..1800b14 100644 --- a/src/main/java/me/retucio/sputnik/mixin/HeldItemRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/HeldItemRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.event.events.render.RenderHeldItemEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/InGameOverlayRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/InGameOverlayRendererMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/InGameOverlayRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/InGameOverlayRendererMixin.java index b6ea62e..a3dbb65 100644 --- a/src/main/java/me/retucio/sputnik/mixin/InGameOverlayRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/InGameOverlayRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.NoRender; diff --git a/src/main/java/me/retucio/sputnik/mixin/ItemRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ItemRendererMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/ItemRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/ItemRendererMixin.java index cb62ceb..7e47012 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ItemRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ItemRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.GlintPlus; diff --git a/src/main/java/me/retucio/sputnik/mixin/LightmapTextureManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/LightmapTextureManagerMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/LightmapTextureManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/LightmapTextureManagerMixin.java index ecaa056..71bf389 100644 --- a/src/main/java/me/retucio/sputnik/mixin/LightmapTextureManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/LightmapTextureManagerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.systems.RenderSystem; diff --git a/src/main/java/me/retucio/sputnik/mixin/LivingEntityRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/LivingEntityRendererMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/LivingEntityRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/LivingEntityRendererMixin.java index 5a90720..36af53f 100644 --- a/src/main/java/me/retucio/sputnik/mixin/LivingEntityRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/LivingEntityRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReturnValue; @@ -51,7 +51,8 @@ public abstract class LivingEntityRendererMixin { @ModifyReturnValue(method = "hasLabel(Lnet/minecraft/entity/LivingEntity;D)Z", at = @At("RETURN")) private boolean shouldRenderPlayerNametag(boolean original, @Local(argsOnly = true) T livingEntity) { - if (nametags.isEnabled() && livingEntity instanceof PlayerEntity) return nametags.entities.isEnabled(EntityType.PLAYER) && original; + if (nametags.isEnabled() && livingEntity instanceof PlayerEntity) + return nametags.entities.isEnabled(EntityType.PLAYER) && original; return original; } @@ -64,4 +65,4 @@ public abstract class LivingEntityRendererMixin { } } } -} +} \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/mixin/OverlayTextureMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/OverlayTextureMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/OverlayTextureMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/OverlayTextureMixin.java index 237033f..64b69ce 100644 --- a/src/main/java/me/retucio/sputnik/mixin/OverlayTextureMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/OverlayTextureMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.DamageOverlay; diff --git a/src/main/java/me/retucio/sputnik/mixin/ShaderLoaderMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ShaderLoaderMixin.java similarity index 92% rename from src/main/java/me/retucio/sputnik/mixin/ShaderLoaderMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/ShaderLoaderMixin.java index d76625d..e6a33f0 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ShaderLoaderMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/ShaderLoaderMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.util.render.Pipelines; import net.minecraft.client.gl.ShaderLoader; diff --git a/src/main/java/me/retucio/sputnik/mixin/SkyRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/SkyRendererMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/SkyRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/SkyRendererMixin.java index 156fc1f..4efe578 100644 --- a/src/main/java/me/retucio/sputnik/mixin/SkyRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/SkyRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.NoRender; diff --git a/src/main/java/me/retucio/sputnik/mixin/StatusEffectFogModifierMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/StatusEffectFogModifierMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/StatusEffectFogModifierMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/StatusEffectFogModifierMixin.java index 3202c24..d058938 100644 --- a/src/main/java/me/retucio/sputnik/mixin/StatusEffectFogModifierMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/StatusEffectFogModifierMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/StuckArrowsFeatureRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/StuckArrowsFeatureRendererMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/StuckArrowsFeatureRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/StuckArrowsFeatureRendererMixin.java index bed68d5..66ce98b 100644 --- a/src/main/java/me/retucio/sputnik/mixin/StuckArrowsFeatureRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/StuckArrowsFeatureRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/TextRendererDrawerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/TextRendererDrawerMixin.java similarity index 98% rename from src/main/java/me/retucio/sputnik/mixin/TextRendererDrawerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/TextRendererDrawerMixin.java index ca7a9ee..b47731d 100644 --- a/src/main/java/me/retucio/sputnik/mixin/TextRendererDrawerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/TextRendererDrawerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.NoRender; diff --git a/src/main/java/me/retucio/sputnik/mixin/TextRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/TextRendererMixin.java similarity index 93% rename from src/main/java/me/retucio/sputnik/mixin/TextRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/TextRendererMixin.java index 008b2ab..47ea03c 100644 --- a/src/main/java/me/retucio/sputnik/mixin/TextRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/TextRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/WeatherRenderingMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/WeatherRenderingMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/WeatherRenderingMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/WeatherRenderingMixin.java index cfe1c4a..309c46f 100644 --- a/src/main/java/me/retucio/sputnik/mixin/WeatherRenderingMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/WeatherRenderingMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.NoRender; diff --git a/src/main/java/me/retucio/sputnik/mixin/WorldRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java similarity index 76% rename from src/main/java/me/retucio/sputnik/mixin/WorldRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java index 641db9f..dce3f61 100644 --- a/src/main/java/me/retucio/sputnik/mixin/WorldRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/render/WorldRendererMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.render; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.buffers.GpuBufferSlice; @@ -15,8 +15,10 @@ 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; @@ -72,20 +74,4 @@ public abstract class WorldRendererMixin { if (event.getLineWidth() != (float) args.get(7)) args.set(7, event.getLineWidth()); } - -// @ModifyArg(method = "renderTargetBlockOutline", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;drawBlockOutline(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;DDDLnet/minecraft/client/render/state/OutlineRenderState;IF)V")) -// private int modifyBlockOutlineColor(int original) { -// RenderBlockOutlineEvent event = EVENT_BUS.post(new RenderBlockOutlineEvent(original, )) -// -// BlockOutline outline = ModuleManager.INSTANCE.getModuleByClass(BlockOutline.class); -// if (!outline.isEnabled()) return original; -// return outline.color.getRGB(); -// } -// -// @ModifyArg(method = "renderTargetBlockOutline", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;drawBlockOutline(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;DDDLnet/minecraft/client/render/state/OutlineRenderState;IF)V")) -// private float modifyBlockOutlineLineWidth(float original) { -// BlockOutline outline = ModuleManager.INSTANCE.getModuleByClass(BlockOutline.class); -// if (!outline.isEnabled()) return original; -// return outline.lineWidth.getFloatValue(); -// } } \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/mixin/ChatScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ChatScreenMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/ChatScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/screen/ChatScreenMixin.java index 523ebdb..a9883af 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChatScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ChatScreenMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.screen; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.ChatPlus; diff --git a/src/main/java/me/retucio/sputnik/mixin/ConfirmScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ConfirmScreenMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ConfirmScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/screen/ConfirmScreenMixin.java index e2b6a00..f726bb9 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ConfirmScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ConfirmScreenMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.screen; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.network.RPackBypass; diff --git a/src/main/java/me/retucio/sputnik/mixin/CreativeInventoryScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java similarity index 91% rename from src/main/java/me/retucio/sputnik/mixin/CreativeInventoryScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java index 54576e5..9a71f20 100644 --- a/src/main/java/me/retucio/sputnik/mixin/CreativeInventoryScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/CreativeInventoryScreenMixin.java @@ -1,8 +1,8 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.screen; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.misc.CreativeInventoryHotbarKeybinds; import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; diff --git a/src/main/java/me/retucio/sputnik/mixin/DisconnectedScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/DisconnectedScreenMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/DisconnectedScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/screen/DisconnectedScreenMixin.java index 48dab23..08eb84a 100644 --- a/src/main/java/me/retucio/sputnik/mixin/DisconnectedScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/DisconnectedScreenMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.screen; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.network.Reconnect; diff --git a/src/main/java/me/retucio/sputnik/mixin/ScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/ScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java index 80f1dfa..a85688e 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/screen/ScreenMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.screen; import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.retucio.sputnik.command.CommandManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/BlockCollisionSpliteratorMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/BlockCollisionSpliteratorMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java index f8fa744..6559527 100644 --- a/src/main/java/me/retucio/sputnik/mixin/BlockCollisionSpliteratorMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/BlockCollisionSpliteratorMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; diff --git a/src/main/java/me/retucio/sputnik/mixin/ChunkOcclusionDataBuilderMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/ChunkOcclusionDataBuilderMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java index b8bf7ba..6603470 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ChunkOcclusionDataBuilderMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ChunkOcclusionDataBuilderMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import me.retucio.sputnik.event.events.network.ChunkOcclusionEvent; import net.minecraft.client.render.chunk.ChunkOcclusionDataBuilder; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientWorldMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java similarity index 96% rename from src/main/java/me/retucio/sputnik/mixin/ClientWorldMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java index 20333d0..e2a9f91 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientWorldMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import me.retucio.sputnik.event.events.network.AddEntityEvent; import me.retucio.sputnik.event.events.network.RemoveEntityEvent; diff --git a/src/main/java/me/retucio/sputnik/mixin/ClientWorldPropertiesMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldPropertiesMixin.java similarity index 94% rename from src/main/java/me/retucio/sputnik/mixin/ClientWorldPropertiesMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldPropertiesMixin.java index 70d0509..d8b386a 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ClientWorldPropertiesMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ClientWorldPropertiesMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.world.TimeChanger; diff --git a/src/main/java/me/retucio/sputnik/mixin/DamageParticleMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/DamageParticleMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/DamageParticleMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/DamageParticleMixin.java index 4ac278b..2124e88 100644 --- a/src/main/java/me/retucio/sputnik/mixin/DamageParticleMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/DamageParticleMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import me.retucio.sputnik.module.ModuleManager; diff --git a/src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/EmitterParticleMixin.java similarity index 97% rename from src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/EmitterParticleMixin.java index 211b55b..1554ce5 100644 --- a/src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/EmitterParticleMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.CritsPlus; diff --git a/src/main/java/me/retucio/sputnik/mixin/ParticleManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ParticleManagerMixin.java similarity index 95% rename from src/main/java/me/retucio/sputnik/mixin/ParticleManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/mixins/world/ParticleManagerMixin.java index a745873..3e7ae87 100644 --- a/src/main/java/me/retucio/sputnik/mixin/ParticleManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/mixins/world/ParticleManagerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.sputnik.mixin; +package me.retucio.sputnik.mixin.mixins.world; import me.retucio.sputnik.module.ModuleManager; import me.retucio.sputnik.module.modules.render.NoRender; diff --git a/src/main/java/me/retucio/sputnik/module/ModuleManager.java b/src/main/java/me/retucio/sputnik/module/ModuleManager.java index 65b41f2..5aa848d 100644 --- a/src/main/java/me/retucio/sputnik/module/ModuleManager.java +++ b/src/main/java/me/retucio/sputnik/module/ModuleManager.java @@ -141,8 +141,10 @@ public class ModuleManager { add(new BreakingProgress()); add(new CritsPlus()); add(new DamageOverlay()); + add(new EntityESP()); add(new Fonts()); add(new GlintPlus()); + add(new Hitboxes()); add(new Nametags()); add(new NoRender()); add(new Particles()); 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 e792596..a1561f6 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 @@ -9,6 +9,10 @@ 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 me.retucio.sputnik.mixin.mixins.entity.EntityMixin; +import me.retucio.sputnik.mixin.mixins.io.KeyInputMixin; +import me.retucio.sputnik.mixin.mixins.player.ClientPlayerInteractionManagerMixin; +import me.retucio.sputnik.mixin.mixins.render.*; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -35,14 +39,14 @@ import org.joml.Vector3d; import org.lwjgl.glfw.GLFW; /** continúa en: - * @see me.retucio.sputnik.mixin.CameraMixin - * @see me.retucio.sputnik.mixin.ChunkBorderDebugRendererMixin - * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin - * @see me.retucio.sputnik.mixin.EntityMixin - * @see me.retucio.sputnik.mixin.GameRendererMixin - * @see me.retucio.sputnik.mixin.KeyInputMixin - * @see me.retucio.sputnik.mixin.LivingEntityRendererMixin - * @see me.retucio.sputnik.mixin.WorldRendererMixin + * @see CameraMixin + * @see ChunkBorderDebugRendererMixin + * @see ClientPlayerInteractionManagerMixin + * @see EntityMixin + * @see GameRendererMixin + * @see KeyInputMixin + * @see LivingEntityRendererMixin + * @see WorldRendererMixin */ public class Freecam extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java index c9bdbed..f4077d3 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java @@ -1,5 +1,7 @@ package me.retucio.sputnik.module.modules.camera; +import me.retucio.sputnik.mixin.mixins.entity.EntityMixin; +import me.retucio.sputnik.mixin.mixins.render.CameraMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.EnumSetting; @@ -10,8 +12,8 @@ import net.minecraft.util.math.MathHelper; import org.lwjgl.glfw.GLFW; /** continúa en: - * @see me.retucio.sputnik.mixin.CameraMixin - * @see me.retucio.sputnik.mixin.EntityMixin + * @see CameraMixin + * @see EntityMixin */ public class Freelook extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java index 34c5528..6cc4d00 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java @@ -1,6 +1,7 @@ package me.retucio.sputnik.module.modules.camera; -import me.retucio.sputnik.mixin.accessor.StatusEffectInstanceAccessor; +import me.retucio.sputnik.mixin.accessors.StatusEffectInstanceAccessor; +import me.retucio.sputnik.mixin.mixins.render.LightmapTextureManagerMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.ColorSetting; @@ -13,7 +14,7 @@ import org.lwjgl.glfw.GLFW; import java.awt.*; /** continúa en: - * @see me.retucio.sputnik.mixin.LightmapTextureManagerMixin + * @see LightmapTextureManagerMixin */ public class Fullbright extends Module { 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 4290cf8..875cedb 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 @@ -9,6 +9,7 @@ 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 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 a5bf181..8d6ef0e 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 @@ -48,18 +48,12 @@ public class MaceKill extends Module { @SubscribeEvent @SuppressWarnings("ConstantConditions") - public void onPacketSend(PacketEvent.Send event) { + private void onPacketSend(PacketEvent.Send event) { if (mc.player == null) return; if (mc.player.getMainHandStack().getItem() == Items.MACE && event.getPacket() instanceof PlayerInteractEntityC2SPacket packet && packet.type.getType() == PlayerInteractEntityC2SPacket.InteractType.ATTACK) { - // que te follen marcos - if (mc.player.getName().getString().equals("Ninjaesqueleto")) { - mc.getNetworkHandler().sendChatMessage("ME ENCANTA VER FEMBOYS CON EL PITO PEQUEÑO"); - return; - } - try { if (mc.world.getEntityById(packet.entityId) instanceof LivingEntity target) { diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java b/src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java index cae386e..d74ec0d 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.module.modules.misc; +import me.retucio.sputnik.mixin.mixins.entity.EntityMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; /** continúa en: - * @see me.retucio.sputnik.mixin.EntityMixin + * @see EntityMixin */ public class AntiInvis extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java b/src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java index 212c7c1..49bb742 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.module.modules.misc; -import me.retucio.sputnik.mixin.accessor.AnvilScreenAccessor; +import me.retucio.sputnik.mixin.accessors.AnvilScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.EnumSetting; 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 f3e190d..a2203a5 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 @@ -8,6 +8,10 @@ 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.mixin.mixins.hud.ChatHudMixin; +import me.retucio.sputnik.mixin.mixins.hud.InGameHudMixin; +import me.retucio.sputnik.mixin.mixins.misc.StringHelperMixin; +import me.retucio.sputnik.mixin.mixins.screen.ChatScreenMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -35,10 +39,10 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** continúa en: - * @see me.retucio.sputnik.mixin.ChatHudMixin - * @see me.retucio.sputnik.mixin.ChatScreenMixin - * @see me.retucio.sputnik.mixin.InGameHudMixin - * @see me.retucio.sputnik.mixin.StringHelperMixin + * @see ChatHudMixin + * @see ChatScreenMixin + * @see InGameHudMixin + * @see StringHelperMixin */ public class ChatPlus extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java b/src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java index 8c08b05..b2c816a 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/CreativeInventoryHotbarKeybinds.java @@ -1,12 +1,13 @@ package me.retucio.sputnik.module.modules.misc; +import me.retucio.sputnik.mixin.mixins.screen.CreativeInventoryScreenMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; /** * continúa en - * @see me.retucio.sputnik.mixin.CreativeInventoryScreenMixin + * @see CreativeInventoryScreenMixin */ public class CreativeInventoryHotbarKeybinds extends Module { 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 46fdc72..3ba2491 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 @@ -2,6 +2,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.mixin.mixins.io.ScreenshotRecorderMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -26,7 +27,7 @@ import java.io.IOException; /** continúa en: - * @see me.retucio.sputnik.mixin.ScreenshotRecorderMixin + * @see ScreenshotRecorderMixin */ public class ScreenshotPlus extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java b/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java index b5da3fb..1d9e826 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java @@ -2,7 +2,7 @@ package me.retucio.sputnik.module.modules.misc; import me.retucio.sputnik.event.SubscribeEvent; import me.retucio.sputnik.event.events.input.KeyEvent; -import me.retucio.sputnik.mixin.accessor.HandledScreenAccessor; +import me.retucio.sputnik.mixin.accessors.HandledScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/Slippy.java b/src/main/java/me/retucio/sputnik/module/modules/movement/Slippy.java index 8d935b3..f7620db 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/Slippy.java +++ b/src/main/java/me/retucio/sputnik/module/modules/movement/Slippy.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.module.modules.movement; -import me.retucio.sputnik.mixin.accessor.AbstractBlockAccessor; +import me.retucio.sputnik.mixin.accessors.AbstractBlockAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.NumberSetting; diff --git a/src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java b/src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java index 70978c8..96e4c03 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java +++ b/src/main/java/me/retucio/sputnik/module/modules/movement/UIMove.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.module.modules.movement; -import me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.ListSetting; 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 10087f9..36e064e 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 @@ -8,6 +8,7 @@ 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.ColorSetting; +import me.retucio.sputnik.module.setting.settings.EnumSetting; import me.retucio.sputnik.module.setting.settings.NumberSetting; import me.retucio.sputnik.util.render.RenderUtil; import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; @@ -17,9 +18,11 @@ import net.minecraft.util.shape.VoxelShape; import java.awt.*; import java.util.ArrayList; +import java.util.Comparator; import java.util.Iterator; import java.util.List; + public class PacketMine extends Module { private final SettingGroup sgRender = addSg(new SettingGroup("renderizado", true)); @@ -39,6 +42,29 @@ public class PacketMine extends Module { true )); + private final EnumSetting clickAction = sgGeneral.add(new EnumSetting<>( + "acción de bloque seleccionado", + "acción a llevar a cabo al clicar sobre un bloque ya seleccionado", + ClickAction.class, + ClickAction.ADD_PRIORITY + )); + + private final NumberSetting selectionDelay = sgGeneral.add(new NumberSetting( + "delay", + "delay entre selecciones de bloques", + 5, + 0, + 20, + 1 + )); + + // no funciona del todo + private final BooleanSetting inOrder = sgGeneral.add(new BooleanSetting( + "en orden", + "romper los bloques en orden forzosamente", + false + )); + private final BooleanSetting render = sgRender.add(new BooleanSetting( "renderizar", "renderizar un contorno alrededor de los bloques que están siendo minados", @@ -73,32 +99,64 @@ public class PacketMine extends Module { } private final List miningBlocks = new ArrayList<>(); + private int currentOrderIndex = 0; @Override public void onDisable() { miningBlocks.clear(); + currentOrderIndex = 0; super.onDisable(); } @Override public void onTick() { if (mc.player == null || mc.world == null || mc.interactionManager == null) return; + if (miningBlocks.isEmpty()) { + currentOrderIndex = 0; + return; + } Iterator iterator = miningBlocks.iterator(); while (iterator.hasNext()) { MiningBlock block = iterator.next(); - if (mc.world.getBlockState(block.pos).isAir()) { iterator.remove(); - continue; + if (currentOrderIndex >= miningBlocks.size()) { + currentOrderIndex = 0; + } } + } - if (!block.mining) { - block.mine(); + if (clickAction.is(ClickAction.ADD_PRIORITY)) { + miningBlocks.sort(Comparator.comparingInt(block -> -block.clicks)); + for (MiningBlock block : miningBlocks) { + if (processBlock(block)) { + break; + } + } + } else { + if (inOrder.getValue()) { + if (!miningBlocks.isEmpty()) { + int startIndex = currentOrderIndex; + boolean processed = false; + + do { // primera vez en mi vida que uso un do-while + MiningBlock block = miningBlocks.get(currentOrderIndex); + if (processBlock(block)) { + processed = true; + currentOrderIndex = (currentOrderIndex + 1) % miningBlocks.size(); + break; + } + currentOrderIndex = (currentOrderIndex + 1) % miningBlocks.size(); + } while (currentOrderIndex != startIndex); + + if (!processed) { + currentOrderIndex = 0; + } + } } else { - if (mc.player.age - block.startTime >= retryTime.getValue()) { - block.startTime = mc.player.age; - block.mining = false; + for (MiningBlock block : miningBlocks) { + processBlock(block); } } } @@ -107,18 +165,51 @@ public class PacketMine extends Module { @SubscribeEvent private void onAttackBlock(AttackBlockEvent event) { event.cancel(); - if (!isMining(event.getPos())) { + if (mc.player.age % selectionDelay.getIntValue() != 0) return; + + MiningBlock existingBlock = getMiningBlock(event.getPos()); + if (existingBlock == null) { miningBlocks.add(new MiningBlock(event)); + if (inOrder.getValue()) { + currentOrderIndex = 0; + } + } else { + if (clickAction.is(ClickAction.ADD_PRIORITY)) { + existingBlock.clicks += 1; + } else if (clickAction.is(ClickAction.UNSELECT)) { + miningBlocks.remove(existingBlock); + if (currentOrderIndex >= miningBlocks.size()) { + currentOrderIndex = 0; + } + } } } @SubscribeEvent private void onRenderWorld(Render3DEvent event) { + if (!render.getValue()) return; for (MiningBlock block : miningBlocks) { block.render(event); } } + private boolean processBlock(MiningBlock block) { + // por si las moscas + if (mc.world.getBlockState(block.pos).isAir()) { + return false; + } + + if (!block.mining) { + return block.mine(); + } else if (block.shouldRetry()) { + block.startTime = mc.player.age; + block.mining = false; + return block.mine(); + } + + return false; + } + private boolean isMining(BlockPos pos) { for (MiningBlock block : miningBlocks) { if (block.pos.equals(pos)) return true; @@ -126,24 +217,30 @@ public class PacketMine extends Module { return false; } - private class MiningBlock { + private MiningBlock getMiningBlock(BlockPos pos) { + for (MiningBlock block : miningBlocks) { + if (block.pos.equals(pos)) return block; + } + return null; + } + private class MiningBlock { + int clicks = 1; BlockPos pos; Direction dir; - boolean mining; + boolean mining = false; long startTime; public MiningBlock(AttackBlockEvent event) { this.pos = event.getPos(); this.dir = event.getDir(); - mining = false; startTime = mc.player.age; } - public void mine() { + public boolean mine() { if (pos.getSquaredDistance(mc.player.getEntityPos()) > Math.pow(mc.player.getBlockInteractionRange(), 2) && cancelOutOfReach.getValue()) { - return; + return false; } mc.interactionManager.sendSequencedPacket(mc.world, sequence -> @@ -151,10 +248,13 @@ public class PacketMine extends Module { mining = true; mc.interactionManager.sendSequencedPacket(mc.world, sequence -> new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, pos, dir, sequence)); + + return true; } public void render(Render3DEvent event) { VoxelShape shape = mc.world.getBlockState(pos).getOutlineShape(mc.world, pos); + if (shape.isEmpty()) return; RenderUtil.drawVoxelShapeOutline( event.getMatrices(), @@ -165,5 +265,19 @@ public class PacketMine extends Module { false ); } + + public boolean shouldRetry() { + return mining && (mc.player.age - startTime >= retryTime.getValue()); + } + } + + private enum ClickAction { + UNSELECT("deseleccionar"), + ADD_PRIORITY("agregar prioridad"), + NONE("nada"); + + private final String name; + ClickAction(String name) { this.name = name; } + @Override public String toString() { return name; } } } \ No newline at end of file diff --git a/src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java b/src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java index 0454255..7f0e846 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java @@ -1,5 +1,10 @@ package me.retucio.sputnik.module.modules.network; +import me.retucio.sputnik.mixin.mixins.network.ClientCommonNetworkHandlerMixin; +import me.retucio.sputnik.mixin.mixins.network.ResourcePackPolicyMixin; +import me.retucio.sputnik.mixin.mixins.network.ServerConnectorMixin; +import me.retucio.sputnik.mixin.mixins.network.ServerInfoMixin; +import me.retucio.sputnik.mixin.mixins.screen.ConfirmScreenMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import net.minecraft.client.network.ServerInfo; @@ -7,11 +12,11 @@ import net.minecraft.text.Text; /** continúa en: - * @see me.retucio.sputnik.mixin.ClientCommonNetworkHandlerMixin - * @see me.retucio.sputnik.mixin.ConfirmScreenMixin - * @see me.retucio.sputnik.mixin.ResourcePackPolicyMixin - * @see me.retucio.sputnik.mixin.ServerConnectorMixin - * @see me.retucio.sputnik.mixin.ServerInfoMixin + * @see ClientCommonNetworkHandlerMixin + * @see ConfirmScreenMixin + * @see ResourcePackPolicyMixin + * @see ServerConnectorMixin + * @see ServerInfoMixin */ // https://github.com/emilyy-dev/bypass-resource-pack 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 a3e97ea..289b0cc 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,21 +1,25 @@ package me.retucio.sputnik.module.modules.player; -import me.retucio.sputnik.mixin.accessor.FishingBobberEntityAccessor; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.interact.SwitchSlotEvent; +import me.retucio.sputnik.mixin.accessors.FishingBobberEntityAccessor; 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.NumberSetting; +import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.InventoryUtil; import net.minecraft.block.Blocks; import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.HitResult; import java.util.List; -// todo: catch delay, seleccionar la mejor caña, evitar romper la caña +// todo: catch delay, seleccionar la mejor caña public class AutoFish extends Module { private final SettingGroup sgRecast = addSg(new SettingGroup("recast", true)); @@ -26,7 +30,6 @@ public class AutoFish extends Module { true )); - private final NumberSetting recastDelay = sgRecast.add(new NumberSetting( "delay ", "delay entre que se pesca un pez y se vuelve a lanzar la caña", @@ -36,7 +39,6 @@ public class AutoFish extends Module { 1 )); - private final BooleanSetting onlyRecastIfLookingAtWater = sgRecast.add(new BooleanSetting( "solo si mirando al agua", "solamente hacer recast si se está mirando al agua", @@ -52,8 +54,15 @@ public class AutoFish extends Module { 1 )); + private final BooleanSetting dontBreak = sgGeneral.add(new BooleanSetting( + "evitar romper", + "evitar romper la caña si está en las últimas", + true + )); + private int delay = -1; private boolean shouldRecast; + private boolean warned; public AutoFish() { super("auto pesca", "pesca por ti", Category.PLAYER); @@ -66,6 +75,13 @@ public class AutoFish extends Module { onlyRecastIfLookingAtWater.onUpdate(v -> recastRaycastDistance.setVisible(v)); } + @Override + public void onDisable() { + delay = -1; + shouldRecast = false; + warned = false; + } + @Override public void onTick() { if (mc.player == null || mc.getCameraEntity() == null) return; @@ -102,21 +118,38 @@ public class AutoFish extends Module { } } + @SubscribeEvent + public void onSwitchSlot(SwitchSlotEvent event) { + warned = false; + } + private void useFishingRod() { - switchToFishingRod(); + int slot = switchToFishingRod(); + if (slot == -1) return; + + ItemStack rod = mc.player.getInventory().getStack(slot); + if (rod.getDamage() >= rod.getMaxDamage() - 1 && dontBreak.getValue()) { + if (!warned) { + ChatUtil.warn("caña a punto de romperse"); + warned = true; + } + return; + } + mc.doItemUse(); delay = 0; shouldRecast = false; } - private void switchToFishingRod() { - if (mc.player.getActiveItem().isOf(Items.FISHING_ROD)) return; + private int switchToFishingRod() { + if (mc.player.getActiveItem().isOf(Items.FISHING_ROD)) return mc.player.getInventory().getSelectedSlot(); List slots = InventoryUtil.findItem(Items.FISHING_ROD); for (int slot : slots) { if (PlayerInventory.isValidHotbarIndex(slot)) { mc.player.getInventory().setSelectedSlot(slot); - return; + return slot; } } + return -1; } } \ No newline at end of file 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 16006d5..dc1e98b 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 @@ -3,6 +3,7 @@ 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 me.retucio.sputnik.mixin.mixins.render.HeldItemRendererMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -13,7 +14,7 @@ import net.minecraft.util.math.RotationAxis; import net.minecraft.util.math.Vec3d; /** continúa en: - * @see me.retucio.sputnik.mixin.HeldItemRendererMixin + * @see HeldItemRendererMixin */ public class HandView extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java b/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java index d279d77..7462411 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java @@ -4,7 +4,7 @@ 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 me.retucio.sputnik.mixin.accessor.HandledScreenAccessor; +import me.retucio.sputnik.mixin.accessors.HandledScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.KeySetting; 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 bff63f2..f9eac0e 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 @@ -6,8 +6,15 @@ 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.EnumSetting; +import me.retucio.sputnik.module.setting.settings.ListSetting; +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; import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; @@ -16,17 +23,42 @@ import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.HitResult; +import java.util.List; + // todo: implementar otros tipos de MLGs (cama, miel, slime, heno, ...) public class NoFall extends Module { private boolean placed; + private final List mlgItems = List.of(Items.WATER_BUCKET, Items.ENDER_PEARL, Items.POWDER_SNOW_BUCKET, + Items.SLIME_BLOCK, Items.HAY_BLOCK, Items.HONEY_BLOCK, Items.BLACK_BED, + Items.BLUE_BED, Items.BROWN_BED, Items.CYAN_BED, Items.GRAY_BED, + Items.GREEN_BED, Items.LIGHT_BLUE_BED, Items.LIGHT_GRAY_BED, Items.LIME_BED, + Items.MAGENTA_BED, Items.ORANGE_BED, Items.PINK_BED, Items.PURPLE_BED, + Items.RED_BED, Items.WHITE_BED, Items.YELLOW_BED); + private final EnumSetting mode = sgGeneral.add(new EnumSetting<>( "modo", "de qué manera evitar el daño de caída", NoFallMode.class, NoFallMode.PACKET )); + private final ListSetting items = sgGeneral.add(new ListSetting<>( + "items", + "items con los que amortiguar la caída", + mlgItems, + Lists.allTrue(mlgItems) + )); + + private final NumberSetting distance = sgGeneral.add(new NumberSetting( + "distancia", + "distancia mínima de caída para aplicar el amortiguamiento", + 3, + 3, + 23, + 1 + )); + private final BooleanSetting clutch = sgGeneral.add( new BooleanSetting( "salvada", "cambiar a modo paquete si no se encuentra un cubo disponible", @@ -49,16 +81,19 @@ public class NoFall extends Module { placed = false; } - if (mode.is(NoFallMode.CLUTCH) && mc.player.fallDistance >= 3 && !mc.player.isOnGround() && !placed) { + if (mode.is(NoFallMode.CLUTCH) && mc.player.fallDistance >= distance.getValue() && !mc.player.isOnGround() && !placed) { HitResult result = mc.getCameraEntity().raycast(3, 0, false); if (result instanceof BlockHitResult) { - // encontrar cubo - ItemStack waterBucket = InventoryUtil.getStackOfItem(Items.WATER_BUCKET); - if (waterBucket == null) { - ChatUtil.warn("cubo de agua no encontrado"); - if (clutch.getValue()) { - mode.setValue(NoFallMode.PACKET); - ChatUtil.info("cambiado a modo de paquetes"); + // encontrar ítem + ItemStack mlgItem = getMlgItem(); + if (mlgItem == null) { + if (!placed) { + ChatUtil.warn("amortiguador (agua, etc.) no encontrado"); + placed = true; + if (clutch.getValue()) { + mode.setValue(NoFallMode.PACKET); + ChatUtil.info("cambiado a modo de paquetes"); + } } return; } @@ -66,10 +101,10 @@ public class NoFall extends Module { // mirar abajo mc.player.setPitch(180); - int slot = mc.player.getInventory().getSlotWithStack(waterBucket); + int slot = mc.player.getInventory().getSlotWithStack(mlgItem); mc.player.getInventory().setSelectedSlot(slot); - // colocar agua + // usar ítem ActionResult didPlace = mc.interactionManager.interactItem(mc.player, Hand.MAIN_HAND); if (didPlace.isAccepted()) placed = true; @@ -82,7 +117,8 @@ public class NoFall extends Module { if (mc.player == null || mc.getNetworkHandler() == null || !mode.is(NoFallMode.PACKET) - || mc.player.getAbilities().creativeMode) + || mc.player.getAbilities().creativeMode + || mc.player.fallDistance < distance.getValue()) return; if (event.getPacket() instanceof PlayerMoveC2SPacket packet) { @@ -107,6 +143,16 @@ public class NoFall extends Module { )); } + private ItemStack getMlgItem() { + for (Item item : items.getEnabledOptions()) { + ItemStack stack = InventoryUtil.getStackOf(item); + if (stack != null && PlayerInventory.isValidHotbarIndex(mc.player.getInventory().getSlotWithStack(stack))) { + return stack; + } + } + return null; + } + private enum NoFallMode { CLUTCH("waterdrop"), PACKET("paquetes"); diff --git a/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java b/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java index 6f901ca..42350b1 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java @@ -1,10 +1,11 @@ package me.retucio.sputnik.module.modules.player; +import me.retucio.sputnik.mixin.mixins.player.ClientPlayerEntityMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; /** continúa en: - * @see me.retucio.sputnik.mixin.ClientPlayerEntityMixin + * @see ClientPlayerEntityMixin */ public class PortalGUI extends Module { 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 e6fe024..0a4c5ff 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 @@ -2,14 +2,16 @@ package me.retucio.sputnik.module.modules.render; import me.retucio.sputnik.event.SubscribeEvent; import me.retucio.sputnik.event.events.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: - * @see me.retucio.sputnik.mixin.WorldRendererMixin + * @see WorldRendererMixin */ public class BlockOutline extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java b/src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java index c6f4cf1..3535873 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java @@ -1,5 +1,6 @@ package me.retucio.sputnik.module.modules.render; +import me.retucio.sputnik.mixin.mixins.world.DamageParticleMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -8,10 +9,8 @@ import me.retucio.sputnik.module.setting.settings.ColorSetting; import me.retucio.sputnik.module.setting.settings.NumberSetting; import me.retucio.sputnik.util.Colors; -import java.awt.*; - /** continúa en: - * @see me.retucio.sputnik.mixin.DamageParticleMixin + * @see DamageParticleMixin * @see me.retucio.sputnik.mixin.DamageParticleMixin$DamageParticleFactoryMixin */ diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java b/src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java index 1851ecf..89ea699 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java @@ -1,6 +1,7 @@ package me.retucio.sputnik.module.modules.render; -import me.retucio.sputnik.mixin.accessor.OverlayTextureAccessor; +import me.retucio.sputnik.mixin.accessors.OverlayTextureAccessor; +import me.retucio.sputnik.mixin.mixins.render.OverlayTextureMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.ColorSetting; @@ -12,7 +13,7 @@ import net.minecraft.client.texture.NativeImageBackedTexture; import java.awt.*; /** continúa en: - * @see me.retucio.sputnik.mixin.OverlayTextureMixin + * @see OverlayTextureMixin */ public class DamageOverlay extends Module { 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 new file mode 100644 index 0000000..62ca617 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/module/modules/render/EntityESP.java @@ -0,0 +1,107 @@ +package me.retucio.sputnik.module.modules.render; + +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.render.Render3DEvent; +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.ColorSetting; +import me.retucio.sputnik.module.setting.settings.EnumSetting; +import me.retucio.sputnik.module.setting.settings.ListSetting; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.Lists; +import me.retucio.sputnik.util.render.RenderUtil; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; + +public class EntityESP extends Module { + + private final SettingGroup sgRender = addSg(new SettingGroup("cajas", true)); + + public final EnumSetting mode = sgGeneral.add(new EnumSetting<>( + "modo", + "modo de renderizado", + ESPMode.class, + ESPMode.BOX + )); + + public final ListSetting> entities = sgGeneral.add(new ListSetting<>( + "entidades", + "entidades a resaltar", + Lists.entityList, + Lists.allFalse(Lists.entityList), + Lists.entityNames + )); + + public final ColorSetting glowColor = sgRender.add(new ColorSetting( + "color", + "color del brillo", + Colors.RED, + false + )); + + private final BooleanSetting outlines = sgRender.add(new BooleanSetting( + "contorno", + "contorno de las cajas", + true + )); + + private final ColorSetting outlineColor = sgRender.add(new ColorSetting( + "color del contorno", + "color para el contorno", + Colors.withAlpha(Colors.RED.brighter(), 100), + false + )); + + private final BooleanSetting filling = sgRender.add(new BooleanSetting( + "relleno", + "relleno de las cajas", + true + )); + + private final ColorSetting fillingColor = sgRender.add(new ColorSetting( + "color del relleno", + "color para el relleno", + Colors.withAlpha(Colors.RED, 70), + false + )); + + public EntityESP() { + super("resaltado de entidades", "resalta el contorno de las entidades seleccionadas a través de bloques", Category.RENDER); + mode.onUpdate(v -> { + glowColor.setVisible(v == ESPMode.GLOW); + outlines.setVisible(v == ESPMode.BOX); + filling.setVisible(v == ESPMode.BOX); + outlineColor.setVisible(outlines.isVisible()); + fillingColor.setVisible(filling.isVisible()); + }); + + outlines.onUpdate(v -> outlineColor.setVisible(v)); + filling.onUpdate(v -> fillingColor.setVisible(v)); + } + + @SubscribeEvent + private void onRenderWorld(Render3DEvent event) { + if (mode.is(ESPMode.BOX)) drawBoxes(event.getMatrices()); + } + + private void drawBoxes(MatrixStack matrices) { + for (Entity entity : mc.world.getEntities()) { + if (!entities.isEnabled(entity.getType())) continue; + if (filling.getValue()) RenderUtil.drawFilledBox(matrices, entity.getBoundingBox(), fillingColor.getValue(), false); + if (outlines.getValue()) RenderUtil.drawOutlineBox(matrices, entity.getBoundingBox(), outlineColor.getValue(), 2, false); + } + } + + + public enum ESPMode { + BOX("caja 3d"), + GLOW("efecto de brillo"); + + private final String name; + ESPMode(String name) { this.name = name; } + @Override public String toString() { return name; } + } +} diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java b/src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java index 2b48c3b..c7aacd7 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java @@ -1,5 +1,8 @@ package me.retucio.sputnik.module.modules.render; +import me.retucio.sputnik.mixin.mixins.render.BufferStorageMixin; +import me.retucio.sputnik.mixin.mixins.render.EquipmentRendererMixin; +import me.retucio.sputnik.mixin.mixins.render.ItemRendererMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; @@ -10,9 +13,9 @@ import net.minecraft.client.render.RenderLayers; import net.minecraft.util.DyeColor; /** continúa en: - * @see me.retucio.sputnik.mixin.BufferStorageMixin - * @see me.retucio.sputnik.mixin.EquipmentRendererMixin - * @see me.retucio.sputnik.mixin.ItemRendererMixin + * @see BufferStorageMixin + * @see EquipmentRendererMixin + * @see ItemRendererMixin */ public class GlintPlus extends Module { 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 new file mode 100644 index 0000000..41ddcfe --- /dev/null +++ b/src/main/java/me/retucio/sputnik/module/modules/render/Hitboxes.java @@ -0,0 +1,30 @@ +package me.retucio.sputnik.module.modules.render; + +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.util.Colors; + +public class Hitboxes extends Module { + + public final ColorSetting color = sgGeneral.add(new ColorSetting( + "color", + "color del que renderizar las cajas de los huevos", + Colors.WHITE, + true + )); + + private final NumberSetting lineWidth = sgGeneral.add(new NumberSetting( + "grosor", + "grosor de las líneas", + 1, + 0.1, + 10, + 0.1 + )); + + public Hitboxes() { + super("hitboxes", "modifica cómo se renderizan las hitboxes con F3+B", Category.RENDER); + } +} diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java b/src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java index 2c08158..a8e925b 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java @@ -3,13 +3,16 @@ package me.retucio.sputnik.module.modules.render; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import me.retucio.sputnik.Sputnik; +import me.retucio.sputnik.mixin.mixins.entity.EntityMixin; +import me.retucio.sputnik.mixin.mixins.entity.ItemEntityMixin; +import me.retucio.sputnik.mixin.mixins.player.PlayerEntityMixin; +import me.retucio.sputnik.mixin.mixins.render.LivingEntityRendererMixin; 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.EnumSetting; import me.retucio.sputnik.module.setting.settings.ListSetting; -import me.retucio.sputnik.util.ChatUtil; import me.retucio.sputnik.util.Lists; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EntityType; @@ -34,10 +37,10 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** continúa en: - * @see me.retucio.sputnik.mixin.EntityMixin - * @see me.retucio.sputnik.mixin.ItemEntityMixin - * @see me.retucio.sputnik.mixin.LivingEntityRendererMixin - * @see me.retucio.sputnik.mixin.PlayerEntityMixin + * @see EntityMixin + * @see ItemEntityMixin + * @see LivingEntityRendererMixin + * @see PlayerEntityMixin */ public class Nametags extends Module { diff --git a/src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java b/src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java index 7708ea3..471e331 100644 --- a/src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java @@ -1,5 +1,9 @@ package me.retucio.sputnik.module.modules.render; +import me.retucio.sputnik.mixin.mixins.hud.InGameHudMixin; +import me.retucio.sputnik.mixin.mixins.network.ClientPlayNetworkHandlerMixin; +import me.retucio.sputnik.mixin.mixins.render.*; +import me.retucio.sputnik.mixin.mixins.world.ParticleManagerMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -11,16 +15,16 @@ import net.minecraft.particle.ParticleType; import net.minecraft.util.Formatting; /** continúa en: - * @see me.retucio.sputnik.mixin.ClientPlayNetworkHandlerMixin - * @see me.retucio.sputnik.mixin.FogRendererMixin - * @see me.retucio.sputnik.mixin.GameRendererMixin - * @see me.retucio.sputnik.mixin.InGameHudMixin - * @see me.retucio.sputnik.mixin.InGameOverlayRendererMixin - * @see me.retucio.sputnik.mixin.ParticleManagerMixin - * @see me.retucio.sputnik.mixin.StatusEffectFogModifierMixin - * @see me.retucio.sputnik.mixin.StuckArrowsFeatureRendererMixin - * @see me.retucio.sputnik.mixin.TextRendererDrawerMixin - * @see me.retucio.sputnik.mixin.WeatherRenderingMixin + * @see ClientPlayNetworkHandlerMixin + * @see FogRendererMixin + * @see GameRendererMixin + * @see InGameHudMixin + * @see InGameOverlayRendererMixin + * @see ParticleManagerMixin + * @see StatusEffectFogModifierMixin + * @see StuckArrowsFeatureRendererMixin + * @see TextRendererDrawerMixin + * @see WeatherRenderingMixin */ public class NoRender extends Module { 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 99974c8..f5d708f 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 @@ -3,7 +3,7 @@ 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 me.retucio.sputnik.mixin.accessor.AbstractSignEditScreenAccessor; +import me.retucio.sputnik.mixin.accessors.AbstractSignEditScreenAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.util.ChatUtil; 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 9e4876a..16e3d72 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 @@ -3,7 +3,7 @@ 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 me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.settings.BooleanSetting; 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 3ca5553..d56fb26 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 @@ -2,6 +2,8 @@ package me.retucio.sputnik.module.modules.world; import me.retucio.sputnik.event.SubscribeEvent; import me.retucio.sputnik.event.events.network.PacketEvent; +import me.retucio.sputnik.mixin.mixins.render.SkyRendererMixin; +import me.retucio.sputnik.mixin.mixins.world.ClientWorldPropertiesMixin; import me.retucio.sputnik.module.Category; import me.retucio.sputnik.module.Module; import me.retucio.sputnik.module.setting.SettingGroup; @@ -12,8 +14,8 @@ import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket; /** continúa en: - * @see me.retucio.sputnik.mixin.ClientWorldPropertiesMixin - * @see me.retucio.sputnik.mixin.SkyRendererMixin + * @see ClientWorldPropertiesMixin + * @see SkyRendererMixin */ public class TimeChanger extends Module { diff --git a/src/main/java/me/retucio/sputnik/ui/screen/UpdateScreen.java b/src/main/java/me/retucio/sputnik/ui/screen/UpdateScreen.java new file mode 100644 index 0000000..7f176e4 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/ui/screen/UpdateScreen.java @@ -0,0 +1,79 @@ +package me.retucio.sputnik.ui.screen; + +import me.retucio.sputnik.Sputnik; +import me.retucio.sputnik.util.VersionChecker; +import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.DirectionalLayoutWidget; +import net.minecraft.client.gui.widget.SimplePositioningWidget; +import net.minecraft.client.gui.widget.TextWidget; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + +import java.net.URI; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; + +public class UpdateScreen extends Screen { + + private final MinecraftClient mc = MinecraftClient.getInstance(); + private final DirectionalLayoutWidget grid = DirectionalLayoutWidget.vertical(); + + private final Text outdatedText = Text.of("version desactualizada: " + Sputnik.MOD_VERSION); + private final Text updateText = Text.of("descarga la última versión (" + VersionChecker.getLatestVersion() + ") desde aquí:"); + private final URI updateLink = URI.create(FabricLoader.getInstance() + .getModContainer(Sputnik.MOD_ID) + .orElseThrow() + .getMetadata() + .getContact() + .get("sources"). + get() + + "/releases/latest" + ); + + public UpdateScreen() { + super(Text.literal(Formatting.BOLD + "actualizar")); + } + + @Override + protected void init() { + super.init(); + this.grid.getMainPositioner().alignHorizontalCenter().margin(10); + + this.grid.add(new TextWidget(this.title, this.textRenderer)); + this.grid.add(new TextWidget(outdatedText, this.textRenderer)); + this.grid.add(new TextWidget(updateText, this.textRenderer)); + + this.grid.getMainPositioner().margin(2); + + ButtonWidget updateButton = ButtonWidget.builder( + Text.of("CLIC AQUÍ"), + button -> { + handleOpenUri(mc, this, updateLink); + } + ).build(); + this.grid.add(updateButton); + + ButtonWidget idgafButton = ButtonWidget.builder( + Text.of("me la pela"), + button -> this.close() + ).build(); + this.grid.add(idgafButton); + + this.grid.refreshPositions(); + this.grid.forEachChild(this::addDrawableChild); + this.refreshWidgetPositions(); + } + + @Override + protected void refreshWidgetPositions() { + SimplePositioningWidget.setPos(this.grid, this.getNavigationFocus()); + } + + @Override + public boolean shouldCloseOnEsc() { + return false; + } +} diff --git a/src/main/java/me/retucio/sputnik/util/InventoryUtil.java b/src/main/java/me/retucio/sputnik/util/InventoryUtil.java index c67a38b..a37a562 100644 --- a/src/main/java/me/retucio/sputnik/util/InventoryUtil.java +++ b/src/main/java/me/retucio/sputnik/util/InventoryUtil.java @@ -3,7 +3,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.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.component.ComponentType; @@ -36,7 +36,7 @@ public class InventoryUtil { private static Inventory echestInv; - public static ItemStack getStackOfItem(Item item) { + public static ItemStack getStackOf(Item item) { if (mc.player == null) return null; for (ItemStack stack : mc.player.getInventory()) if (stack.getItem() == item) diff --git a/src/main/java/me/retucio/sputnik/util/KeyUtil.java b/src/main/java/me/retucio/sputnik/util/KeyUtil.java index 86a7b65..d0693c0 100644 --- a/src/main/java/me/retucio/sputnik/util/KeyUtil.java +++ b/src/main/java/me/retucio/sputnik/util/KeyUtil.java @@ -1,6 +1,6 @@ package me.retucio.sputnik.util; -import me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.mixin.accessors.KeyBindingAccessor; import net.minecraft.client.input.KeyInput; import net.minecraft.client.option.KeyBinding; import org.lwjgl.glfw.GLFW; @@ -12,9 +12,13 @@ import java.util.Locale; import static me.retucio.sputnik.Sputnik.mc; -// cosas útiles relacionadas a las teclas +// cosas útiles relacionadas con las teclas public class KeyUtil { + public static int getKeyAction(int key) { + return GLFW.glfwGetKey(mc.getWindow().getHandle(), key); + } + public static boolean isKeyDown(int key) { return GLFW.glfwGetKey( mc.getWindow().getHandle(), diff --git a/src/main/java/me/retucio/sputnik/util/VersionChecker.java b/src/main/java/me/retucio/sputnik/util/VersionChecker.java new file mode 100644 index 0000000..498598e --- /dev/null +++ b/src/main/java/me/retucio/sputnik/util/VersionChecker.java @@ -0,0 +1,113 @@ +package me.retucio.sputnik.util; + +import me.retucio.sputnik.Sputnik; +import net.fabricmc.loader.api.FabricLoader; + +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.time.Duration; + +public class VersionChecker { + + private static final URI PROPERTIES_URL = getFileURI(); + + public static boolean updateAvailable = false; + public static String latestRemoteVersion = null; + public static String currentVersion = Sputnik.MOD_VERSION; + + public static boolean shouldShowScreen = false; + + public static void check() { + try { + HttpClient client = HttpClient.newHttpClient(); + HttpRequest request = HttpRequest.newBuilder() + .uri(PROPERTIES_URL) + .timeout(Duration.ofSeconds(5)) + .build(); + + HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); + + if (response.statusCode() == 200) { + String gradleProperties = response.body(); + latestRemoteVersion = extract(gradleProperties); + + if (latestRemoteVersion != null) { + String remoteVersion = (latestRemoteVersion); + String localVersion = cleanVersion(currentVersion); + + if (!remoteVersion.equals(localVersion)) { + updateAvailable = true; + Sputnik.LOGGER.info("actualización disponible. local: {}, más reciente: {}", + currentVersion, latestRemoteVersion); + shouldShowScreen = true; + } else { + Sputnik.LOGGER.info("el mod está al día: v{}", currentVersion); + } + } + } else { + Sputnik.LOGGER.error("no se pudo comprobar la versión más reciente"); + } + } catch (Exception e) { + Sputnik.LOGGER.warn("no se pudo comprobar si el mod está actualizado: {}", e.getMessage()); + } + } + + public static String extract(String file) { + try { + String[] lines = file.split("\n"); + for (String line : lines) { + line = line.trim(); + if (line.startsWith("mod_version")) { + String[] parts = line.split("="); + if (parts.length > 1) { + String version = parts[1].trim(); + version = version.replace("\"", ""); + version = version.replace("'", ""); + return version; + } + } + } + } catch (Exception e) { + Sputnik.LOGGER.error("no se pudo parsear el archivo gradle.properties: {}", e.getMessage()); + } + return null; + } + + public static String cleanVersion(String version) { + if (version == null) return ""; + version = version.replaceFirst("^v", ""); + version = version.replaceFirst("^V", ""); + version = version.split("\\+")[0]; + version = version.split("-")[0]; + return version.trim(); + } + + + private static URI getFileURI() { + try { + String sources = FabricLoader.getInstance() + .getModContainer(Sputnik.MOD_ID) + .orElseThrow() + .getMetadata() + .getContact() + .get("sources") + .orElse(null); + + if (sources != null && sources.contains("github.com")) { + String rawUrl = sources + .replace("https://github.com", "https://raw.githubusercontent.com") + + "/master/gradle.properties"; + return URI.create(rawUrl); + } + } catch (Exception e) { + Sputnik.LOGGER.warn("no se pudo construir gradle.properties desde la metadata", e); + } + return null; + } + + public static String getLatestVersion() { + return latestRemoteVersion; + } +} diff --git a/src/main/resources/sputnik.mixins.json b/src/main/resources/sputnik.mixins.json index 58e1220..ba85662 100644 --- a/src/main/resources/sputnik.mixins.json +++ b/src/main/resources/sputnik.mixins.json @@ -3,27 +3,28 @@ "package": "me.retucio.sputnik.mixin", "compatibilityLevel": "JAVA_21", "mixins": [ - "AbstractBoatEntityMixin", - "BlockCollisionSpliteratorMixin", - "ClientConnectionMixin", - "EntityMixin", - "HandshakeC2SPacketMixin", - "ItemEntityMixin", - "ItemMixin", - "ItemStackMixin", - "KeyInputMixin", - "LivingEntityMixin", - "PlayerEntityMixin", - "ServerConnectorMixin", - "StringHelperMixin", - "TridentItemMixin", - "Vec3dMixin", - "YggdrasilUserApiServiceMixin", - "accessor.AbstractBlockAccessor", - "accessor.ConfirmServerResourcePackScreenAccessor", - "accessor.FishingBobberEntityAccessor", - "accessor.PackAccessor", - "accessor.StatusEffectInstanceAccessor" + "accessors.AbstractBlockAccessor", + "accessors.ConfirmServerResourcePackScreenAccessor", + "accessors.FishingBobberEntityAccessor", + "accessors.PackAccessor", + "accessors.StatusEffectInstanceAccessor", + "mixins.entity.AbstractBoatEntityMixin", + "mixins.entity.EntityMixin", + "mixins.entity.ItemEntityMixin", + "mixins.entity.LivingEntityMixin", + "mixins.io.KeyInputMixin", + "mixins.item.ItemMixin", + "mixins.item.ItemStackMixin", + "mixins.item.TridentItemMixin", + "mixins.misc.StringHelperMixin", + "mixins.misc.Vec3dMixin", + "mixins.network.ClientConnectionMixin", + "mixins.network.HandshakeC2SPacketMixin", + "mixins.network.ServerConnectorMixin", + "mixins.network.YggdrasilUserApiServiceMixin", + "mixins.player.PlayerEntityMixin", + "mixins.player.PlayerInventoryMixin", + "mixins.world.BlockCollisionSpliteratorMixin" ], "injectors": { "defaultRequire": 1 @@ -32,65 +33,65 @@ "requireAnnotations": true }, "client": [ - "BossBarHudMixin", - "BufferStorageMixin", - "CameraMixin", - "CapeFeatureRendererMixin", - "ChatHudLineMixin", - "ChatHudLineVisibleMixin", - "ChatHudMixin", - "ChatInputSuggestorMixin", - "ChatScreenMixin", - "ChunkBorderDebugRendererMixin", - "ChunkOcclusionDataBuilderMixin", - "ClientCommonNetworkHandlerMixin", - "ClientPlayerEntityMixin", - "ClientPlayerInteractionManagerMixin", - "ClientPlayNetworkHandlerMixin", - "ClientWorldMixin", - "ClientWorldPropertiesMixin", - "ConfirmScreenMixin", - "CreativeInventoryScreenMixin", - "DamageParticleFactoryMixin", - "DamageParticleMixin", - "DisconnectedScreenMixin", - "ElytraFeatureRendererMixin", - "EmitterParticleMixin", - "EquipmentRendererMixin", - "FogRendererMixin", - "FontManagerMixin", - "GameOptionsMixin", - "GameRendererMixin", - "HeldItemRendererMixin", - "InGameHudMixin", - "InGameOverlayRendererMixin", - "ItemRendererMixin", - "KeyboardMixin", - "LightmapTextureManagerMixin", - "LivingEntityRendererMixin", - "MessageHandlerMixin", - "MinecraftClientMixin", - "MouseMixin", - "OverlayTextureMixin", - "ParticleManagerMixin", - "ResourcePackPolicyMixin", - "ScreenMixin", - "ScreenshotRecorderMixin", - "ServerInfoMixin", - "ShaderLoaderMixin", - "SkyRendererMixin", - "StatusEffectFogModifierMixin", - "StuckArrowsFeatureRendererMixin", - "TelemetryManagerMixin", - "TextRendererDrawerMixin", - "TextRendererMixin", - "WeatherRenderingMixin", - "WorldRendererMixin", - "accessor.AbstractSignEditScreenAccessor", - "accessor.AnvilScreenAccessor", - "accessor.ClientPlayNetworkHandlerAccessor", - "accessor.HandledScreenAccessor", - "accessor.KeyBindingAccessor", - "accessor.OverlayTextureAccessor" + "accessors.AbstractSignEditScreenAccessor", + "accessors.AnvilScreenAccessor", + "accessors.ClientPlayNetworkHandlerAccessor", + "accessors.HandledScreenAccessor", + "accessors.KeyBindingAccessor", + "accessors.OverlayTextureAccessor", + "mixins.entity.EntityRendererMixin", + "mixins.hud.BossBarHudMixin", + "mixins.hud.ChatHudLineMixin", + "mixins.hud.ChatHudLineVisibleMixin", + "mixins.hud.ChatHudMixin", + "mixins.hud.InGameHudMixin", + "mixins.io.KeyboardMixin", + "mixins.io.MouseMixin", + "mixins.io.ScreenshotRecorderMixin", + "mixins.misc.FontManagerMixin", + "mixins.misc.GameOptionsMixin", + "mixins.misc.MinecraftClientMixin", + "mixins.network.ChatInputSuggestorMixin", + "mixins.network.ClientCommonNetworkHandlerMixin", + "mixins.network.ClientPlayNetworkHandlerMixin", + "mixins.network.MessageHandlerMixin", + "mixins.network.ResourcePackPolicyMixin", + "mixins.network.ServerInfoMixin", + "mixins.network.TelemetryManagerMixin", + "mixins.render.BufferStorageMixin", + "mixins.render.CameraMixin", + "mixins.render.CapeFeatureRendererMixin", + "mixins.render.ChunkBorderDebugRendererMixin", + "mixins.render.ElytraFeatureRendererMixin", + "mixins.render.EntityHitboxDebugRendererMixin", + "mixins.render.EquipmentRendererMixin", + "mixins.render.FogRendererMixin", + "mixins.render.GameRendererMixin", + "mixins.render.HeldItemRendererMixin", + "mixins.render.InGameOverlayRendererMixin", + "mixins.render.ItemRendererMixin", + "mixins.render.LightmapTextureManagerMixin", + "mixins.render.LivingEntityRendererMixin", + "mixins.render.OverlayTextureMixin", + "mixins.render.ShaderLoaderMixin", + "mixins.render.SkyRendererMixin", + "mixins.render.StatusEffectFogModifierMixin", + "mixins.render.StuckArrowsFeatureRendererMixin", + "mixins.render.TextRendererDrawerMixin", + "mixins.render.TextRendererMixin", + "mixins.render.WeatherRenderingMixin", + "mixins.render.WorldRendererMixin", + "mixins.screen.ChatScreenMixin", + "mixins.screen.ConfirmScreenMixin", + "mixins.screen.CreativeInventoryScreenMixin", + "mixins.screen.DisconnectedScreenMixin", + "mixins.screen.ScreenMixin", + "mixins.world.ChunkOcclusionDataBuilderMixin", + "mixins.world.ClientWorldMixin", + "mixins.world.ClientWorldPropertiesMixin", + "mixins.world.DamageParticleFactoryMixin", + "mixins.world.DamageParticleMixin", + "mixins.world.EmitterParticleMixin", + "mixins.world.ParticleManagerMixin" ] } \ No newline at end of file