diff --git a/src/main/java/anticope/rejects/mixin/MixinEntity.java b/src/main/java/anticope/rejects/mixin/MixinEntity.java new file mode 100644 index 0000000..074d7e8 --- /dev/null +++ b/src/main/java/anticope/rejects/mixin/MixinEntity.java @@ -0,0 +1,24 @@ +package anticope.rejects.mixin; + +import meteordevelopment.meteorclient.systems.modules.Modules; +import anticope.rejects.modules.FullFlight; +import anticope.rejects.modules.FullNoClip; +import net.minecraft.entity.Entity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraft.util.math.Vec3d; +import net.minecraft.block.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import static meteordevelopment.meteorclient.MeteorClient.mc; + +@Mixin(Entity.class) +public abstract class MixinEntity { + @Inject(method = "slowMovement", at = @At("HEAD"), cancellable = true) + public void slowMovement(BlockState blockState, Vec3d multiplier, CallbackInfo ci) { + if (Modules.get().isActive(FullFlight.class) || Modules.get().isActive(FullNoClip.class)) ci.cancel(); + } +} \ No newline at end of file diff --git a/src/main/java/anticope/rejects/mixin/PlayerEntityMixin.java b/src/main/java/anticope/rejects/mixin/PlayerEntityMixin.java index 7d60641..90fd76b 100644 --- a/src/main/java/anticope/rejects/mixin/PlayerEntityMixin.java +++ b/src/main/java/anticope/rejects/mixin/PlayerEntityMixin.java @@ -1,11 +1,14 @@ package anticope.rejects.mixin; import anticope.rejects.events.OffGroundSpeedEvent; +import anticope.rejects.modules.FullNoClip; +import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.MeteorClient; import net.minecraft.entity.player.PlayerEntity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(PlayerEntity.class) @@ -14,4 +17,8 @@ public class PlayerEntityMixin { private void onGetOffGroundSpeed(CallbackInfoReturnable cir) { cir.setReturnValue(MeteorClient.EVENT_BUS.post(OffGroundSpeedEvent.get(cir.getReturnValueF())).speed); } + @Redirect(method = {"tick", "updatePose"}, at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerEntity;isSpectator()Z")) + private boolean FullNoClip(PlayerEntity player) { + return Modules.get().isActive(FullNoClip.class); + } } diff --git a/src/main/java/anticope/rejects/modules/FullNoClip.java b/src/main/java/anticope/rejects/modules/FullNoClip.java index 3854f05..f387d46 100644 --- a/src/main/java/anticope/rejects/modules/FullNoClip.java +++ b/src/main/java/anticope/rejects/modules/FullNoClip.java @@ -1,7 +1,6 @@ package anticope.rejects.modules; import anticope.rejects.MeteorRejectsAddon; -import meteordevelopment.meteorclient.events.world.CollisionShapeEvent; import meteordevelopment.meteorclient.events.entity.player.PlayerMoveEvent; import meteordevelopment.meteorclient.mixininterface.IVec3d; import meteordevelopment.meteorclient.systems.modules.Module; @@ -32,12 +31,6 @@ public class FullNoClip extends Module { public FullNoClip() { super(MeteorRejectsAddon.CATEGORY, "fullnoclip", "FullNoClip."); } - - @EventHandler - private void onCollision(CollisionShapeEvent event) { - if (mc.player.getVehicle() == null) - event.shape = VoxelShapes.empty(); - } private double getDir() { double dir = 0; diff --git a/src/main/resources/meteor-rejects.mixins.json b/src/main/resources/meteor-rejects.mixins.json index 9e7c58d..0538d1b 100644 --- a/src/main/resources/meteor-rejects.mixins.json +++ b/src/main/resources/meteor-rejects.mixins.json @@ -20,7 +20,8 @@ "TexturedRenderLayersMixin", "ToastManagerMixin", "VehicleMoveC2SPacketAccessor", - "baritone.MineProcessMixin" + "baritone.MineProcessMixin", + "MixinEntity" ], "injectors": { "defaultRequire": 1