From d90f2ca4d97f16728a296ab625741a19e6124c00 Mon Sep 17 00:00:00 2001 From: zaaarf Date: Tue, 28 Mar 2023 14:26:36 +0200 Subject: chore: upgraded patches to lillero-processor 0.5 --- .../java/ftbsc/bscv/patches/BackgroundPatch.java | 20 ++++---- .../java/ftbsc/bscv/patches/BlockPushPatch.java | 19 ++++---- src/main/java/ftbsc/bscv/patches/BoatPatch.java | 53 +++++++++++++--------- src/main/java/ftbsc/bscv/patches/ChatPatch.java | 8 ++-- .../java/ftbsc/bscv/patches/CommandsPatch.java | 22 +++++---- .../java/ftbsc/bscv/patches/EntityPushPatch.java | 19 ++++---- .../java/ftbsc/bscv/patches/LiquidPushPatch.java | 19 ++++---- src/main/java/ftbsc/bscv/patches/NoSlowPatch.java | 19 ++++---- src/main/java/ftbsc/bscv/patches/PacketPatch.java | 39 +++++++++------- .../java/ftbsc/bscv/patches/PortalGuiPatch.java | 6 +-- 10 files changed, 129 insertions(+), 95 deletions(-) (limited to 'src') diff --git a/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java b/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java index 5a5a8a7..c60ff0f 100644 --- a/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java @@ -5,7 +5,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.PatternMatcher; import ftbsc.lll.tools.nodes.MethodProxyInsnNode; @@ -34,15 +34,19 @@ public class BackgroundPatch implements ICommons { } } - @Patch(value = Screen.class, reason = "add hook to cancel background on some screens") + @Patch(Screen.class) public abstract static class BackgroundOverride implements Opcodes { - @Find(parent = BackgroundPatch.class) - abstract MethodProxy shouldDrawBackground(); - @Target + @Find(BackgroundPatch.class) + MethodProxy shouldDrawBackground; + + @Target(of = "shouldDrawBackground") + abstract boolean shouldDrawBackground(Screen screen); + + @Target(of = "injectCancelBackgroundHook") abstract void renderBackground(MatrixStack stack, int x); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel background on some screens") + public void injectCancelBackgroundHook(ClassNode clazz, MethodNode main) { AbstractInsnNode found = PatternMatcher.builder() .opcodes(ALOAD, ALOAD, ICONST_0, ICONST_0) .ignoreFrames() @@ -55,7 +59,7 @@ public class BackgroundPatch implements ICommons { LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); is.add(new VarInsnNode(ALOAD, 0)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldDrawBackground())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldDrawBackground)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); diff --git a/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java b/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java index 26745d5..b9d2075 100644 --- a/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java @@ -4,7 +4,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.nodes.MethodProxyInsnNode; import net.minecraft.client.entity.player.ClientPlayerEntity; @@ -24,19 +24,22 @@ public class BlockPushPatch { return MinecraftForge.EVENT_BUS.post(new PlayerBlockPushEvent()); } - @Patch(value = ClientPlayerEntity.class, reason = "add hook to cancel block collisions") + @Patch(ClientPlayerEntity.class) public abstract static class BlockCollisionsOverride implements Opcodes { - @Find(parent = BlockPushPatch.class) - abstract MethodProxy shouldCancelBlockCollisions(); + @Find(BlockPushPatch.class) + MethodProxy shouldCancelBlockCollisions; - @Target + @Target(of = "shouldCancelBlockCollisions") + abstract boolean shouldCancelBlockCollisions(); + + @Target(of = "injectCancelCollisionsHook") abstract void moveTowardsClosestSpace(double x, double z); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel block collisions") + public void injectCancelCollisionsHook(ClassNode clazz, MethodNode main) { LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); - is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldCancelBlockCollisions())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldCancelBlockCollisions)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); diff --git a/src/main/java/ftbsc/bscv/patches/BoatPatch.java b/src/main/java/ftbsc/bscv/patches/BoatPatch.java index 7c35e9a..b8a31fe 100644 --- a/src/main/java/ftbsc/bscv/patches/BoatPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BoatPatch.java @@ -5,7 +5,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.nodes.MethodProxyInsnNode; import net.minecraft.entity.Entity; @@ -45,20 +45,23 @@ public class BoatPatch implements ICommons { return MinecraftForge.EVENT_BUS.post(new BoatEvent.Gravity()); } - @Patch(value = BoatEntity.class, reason = "add hook to cancel vanilla boat controls") + @Patch(BoatEntity.class) public abstract static class BoatControlOverride implements Opcodes { - @Find(parent = BoatPatch.class) - abstract MethodProxy boatControl(); + @Find(BoatPatch.class) + MethodProxy boatControl; - @Target + @Target(of = "boatControl") + abstract boolean boatControl(); + + @Target(of = "injectBoatControlHook") public abstract void controlBoat(); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel vanilla boat controls") + public void injectBoatControlHook(ClassNode clazz, MethodNode main) { // Hook at method start LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); - is.add(new MethodProxyInsnNode(INVOKESTATIC, boatControl())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, boatControl)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); @@ -67,20 +70,23 @@ public class BoatPatch implements ICommons { } } - @Patch(value = BoatEntity.class, reason = "add hook to cancel vanilla boat rotation clamping") + @Patch(BoatEntity.class) public abstract static class BoatClampOverride implements Opcodes { - @Find(parent = BoatPatch.class) - abstract MethodProxy boatClampRotation(); + @Find(BoatPatch.class) + MethodProxy boatClampRotation; + + @Target(of = "boatClampRotation") + abstract boolean boatClampRotation(); - @Target + @Target(of = "injectRotationClampingHook") public abstract void clampRotation(Entity e); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel vanilla boat rotation clamping") + public void injectRotationClampingHook(ClassNode clazz, MethodNode main) { // Hook at method start LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); - is.add(new MethodProxyInsnNode(INVOKESTATIC, boatClampRotation())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, boatClampRotation)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); @@ -89,21 +95,24 @@ public class BoatPatch implements ICommons { } } - @Patch(value = Entity.class, reason = "add hook to alter vanilla boat gravity") + @Patch(Entity.class) public abstract static class BoatGravityOverride implements Opcodes { - @Find(parent = BoatPatch.class) - abstract MethodProxy boatGravityCheck(); + @Find(BoatPatch.class) + MethodProxy boatGravityCheck; + + @Target(of = "boatGravityCheck") + abstract boolean boatGravityCheck(Entity entity); - @Target + @Target(of = "injectGravityHook") public abstract boolean isNoGravity(); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to alter vanilla boat gravity") + public void injectGravityHook(ClassNode clazz, MethodNode main) { // Hook at method start LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); is.add(new VarInsnNode(ALOAD, 0)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, boatGravityCheck())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, boatGravityCheck)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(ICONST_1)); is.add(new InsnNode(IRETURN)); diff --git a/src/main/java/ftbsc/bscv/patches/ChatPatch.java b/src/main/java/ftbsc/bscv/patches/ChatPatch.java index 0441c28..a19bcd3 100644 --- a/src/main/java/ftbsc/bscv/patches/ChatPatch.java +++ b/src/main/java/ftbsc/bscv/patches/ChatPatch.java @@ -14,16 +14,16 @@ import org.objectweb.asm.tree.*; public class ChatPatch { - @Patch(value = Minecraft.class, reason = "add hook to prevent chat from being cleared") + @Patch(Minecraft.class) public abstract static class ChatClearInterceptor implements Opcodes { // TODO this should be optional - @Target + @Target(of = "injectClearChatHook") abstract void setScreen(Screen screen); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "skips chat clearing") + public void injectClearChatHook(ClassNode clazz, MethodNode main) { InsnSequence match = PatternMatcher.builder() .opcodes(ALOAD, GETFIELD, INVOKEVIRTUAL, ICONST_1, INVOKEVIRTUAL) .ignoreLineNumbers() diff --git a/src/main/java/ftbsc/bscv/patches/CommandsPatch.java b/src/main/java/ftbsc/bscv/patches/CommandsPatch.java index d819cbd..a7474a0 100644 --- a/src/main/java/ftbsc/bscv/patches/CommandsPatch.java +++ b/src/main/java/ftbsc/bscv/patches/CommandsPatch.java @@ -4,7 +4,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.PatternMatcher; import ftbsc.lll.tools.debug.BytecodePrinter; @@ -34,17 +34,20 @@ public class CommandsPatch { MinecraftForge.EVENT_BUS.post(new CommandsBuiltEvent(dispatcher)); } - @Patch(value = ClientPlayNetHandler.class, reason = "add hook to insert our command suggestions") + @Patch(ClientPlayNetHandler.class) public abstract static class CommandsDispatcherCatcher implements Opcodes { - @Find(parent = CommandsPatch.class) - abstract MethodProxy cmdBuilt(); + @Find(CommandsPatch.class) + MethodProxy cmdBuilt; - @Target + + @Target(of = "cmdBuilt") + abstract void cmdBuilt(CommandDispatcher dispatcher); + + @Target(of = "injectCommandHandler") abstract void handleCommands(SCommandListPacket pkt); - @Injector - public void inject(ClassNode clazz, MethodNode main) { - BytecodePrinter.logAsmMethod(main, "pre.log"); + @Injector(reason = "add hook to insert our command suggestions") + public void injectCommandHandler(ClassNode clazz, MethodNode main) { AbstractInsnNode found = PatternMatcher.builder() .opcodes(ALOAD, INVOKEVIRTUAL, INVOKESPECIAL) .ignoreFrames() @@ -56,10 +59,9 @@ public class CommandsPatch { InsnSequence is = new InsnSequence(); is.add(new InsnNode(DUP)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, cmdBuilt())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, cmdBuilt)); main.instructions.insert(found, is); - BytecodePrinter.logAsmMethod(main, "post.log"); } } } diff --git a/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java b/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java index 9cf74bd..d425987 100644 --- a/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java @@ -5,7 +5,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.nodes.MethodProxyInsnNode; import net.minecraft.entity.Entity; @@ -28,20 +28,23 @@ public class EntityPushPatch implements ICommons { return false; } - @Patch(value = Entity.class, reason = "add hook to cancel entity collisions") + @Patch(Entity.class) public abstract static class EntityCollisionsOverride implements Opcodes { - @Find(parent = EntityPushPatch.class) - abstract MethodProxy shouldCancelEntityCollisions(); + @Find(EntityPushPatch.class) + MethodProxy shouldCancelEntityCollisions; - @Target + @Target(of = "shouldCancelEntityCollisions") + abstract boolean shouldCancelEntityCollisions(Entity e); + + @Target(of = "injectEntityCollisionHook") abstract void push(double x, double y, double z); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel entity collisions") + public void injectEntityCollisionHook(ClassNode clazz, MethodNode main) { LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); is.add(new VarInsnNode(ALOAD, 0)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldCancelEntityCollisions())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldCancelEntityCollisions)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); diff --git a/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java b/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java index a800878..af8ccc1 100644 --- a/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java @@ -5,7 +5,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.nodes.MethodProxyInsnNode; import net.minecraft.entity.player.PlayerEntity; @@ -28,20 +28,23 @@ public class LiquidPushPatch implements ICommons { return false; } - @Patch(value = PlayerEntity.class, reason = "add hook to cancel liquid collisions") + @Patch(PlayerEntity.class) public abstract static class LiquidCollisionsOverride implements Opcodes { - @Find(parent = LiquidPushPatch.class) - abstract MethodProxy shouldCancelLiquidCollisions(); + @Find(LiquidPushPatch.class) + MethodProxy shouldCancelLiquidCollisions; - @Target + @Target(of = "shouldCancelLiquidCollisions") + abstract boolean shouldCancelLiquidCollisions(PlayerEntity player); + + @Target(of = "injectLiquidCollisionHook") abstract boolean isPushedByFluid(); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel liquid collisions") + public void injectLiquidCollisionHook(ClassNode clazz, MethodNode main) { LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); is.add(new VarInsnNode(ALOAD, 0)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldCancelLiquidCollisions())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldCancelLiquidCollisions)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(ICONST_0)); is.add(new InsnNode(IRETURN)); diff --git a/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java b/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java index c9ce730..f0e2c21 100644 --- a/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java +++ b/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java @@ -4,7 +4,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.PatternMatcher; import ftbsc.lll.tools.nodes.MethodProxyInsnNode; @@ -25,17 +25,20 @@ public class NoSlowPatch { return MinecraftForge.EVENT_BUS.post(new PlayerSlowDownEvent()); } - @Patch(value = ClientPlayerEntity.class, reason = "add hook to cancel slowing down effect of using items") + @Patch(ClientPlayerEntity.class) public abstract static class SlowDownOverride implements Opcodes { - @Find(parent = NoSlowPatch.class) - abstract MethodProxy shouldSlowPlayer(); + @Find(NoSlowPatch.class) + MethodProxy shouldSlowPlayer; - @Target + @Target(of = "shouldSlowPlayer") + abstract boolean shouldSlowPlayer(); + + @Target(of = "injectNoSlowHook") abstract void aiStep(); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to cancel slowing down effect of using items") + public void injectNoSlowHook(ClassNode clazz, MethodNode main) { AbstractInsnNode found = PatternMatcher.builder() .opcodes(ALOAD, INVOKEVIRTUAL, IFEQ, ALOAD, INVOKEVIRTUAL, IFNE) .ignoreFrames() @@ -56,7 +59,7 @@ public class NoSlowPatch { LabelNode skip = new LabelNode(); // TODO can we get the label that the original IF is jumping to without adding one ourselves? InsnSequence is = new InsnSequence(); - is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldSlowPlayer())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, shouldSlowPlayer)); is.add(new JumpInsnNode(IFNE, skip)); main.instructions.insert(found, is); diff --git a/src/main/java/ftbsc/bscv/patches/PacketPatch.java b/src/main/java/ftbsc/bscv/patches/PacketPatch.java index 603dd09..fbf5889 100644 --- a/src/main/java/ftbsc/bscv/patches/PacketPatch.java +++ b/src/main/java/ftbsc/bscv/patches/PacketPatch.java @@ -4,7 +4,7 @@ import ftbsc.lll.processor.annotations.Find; import ftbsc.lll.processor.annotations.Injector; import ftbsc.lll.processor.annotations.Patch; import ftbsc.lll.processor.annotations.Target; -import ftbsc.lll.proxies.MethodProxy; +import ftbsc.lll.proxies.impl.MethodProxy; import ftbsc.lll.tools.InsnSequence; import ftbsc.lll.tools.PatternMatcher; import ftbsc.lll.tools.debug.BytecodePrinter; @@ -51,16 +51,19 @@ public class PacketPatch { return MinecraftForge.EVENT_BUS.post(new PacketEvent.Outgoing(pkt)); } - @Patch(value = NetworkManager.class, reason = "add hook to intercept and alter/cancel incoming packets") + @Patch(NetworkManager.class) public abstract static class IncomingPacketInterceptor implements Opcodes { - @Find(parent = PacketPatch.class) - abstract MethodProxy pktIn(); + @Find(PacketPatch.class) + MethodProxy pktIn; - @Target - public abstract void channelRead0(ChannelHandlerContext ctx, IPacket pak); + @Target(of = "pktIn") + abstract boolean pktIn(IPacket pkt); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Target(of = "injectIncomingInterceptor") + abstract void channelRead0(ChannelHandlerContext ctx, IPacket pak); + + @Injector(reason = "add hook to intercept and alter/cancel incoming packets") + public void injectIncomingInterceptor(ClassNode clazz, MethodNode main) { AbstractInsnNode found = PatternMatcher.builder() .opcodes(ALOAD, GETFIELD, INVOKEINTERFACE, IFEQ) .ignoreFrames() @@ -73,7 +76,7 @@ public class PacketPatch { LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); is.add(new VarInsnNode(ALOAD, 2)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, pktIn())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, pktIn)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); @@ -82,21 +85,25 @@ public class PacketPatch { } } - @Patch(value = NetworkManager.class, reason = "add hook to intercept and alter/cancel outgoing packets") + @Patch(NetworkManager.class) public abstract static class OutgoingPacketInterceptor implements Opcodes { - @Find(parent = PacketPatch.class) - abstract MethodProxy pktOut(); + @Find(PacketPatch.class) + MethodProxy pktOut; + + @Target(of = "pktOut") + abstract boolean pktOut(IPacket pkt); + - @Target + @Target(of = "injectOutgoingInterceptor") public abstract void sendPacket(IPacket pak, GenericFutureListener> gfl); - @Injector - public void inject(ClassNode clazz, MethodNode main) { + @Injector(reason = "add hook to intercept and alter/cancel outgoing packets") + public void injectOutgoingInterceptor(ClassNode clazz, MethodNode main) { // hook at the top LabelNode skip = new LabelNode(); InsnSequence is = new InsnSequence(); is.add(new VarInsnNode(ALOAD, 1)); - is.add(new MethodProxyInsnNode(INVOKESTATIC, pktOut())); + is.add(new MethodProxyInsnNode(INVOKESTATIC, pktOut)); is.add(new JumpInsnNode(IFEQ, skip)); is.add(new InsnNode(RETURN)); is.add(skip); diff --git a/src/main/java/ftbsc/bscv/patches/PortalGuiPatch.java b/src/main/java/ftbsc/bscv/patches/PortalGuiPatch.java index 7a36e8e..0eaf858 100644 --- a/src/main/java/ftbsc/bscv/patches/PortalGuiPatch.java +++ b/src/main/java/ftbsc/bscv/patches/PortalGuiPatch.java @@ -13,12 +13,12 @@ import ftbsc.lll.processor.annotations.Target; import ftbsc.lll.tools.PatternMatcher; import net.minecraft.client.entity.player.ClientPlayerEntity; -@Patch(value = ClientPlayerEntity.class, reason = "prevent minecraft from force closing guis when entering portals") +@Patch(ClientPlayerEntity.class) public abstract class PortalGuiPatch implements Opcodes { - @Target + @Target(of = "inject") abstract void handleNetherPortalClient(); - @Injector + @Injector(reason = "prevent minecraft from force closing guis when entering portals") public void inject(ClassNode clazz, MethodNode main) { LabelNode skip = new LabelNode(); -- cgit v1.2.3-56-ga3b1 From 9c8a19286648b5e39d2750d992e12b657e015991 Mon Sep 17 00:00:00 2001 From: zaaarf Date: Sun, 2 Apr 2023 23:52:02 +0200 Subject: chore: updated to 0.5.1, direct hook targeting --- gradle/libs.versions.toml | 4 +-- .../java/ftbsc/bscv/patches/BackgroundPatch.java | 9 +++---- .../java/ftbsc/bscv/patches/BlockPushPatch.java | 8 +++--- src/main/java/ftbsc/bscv/patches/BoatPatch.java | 30 +++++++++------------- .../java/ftbsc/bscv/patches/CommandsPatch.java | 9 +++---- .../java/ftbsc/bscv/patches/EntityPushPatch.java | 14 +++++----- .../java/ftbsc/bscv/patches/LiquidPushPatch.java | 14 +++++----- src/main/java/ftbsc/bscv/patches/NoSlowPatch.java | 8 +++--- src/main/java/ftbsc/bscv/patches/PacketPatch.java | 17 +++++------- 9 files changed, 44 insertions(+), 69 deletions(-) (limited to 'src') diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 52b0807..beaeb09 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,8 +4,8 @@ gitVersion = "0.13.0" minecraft = "1.16.5" forge = "1.16.5-36.2.34" autoService = "1.0.1" -lillero = "0.4.0" -lilleroProcessor = "0.5.0" +lillero = "0.4.1" +lilleroProcessor = "0.5.1" checkerFramework = "0.6.24" [plugins] diff --git a/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java b/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java index c60ff0f..92b6710 100644 --- a/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java @@ -20,11 +20,6 @@ import org.objectweb.asm.tree.*; import com.mojang.blaze3d.matrix.MatrixStack; public class BackgroundPatch implements ICommons { - - public static boolean shouldDrawBackground(Screen screen) { - return MinecraftForge.EVENT_BUS.post(new RenderBackgroundEvent(screen)); - } - @Cancelable public static class RenderBackgroundEvent extends Event { public final Screen screen; @@ -40,7 +35,9 @@ public class BackgroundPatch implements ICommons { MethodProxy shouldDrawBackground; @Target(of = "shouldDrawBackground") - abstract boolean shouldDrawBackground(Screen screen); + public static boolean shouldDrawBackground(Screen screen) { + return MinecraftForge.EVENT_BUS.post(new RenderBackgroundEvent(screen)); + } @Target(of = "injectCancelBackgroundHook") abstract void renderBackground(MatrixStack stack, int x); diff --git a/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java b/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java index b9d2075..cc35eda 100644 --- a/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java @@ -20,17 +20,15 @@ public class BlockPushPatch { @Cancelable public static class PlayerBlockPushEvent extends Event {} - public static boolean shouldCancelBlockCollisions() { - return MinecraftForge.EVENT_BUS.post(new PlayerBlockPushEvent()); - } - @Patch(ClientPlayerEntity.class) public abstract static class BlockCollisionsOverride implements Opcodes { @Find(BlockPushPatch.class) MethodProxy shouldCancelBlockCollisions; @Target(of = "shouldCancelBlockCollisions") - abstract boolean shouldCancelBlockCollisions(); + public static boolean shouldCancelBlockCollisions() { + return MinecraftForge.EVENT_BUS.post(new PlayerBlockPushEvent()); + } @Target(of = "injectCancelCollisionsHook") abstract void moveTowardsClosestSpace(double x, double z); diff --git a/src/main/java/ftbsc/bscv/patches/BoatPatch.java b/src/main/java/ftbsc/bscv/patches/BoatPatch.java index b8a31fe..ef00f2d 100644 --- a/src/main/java/ftbsc/bscv/patches/BoatPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BoatPatch.java @@ -30,28 +30,15 @@ public class BoatPatch implements ICommons { public static class Gravity extends Event { } } - public static boolean boatControl() { - return MinecraftForge.EVENT_BUS.post(new BoatEvent.Control()); - } - - public static boolean boatClampRotation() { - return MinecraftForge.EVENT_BUS.post(new BoatEvent.ClampRotation()); - } - - public static boolean boatGravityCheck(Entity entity) { - if (MC.player == null) return false; - if (MC.player.getVehicle() == null) return false; - if (MC.player.getVehicle() != entity) return false; - return MinecraftForge.EVENT_BUS.post(new BoatEvent.Gravity()); - } - @Patch(BoatEntity.class) public abstract static class BoatControlOverride implements Opcodes { @Find(BoatPatch.class) MethodProxy boatControl; @Target(of = "boatControl") - abstract boolean boatControl(); + public static boolean boatControl() { + return MinecraftForge.EVENT_BUS.post(new BoatEvent.Control()); + } @Target(of = "injectBoatControlHook") public abstract void controlBoat(); @@ -76,7 +63,9 @@ public class BoatPatch implements ICommons { MethodProxy boatClampRotation; @Target(of = "boatClampRotation") - abstract boolean boatClampRotation(); + public static boolean boatClampRotation() { + return MinecraftForge.EVENT_BUS.post(new BoatEvent.ClampRotation()); + } @Target(of = "injectRotationClampingHook") public abstract void clampRotation(Entity e); @@ -101,7 +90,12 @@ public class BoatPatch implements ICommons { MethodProxy boatGravityCheck; @Target(of = "boatGravityCheck") - abstract boolean boatGravityCheck(Entity entity); + public static boolean boatGravityCheck(Entity entity) { + if (MC.player == null) return false; + if (MC.player.getVehicle() == null) return false; + if (MC.player.getVehicle() != entity) return false; + return MinecraftForge.EVENT_BUS.post(new BoatEvent.Gravity()); + } @Target(of = "injectGravityHook") public abstract boolean isNoGravity(); diff --git a/src/main/java/ftbsc/bscv/patches/CommandsPatch.java b/src/main/java/ftbsc/bscv/patches/CommandsPatch.java index a7474a0..4f45b42 100644 --- a/src/main/java/ftbsc/bscv/patches/CommandsPatch.java +++ b/src/main/java/ftbsc/bscv/patches/CommandsPatch.java @@ -30,18 +30,15 @@ public class CommandsPatch { } } - public static void cmdBuilt(CommandDispatcher dispatcher) { - MinecraftForge.EVENT_BUS.post(new CommandsBuiltEvent(dispatcher)); - } - @Patch(ClientPlayNetHandler.class) public abstract static class CommandsDispatcherCatcher implements Opcodes { @Find(CommandsPatch.class) MethodProxy cmdBuilt; - @Target(of = "cmdBuilt") - abstract void cmdBuilt(CommandDispatcher dispatcher); + public static void cmdBuilt(CommandDispatcher dispatcher) { + MinecraftForge.EVENT_BUS.post(new CommandsBuiltEvent(dispatcher)); + } @Target(of = "injectCommandHandler") abstract void handleCommands(SCommandListPacket pkt); diff --git a/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java b/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java index d425987..c40062f 100644 --- a/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java @@ -21,20 +21,18 @@ public class EntityPushPatch implements ICommons { @Cancelable public static class PlayerEntityPushEvent extends Event {} - public static boolean shouldCancelEntityCollisions(Entity e) { - if (e.equals(MC.player)) { - return MinecraftForge.EVENT_BUS.post(new PlayerEntityPushEvent()); - } - return false; - } - @Patch(Entity.class) public abstract static class EntityCollisionsOverride implements Opcodes { @Find(EntityPushPatch.class) MethodProxy shouldCancelEntityCollisions; @Target(of = "shouldCancelEntityCollisions") - abstract boolean shouldCancelEntityCollisions(Entity e); + public static boolean shouldCancelEntityCollisions(Entity e) { + if (e.equals(MC.player)) { + return MinecraftForge.EVENT_BUS.post(new PlayerEntityPushEvent()); + } + return false; + } @Target(of = "injectEntityCollisionHook") abstract void push(double x, double y, double z); diff --git a/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java b/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java index af8ccc1..2db811e 100644 --- a/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java @@ -21,20 +21,18 @@ public class LiquidPushPatch implements ICommons { @Cancelable public static class PlayerLiquidPushEvent extends Event {} - public static boolean shouldCancelLiquidCollisions(PlayerEntity player) { - if (player.equals(MC.player)) { - return MinecraftForge.EVENT_BUS.post(new PlayerLiquidPushEvent()); - } - return false; - } - @Patch(PlayerEntity.class) public abstract static class LiquidCollisionsOverride implements Opcodes { @Find(LiquidPushPatch.class) MethodProxy shouldCancelLiquidCollisions; @Target(of = "shouldCancelLiquidCollisions") - abstract boolean shouldCancelLiquidCollisions(PlayerEntity player); + public static boolean shouldCancelLiquidCollisions(PlayerEntity player) { + if (player.equals(MC.player)) { + return MinecraftForge.EVENT_BUS.post(new PlayerLiquidPushEvent()); + } + return false; + } @Target(of = "injectLiquidCollisionHook") abstract boolean isPushedByFluid(); diff --git a/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java b/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java index f0e2c21..a100108 100644 --- a/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java +++ b/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java @@ -21,10 +21,6 @@ public class NoSlowPatch { @Cancelable public static class PlayerSlowDownEvent extends Event { } - public static boolean shouldSlowPlayer() { - return MinecraftForge.EVENT_BUS.post(new PlayerSlowDownEvent()); - } - @Patch(ClientPlayerEntity.class) public abstract static class SlowDownOverride implements Opcodes { @@ -32,7 +28,9 @@ public class NoSlowPatch { MethodProxy shouldSlowPlayer; @Target(of = "shouldSlowPlayer") - abstract boolean shouldSlowPlayer(); + public static boolean shouldSlowPlayer() { + return MinecraftForge.EVENT_BUS.post(new PlayerSlowDownEvent()); + } @Target(of = "injectNoSlowHook") abstract void aiStep(); diff --git a/src/main/java/ftbsc/bscv/patches/PacketPatch.java b/src/main/java/ftbsc/bscv/patches/PacketPatch.java index fbf5889..bc9b835 100644 --- a/src/main/java/ftbsc/bscv/patches/PacketPatch.java +++ b/src/main/java/ftbsc/bscv/patches/PacketPatch.java @@ -43,21 +43,15 @@ public class PacketPatch { } } - public static boolean pktIn(IPacket pkt) { - return MinecraftForge.EVENT_BUS.post(new PacketEvent.Incoming(pkt)); - } - - public static boolean pktOut(IPacket pkt) { - return MinecraftForge.EVENT_BUS.post(new PacketEvent.Outgoing(pkt)); - } - @Patch(NetworkManager.class) public abstract static class IncomingPacketInterceptor implements Opcodes { @Find(PacketPatch.class) MethodProxy pktIn; @Target(of = "pktIn") - abstract boolean pktIn(IPacket pkt); + public static boolean pktIn(IPacket pkt) { + return MinecraftForge.EVENT_BUS.post(new PacketEvent.Incoming(pkt)); + } @Target(of = "injectIncomingInterceptor") abstract void channelRead0(ChannelHandlerContext ctx, IPacket pak); @@ -91,8 +85,9 @@ public class PacketPatch { MethodProxy pktOut; @Target(of = "pktOut") - abstract boolean pktOut(IPacket pkt); - + public static boolean pktOut(IPacket pkt) { + return MinecraftForge.EVENT_BUS.post(new PacketEvent.Outgoing(pkt)); + } @Target(of = "injectOutgoingInterceptor") public abstract void sendPacket(IPacket pak, GenericFutureListener> gfl); -- cgit v1.2.3-56-ga3b1 From a5271a1d32b208f1171e25843148729b1f204129 Mon Sep 17 00:00:00 2001 From: zaaarf Date: Thu, 6 Apr 2023 14:46:08 +0200 Subject: fix: reference inner class name in patch finder --- src/main/java/ftbsc/bscv/patches/BackgroundPatch.java | 2 +- src/main/java/ftbsc/bscv/patches/BlockPushPatch.java | 2 +- src/main/java/ftbsc/bscv/patches/BoatPatch.java | 6 +++--- src/main/java/ftbsc/bscv/patches/CommandsPatch.java | 2 +- src/main/java/ftbsc/bscv/patches/EntityPushPatch.java | 2 +- src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java | 2 +- src/main/java/ftbsc/bscv/patches/NoSlowPatch.java | 2 +- src/main/java/ftbsc/bscv/patches/PacketPatch.java | 4 ++-- 8 files changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java b/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java index 92b6710..e9444c0 100644 --- a/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BackgroundPatch.java @@ -31,7 +31,7 @@ public class BackgroundPatch implements ICommons { @Patch(Screen.class) public abstract static class BackgroundOverride implements Opcodes { - @Find(BackgroundPatch.class) + @Find(BackgroundOverride.class) MethodProxy shouldDrawBackground; @Target(of = "shouldDrawBackground") diff --git a/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java b/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java index cc35eda..a52a23e 100644 --- a/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BlockPushPatch.java @@ -22,7 +22,7 @@ public class BlockPushPatch { @Patch(ClientPlayerEntity.class) public abstract static class BlockCollisionsOverride implements Opcodes { - @Find(BlockPushPatch.class) + @Find(BlockCollisionsOverride.class) MethodProxy shouldCancelBlockCollisions; @Target(of = "shouldCancelBlockCollisions") diff --git a/src/main/java/ftbsc/bscv/patches/BoatPatch.java b/src/main/java/ftbsc/bscv/patches/BoatPatch.java index ef00f2d..4de534f 100644 --- a/src/main/java/ftbsc/bscv/patches/BoatPatch.java +++ b/src/main/java/ftbsc/bscv/patches/BoatPatch.java @@ -32,7 +32,7 @@ public class BoatPatch implements ICommons { @Patch(BoatEntity.class) public abstract static class BoatControlOverride implements Opcodes { - @Find(BoatPatch.class) + @Find(BoatControlOverride.class) MethodProxy boatControl; @Target(of = "boatControl") @@ -59,7 +59,7 @@ public class BoatPatch implements ICommons { @Patch(BoatEntity.class) public abstract static class BoatClampOverride implements Opcodes { - @Find(BoatPatch.class) + @Find(BoatClampOverride.class) MethodProxy boatClampRotation; @Target(of = "boatClampRotation") @@ -86,7 +86,7 @@ public class BoatPatch implements ICommons { @Patch(Entity.class) public abstract static class BoatGravityOverride implements Opcodes { - @Find(BoatPatch.class) + @Find(BoatGravityOverride.class) MethodProxy boatGravityCheck; @Target(of = "boatGravityCheck") diff --git a/src/main/java/ftbsc/bscv/patches/CommandsPatch.java b/src/main/java/ftbsc/bscv/patches/CommandsPatch.java index 4f45b42..b5fbc76 100644 --- a/src/main/java/ftbsc/bscv/patches/CommandsPatch.java +++ b/src/main/java/ftbsc/bscv/patches/CommandsPatch.java @@ -32,7 +32,7 @@ public class CommandsPatch { @Patch(ClientPlayNetHandler.class) public abstract static class CommandsDispatcherCatcher implements Opcodes { - @Find(CommandsPatch.class) + @Find(CommandsDispatcherCatcher.class) MethodProxy cmdBuilt; @Target(of = "cmdBuilt") diff --git a/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java b/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java index c40062f..226b471 100644 --- a/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/EntityPushPatch.java @@ -23,7 +23,7 @@ public class EntityPushPatch implements ICommons { @Patch(Entity.class) public abstract static class EntityCollisionsOverride implements Opcodes { - @Find(EntityPushPatch.class) + @Find(EntityCollisionsOverride.class) MethodProxy shouldCancelEntityCollisions; @Target(of = "shouldCancelEntityCollisions") diff --git a/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java b/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java index 2db811e..e883533 100644 --- a/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java +++ b/src/main/java/ftbsc/bscv/patches/LiquidPushPatch.java @@ -23,7 +23,7 @@ public class LiquidPushPatch implements ICommons { @Patch(PlayerEntity.class) public abstract static class LiquidCollisionsOverride implements Opcodes { - @Find(LiquidPushPatch.class) + @Find(LiquidCollisionsOverride.class) MethodProxy shouldCancelLiquidCollisions; @Target(of = "shouldCancelLiquidCollisions") diff --git a/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java b/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java index a100108..0399def 100644 --- a/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java +++ b/src/main/java/ftbsc/bscv/patches/NoSlowPatch.java @@ -24,7 +24,7 @@ public class NoSlowPatch { @Patch(ClientPlayerEntity.class) public abstract static class SlowDownOverride implements Opcodes { - @Find(NoSlowPatch.class) + @Find(SlowDownOverride.class) MethodProxy shouldSlowPlayer; @Target(of = "shouldSlowPlayer") diff --git a/src/main/java/ftbsc/bscv/patches/PacketPatch.java b/src/main/java/ftbsc/bscv/patches/PacketPatch.java index bc9b835..7decc4b 100644 --- a/src/main/java/ftbsc/bscv/patches/PacketPatch.java +++ b/src/main/java/ftbsc/bscv/patches/PacketPatch.java @@ -45,7 +45,7 @@ public class PacketPatch { @Patch(NetworkManager.class) public abstract static class IncomingPacketInterceptor implements Opcodes { - @Find(PacketPatch.class) + @Find(IncomingPacketInterceptor.class) MethodProxy pktIn; @Target(of = "pktIn") @@ -81,7 +81,7 @@ public class PacketPatch { @Patch(NetworkManager.class) public abstract static class OutgoingPacketInterceptor implements Opcodes { - @Find(PacketPatch.class) + @Find(OutgoingPacketInterceptor.class) MethodProxy pktOut; @Target(of = "pktOut") -- cgit v1.2.3-56-ga3b1