From ac013c5ebf90cd8c4cc5889b077ea7956037e98e Mon Sep 17 00:00:00 2001 From: Colton Date: Mon, 10 Jun 2024 19:00:24 -0400 Subject: [PATCH] Fixed Criticals + clientside crash. - Fixed Criticals causing crash immediately on launch. - Removed unnecessary AobaClient update function. --- src/main/java/net/aoba/AobaClient.java | 8 ----- src/main/java/net/aoba/gui/AbstractGui.java | 1 - src/main/java/net/aoba/gui/GuiManager.java | 10 +++++-- .../net/aoba/mixin/MinecraftClientMixin.java | 30 ++++--------------- .../IPlayerInteractEntityC2SPacket.java | 2 +- .../aoba/module/modules/combat/Criticals.java | 2 +- 6 files changed, 14 insertions(+), 39 deletions(-) diff --git a/src/main/java/net/aoba/AobaClient.java b/src/main/java/net/aoba/AobaClient.java index 3211c86..da3d329 100644 --- a/src/main/java/net/aoba/AobaClient.java +++ b/src/main/java/net/aoba/AobaClient.java @@ -96,14 +96,6 @@ public void loadAssets() { //GuiManager.borderColor.setMode(ColorMode.Rainbow); //GuiManager.foregroundColor.setMode(ColorMode.Random); } - - /** - * Updates Aoba on a per-tick basis. - */ - public void update() { - moduleManager.update(); - hudManager.update(); - } /** * Renders the HUD every frame diff --git a/src/main/java/net/aoba/gui/AbstractGui.java b/src/main/java/net/aoba/gui/AbstractGui.java index c401597..b271448 100644 --- a/src/main/java/net/aoba/gui/AbstractGui.java +++ b/src/main/java/net/aoba/gui/AbstractGui.java @@ -52,7 +52,6 @@ public abstract class AbstractGui implements IGuiElement, LeftMouseDownListener, protected double lastClickOffsetY; protected boolean inheritHeightFromChildren = true; - protected ArrayList children = new ArrayList<>(); public AbstractGui(String ID, float x, float y, float width, float height) { diff --git a/src/main/java/net/aoba/gui/GuiManager.java b/src/main/java/net/aoba/gui/GuiManager.java index 8e7545e..e7719d9 100644 --- a/src/main/java/net/aoba/gui/GuiManager.java +++ b/src/main/java/net/aoba/gui/GuiManager.java @@ -22,8 +22,10 @@ import net.aoba.event.events.KeyDownEvent; import net.aoba.event.events.LeftMouseDownEvent; import net.aoba.event.events.LeftMouseUpEvent; +import net.aoba.event.events.TickEvent; import net.aoba.event.listeners.LeftMouseDownListener; import net.aoba.event.listeners.LeftMouseUpListener; +import net.aoba.event.listeners.TickListener; import net.aoba.event.listeners.KeyDownListener; import org.joml.Matrix4f; import org.lwjgl.glfw.GLFW; @@ -56,7 +58,7 @@ import net.minecraft.client.util.Window; import net.minecraft.client.util.math.MatrixStack; -public class GuiManager implements LeftMouseDownListener, LeftMouseUpListener, KeyDownListener { +public class GuiManager implements LeftMouseDownListener, LeftMouseUpListener, KeyDownListener, TickListener { protected MinecraftClient mc = MinecraftClient.getInstance(); public KeybindSetting clickGuiButton = new KeybindSetting("key.clickgui", "ClickGUI Key", InputUtil.fromKeyCode(GLFW.GLFW_KEY_GRAVE_ACCENT, 0)); @@ -105,6 +107,7 @@ public GuiManager() { SettingManager.registerSetting(clickGuiButton, Aoba.getInstance().settingManager.modules_category); Aoba.getInstance().eventManager.AddListener(KeyDownListener.class, this); + Aoba.getInstance().eventManager.AddListener(TickListener.class, this); } public void Initialize() { @@ -191,7 +194,8 @@ public void SetHudActive(AbstractHud hud, boolean state) { * Getter for the current color used by the GUI for text rendering. * @return Current Color */ - public void update() { + @Override + public void OnUpdate(TickEvent event) { if(!Aoba.getInstance().isGhosted()){ /** @@ -227,7 +231,7 @@ public void update() { //Aoba.getInstance().eventManager.Fire(new MouseScrollEvent(5.0f, 5.0f)); } - + public void draw(DrawContext drawContext, float tickDelta) { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); diff --git a/src/main/java/net/aoba/mixin/MinecraftClientMixin.java b/src/main/java/net/aoba/mixin/MinecraftClientMixin.java index 7ff99f4..3f70485 100644 --- a/src/main/java/net/aoba/mixin/MinecraftClientMixin.java +++ b/src/main/java/net/aoba/mixin/MinecraftClientMixin.java @@ -19,6 +19,7 @@ package net.aoba.mixin; import net.aoba.Aoba; +import net.aoba.AobaClient; import net.aoba.event.events.TickEvent; import net.minecraft.client.MinecraftClient; import net.minecraft.client.Mouse; @@ -57,19 +58,11 @@ private void onfinishedloading(CallbackInfo info) { Aoba.getInstance().loadAssets(); } - // TODO: this was moved to the FontManager class. - //@Inject(at = @At("TAIL"), method = "initFont(Z)V") - //private void onInitFont(boolean forcesUnicode, CallbackInfo info) { - // Aoba.getInstance().loadAssets(); - //} - @Inject(at = @At("TAIL"), method = "tick()V") public void tick(CallbackInfo info) { if (this.world != null) { TickEvent updateEvent = new TickEvent(); Aoba.getInstance().eventManager.Fire(updateEvent); - - Aoba.getInstance().update(); } } @@ -87,22 +80,6 @@ private Session getSessionForSessionProperties(MinecraftClient mc) return session; } - @Inject(at = {@At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;crosshairTarget:Lnet/minecraft/util/hit/HitResult;", ordinal = 0)}, method = {"doAttack()Z"}, cancellable = true) - private void onDoAttack(CallbackInfoReturnable cir) { - //double mouseX = Math.ceil(mouse.getX()); - //double mouseY = Math.ceil(mouse.getY()); - - //System.out.println("DOuble Click?"); - //MouseLeftClickEvent event = new MouseLeftClickEvent(mouseX, mouseY); - - //Aoba.getInstance().eventManager.Fire(event); - - //if(event.IsCancelled()) { - // cir.setReturnValue(false); - // cir.cancel(); - //} - } - @Inject(at = {@At(value = "HEAD")}, method = {"close()V"}) private void onClose(CallbackInfo ci) { try { @@ -114,6 +91,9 @@ private void onClose(CallbackInfo ci) { @Inject(at = {@At(value="HEAD")}, method = {"openGameMenu(Z)V"}) private void onOpenPauseMenu(boolean pause, CallbackInfo ci) { - Aoba.getInstance().hudManager.setClickGuiOpen(false); + AobaClient aoba = Aoba.getInstance(); + if(aoba.hudManager != null) { + Aoba.getInstance().hudManager.setClickGuiOpen(false); + } } } diff --git a/src/main/java/net/aoba/mixin/interfaces/IPlayerInteractEntityC2SPacket.java b/src/main/java/net/aoba/mixin/interfaces/IPlayerInteractEntityC2SPacket.java index a83538d..53e2134 100644 --- a/src/main/java/net/aoba/mixin/interfaces/IPlayerInteractEntityC2SPacket.java +++ b/src/main/java/net/aoba/mixin/interfaces/IPlayerInteractEntityC2SPacket.java @@ -8,5 +8,5 @@ @Mixin(PlayerInteractEntityC2SPacket.class) public interface IPlayerInteractEntityC2SPacket { @Invoker("write") - void write(PacketByteBuf buf); + public void invokeWrite(PacketByteBuf buf); } diff --git a/src/main/java/net/aoba/module/modules/combat/Criticals.java b/src/main/java/net/aoba/module/modules/combat/Criticals.java index ef753ce..5da6842 100644 --- a/src/main/java/net/aoba/module/modules/combat/Criticals.java +++ b/src/main/java/net/aoba/module/modules/combat/Criticals.java @@ -82,7 +82,7 @@ public void OnSendPacket(SendPacketEvent event) { IPlayerInteractEntityC2SPacket packetAccessor = (IPlayerInteractEntityC2SPacket)playerInteractPacket; PacketByteBuf packetBuf = new PacketByteBuf(Unpooled.buffer()); - packetAccessor.write(packetBuf); + packetAccessor.invokeWrite(packetBuf); packetBuf.readVarInt(); InteractType type = packetBuf.readEnumConstant(InteractType.class);