diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/CobwebBlockMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/CobwebBlockMixin.java index 49c90c8b80..1c4319eaac 100644 --- a/src/main/java/meteordevelopment/meteorclient/mixin/CobwebBlockMixin.java +++ b/src/main/java/meteordevelopment/meteorclient/mixin/CobwebBlockMixin.java @@ -5,14 +5,11 @@ package meteordevelopment.meteorclient.mixin; +import com.llamalad7.mixinextras.sugar.Local; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.movement.NoSlow; -import net.minecraft.block.BlockState; import net.minecraft.block.CobwebBlock; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityCollisionHandler; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import org.spongepowered.asm.mixin.Dynamic; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -23,14 +20,13 @@ @Mixin(CobwebBlock.class) public abstract class CobwebBlockMixin { - @Inject(method = "onEntityCollision", at = @At("HEAD"), cancellable = true, require = 0) - private void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity, EntityCollisionHandler handler, boolean bl, CallbackInfo ci) { - if (entity == mc.player && Modules.get().get(NoSlow.class).cobweb()) ci.cancel(); - } - - @Dynamic("1.21.9 Method Parameters") - @Inject(method = "onEntityCollision", at = @At("HEAD"), cancellable = true, require = 0) - private void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity, EntityCollisionHandler handler, CallbackInfo ci) { + @Dynamic("Explicit 1.21.9 Support") + @Inject(method = { + "onEntityCollision", // 1.21.10 + "onEntityCollision(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/EntityCollisionHandler;)V", // 1.21.9 yarn + "method_9548(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;Lnet/minecraft/class_10774;)V" // 1.21.9 intermediary + }, at = @At("HEAD"), cancellable = true) + private void onEntityCollision(CallbackInfo ci, @Local(argsOnly = true) Entity entity) { if (entity == mc.player && Modules.get().get(NoSlow.class).cobweb()) ci.cancel(); } } diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/SweetBerryBushBlockMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/SweetBerryBushBlockMixin.java index f1354ef582..13afbd9413 100644 --- a/src/main/java/meteordevelopment/meteorclient/mixin/SweetBerryBushBlockMixin.java +++ b/src/main/java/meteordevelopment/meteorclient/mixin/SweetBerryBushBlockMixin.java @@ -5,14 +5,11 @@ package meteordevelopment.meteorclient.mixin; +import com.llamalad7.mixinextras.sugar.Local; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.movement.NoSlow; -import net.minecraft.block.BlockState; import net.minecraft.block.SweetBerryBushBlock; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityCollisionHandler; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import org.spongepowered.asm.mixin.Dynamic; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -23,14 +20,13 @@ @Mixin(SweetBerryBushBlock.class) public abstract class SweetBerryBushBlockMixin { - @Inject(method = "onEntityCollision", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;slowMovement(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Vec3d;)V"), cancellable = true, require = 0) - private void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity, EntityCollisionHandler handler, boolean bl, CallbackInfo ci) { - if (entity == mc.player && Modules.get().get(NoSlow.class).berryBush()) ci.cancel(); - } - - @Dynamic("1.21.9 Method Parameters") - @Inject(method = "onEntityCollision", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;slowMovement(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Vec3d;)V"), cancellable = true, require = 0) - private void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity, EntityCollisionHandler handler, CallbackInfo ci) { + @Dynamic("Explicit 1.21.9 Support") + @Inject(method = { + "onEntityCollision", // 1.21.10 + "onEntityCollision(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/EntityCollisionHandler;)V", // 1.21.9 yarn + "method_9548(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;Lnet/minecraft/class_10774;)V" // 1.21.9 intermediary + }, at = @At("HEAD"), cancellable = true) + private void onEntityCollision(CallbackInfo ci, @Local(argsOnly = true) Entity entity) { if (entity == mc.player && Modules.get().get(NoSlow.class).berryBush()) ci.cancel(); } }