diff --git a/README.md b/README.md index d7f0a99..d2d975b 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,8 @@ - Coord Logger (World events from [JexClient](https://github.com/DustinRepo/JexClient-main/blob/main/src/main/java/me/dustin/jex/feature/mod/impl/misc/CoordFinder.java)) - Custom Packets - Extra Elytra (Ported from [Wurst](https://github.com/Wurst-Imperium/Wurst7/tree)) +- FullNoClip +- FullFlight (Antikick bypasses by [CCblueX](https://github.com/CCblueX) and [LiveOverflow](https://github.com/LiveOverflow)) - Gamemode notifier - Ghost Mode (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/1932)) - Glide (Ported from [Wurst](https://github.com/Wurst-Imperium/Wurst7/tree)) @@ -65,9 +67,11 @@ - Item generator (Ported from [Wurst](https://github.com/Wurst-Imperium/Wurst7/tree)) - InteractionMenu (Ported from [BleachHack](https://github.com/BleachDrinker420/BleachHack/pull/211)) - Jetpack +- KnockbackPlus - Lavacast - MossBot (Ported from [BleachHack](https://github.com/BleachDrinker420/BleachHack/pull/211)) - NewChunks (Ported from [BleachHack](https://github.com/BleachDrinker420/BleachHack/blob/master/BleachHack-Fabric-1.17/src/main/java/bleach/hack/module/mods/NewChunks.java)) +- NoJumpDelay - ObsidianFarm (Taken from [Meteor ObsidianFarm Addon](https://github.com/VoidCyborg/meteor-obsidian-farm)) - Oresim (Ported from [Atomic](https://gitlab.com/0x151/atomic)) - PacketFly (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/813)) @@ -80,10 +84,7 @@ - SoundLocator - Server Finder (Ported from [MeteorAdditions](https://github.com/JFronny/MeteorAdditions)) - TreeAura (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/2138)) -- FullNoClip -- FullFlight (Antikick bypasses by [CCblueX](https://github.com/CCblueX) and [LiveOverflow](https://github.com/LiveOverflow)) -- NoJumpDelay -- KnockbackPlus +- VehicleOneHit (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/3539)) ### Modifications - NoRender diff --git a/build.gradle b/build.gradle index f2989f1..9b729a5 100644 --- a/build.gradle +++ b/build.gradle @@ -49,7 +49,7 @@ dependencies { } loom { - accessWidenerPath = file("src/main/resources/meteor-client.accesswidener") + accessWidenerPath = file("src/main/resources/meteor-rejects.accesswidener") } processResources { diff --git a/src/main/java/anticope/rejects/MeteorRejectsAddon.java b/src/main/java/anticope/rejects/MeteorRejectsAddon.java index 40f2f71..fcfc2b1 100644 --- a/src/main/java/anticope/rejects/MeteorRejectsAddon.java +++ b/src/main/java/anticope/rejects/MeteorRejectsAddon.java @@ -57,6 +57,8 @@ public class MeteorRejectsAddon extends MeteorAddon { modules.add(new CoordLogger()); modules.add(new CustomPackets()); modules.add(new ExtraElytra()); + modules.add(new FullNoClip()); + modules.add(new FullFlight()); modules.add(new GamemodeNotifier()); modules.add(new GhostMode()); modules.add(new Glide()); @@ -64,9 +66,11 @@ public class MeteorRejectsAddon extends MeteorAddon { modules.add(new ItemGenerator()); modules.add(new InteractionMenu()); modules.add(new Jetpack()); + modules.add(new KnockbackPlus()); modules.add(new Lavacast()); modules.add(new MossBot()); modules.add(new NewChunks()); + modules.add(new NoJumpDelay()); modules.add(new ObsidianFarm()); modules.add(new OreSim()); modules.add(new PacketFly()); @@ -78,10 +82,7 @@ public class MeteorRejectsAddon extends MeteorAddon { modules.add(new SkeletonESP()); modules.add(new SoundLocator()); modules.add(new TreeAura()); - modules.add(new FullNoClip()); - modules.add(new FullFlight()); - modules.add(new NoJumpDelay()); - modules.add(new KnockbackPlus()); + modules.add(new VehicleOneHit()); // Commands Commands.add(new CenterCommand()); diff --git a/src/main/java/anticope/rejects/mixin/MixinEntity.java b/src/main/java/anticope/rejects/mixin/EntityMixin.java similarity index 82% rename from src/main/java/anticope/rejects/mixin/MixinEntity.java rename to src/main/java/anticope/rejects/mixin/EntityMixin.java index 074d7e8..a7a5b5a 100644 --- a/src/main/java/anticope/rejects/mixin/MixinEntity.java +++ b/src/main/java/anticope/rejects/mixin/EntityMixin.java @@ -4,8 +4,6 @@ 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; @@ -13,10 +11,8 @@ 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 { +public abstract class EntityMixin { @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(); diff --git a/src/main/java/anticope/rejects/mixin/meteor/modules/KillAuraMixin.java b/src/main/java/anticope/rejects/mixin/meteor/modules/KillAuraMixin.java index 2c58af2..f1aa7d4 100644 --- a/src/main/java/anticope/rejects/mixin/meteor/modules/KillAuraMixin.java +++ b/src/main/java/anticope/rejects/mixin/meteor/modules/KillAuraMixin.java @@ -7,7 +7,6 @@ import meteordevelopment.meteorclient.systems.modules.Category; import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.meteorclient.systems.modules.combat.KillAura; import net.minecraft.entity.Entity; -import net.minecraft.util.math.Box; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -112,7 +111,7 @@ public class KillAuraMixin extends Module { } @Inject(method = "onTick", at = @At("TAIL"), locals = LocalCapture.CAPTURE_FAILSOFT) - private void onTick(TickEvent.Pre event, CallbackInfo info, Entity primary, Box hitbox) { + private void onTick(TickEvent.Pre event, CallbackInfo ci, Entity primary) { if (randomTeleport.get() && !onlyOnLook.get()) { mc.player.setPosition(primary.getX() + randomOffset(), primary.getY(), primary.getZ() + randomOffset()); } diff --git a/src/main/java/anticope/rejects/modules/FullFlight.java b/src/main/java/anticope/rejects/modules/FullFlight.java index abcc7a6..f20e723 100644 --- a/src/main/java/anticope/rejects/modules/FullFlight.java +++ b/src/main/java/anticope/rejects/modules/FullFlight.java @@ -1,24 +1,23 @@ package anticope.rejects.modules; import anticope.rejects.MeteorRejectsAddon; +import anticope.rejects.utils.RejectsUtils; import com.google.common.collect.Streams; -import java.util.stream.Stream; import meteordevelopment.meteorclient.events.entity.player.PlayerMoveEvent; import meteordevelopment.meteorclient.events.packets.PacketEvent; -import meteordevelopment.meteorclient.mixininterface.IVec3d; -import meteordevelopment.meteorclient.mixin.PlayerMoveC2SPacketAccessor; import meteordevelopment.meteorclient.mixin.ClientPlayerEntityAccessor; -import meteordevelopment.meteorclient.systems.modules.Module; +import meteordevelopment.meteorclient.mixin.PlayerMoveC2SPacketAccessor; import meteordevelopment.meteorclient.settings.*; -import meteordevelopment.meteorclient.utils.Utils; -import meteordevelopment.meteorclient.utils.player.PlayerUtils; +import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.orbit.EventHandler; -import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; -import net.minecraft.entity.Entity; import net.minecraft.block.AbstractBlock; +import net.minecraft.entity.Entity; +import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; import net.minecraft.util.math.Box; import net.minecraft.util.shape.VoxelShape; +import java.util.stream.Stream; + public class FullFlight extends Module { private final SettingGroup sgGeneral = settings.getDefaultGroup(); private final SettingGroup sgAntiKick = settings.createGroup("Anti Kick"); @@ -50,29 +49,14 @@ public class FullFlight extends Module { super(MeteorRejectsAddon.CATEGORY, "fullflight", "FullFlight."); } - private double getDir() { - double dir = 0; - - if (Utils.canUpdate()) { - dir = mc.player.getYaw() + ((mc.player.forwardSpeed < 0) ? 180 : 0); - - if (mc.player.sidewaysSpeed > 0) { - dir += -90F * ((mc.player.forwardSpeed < 0) ? -0.5F : ((mc.player.forwardSpeed > 0) ? 0.5F : 1F)); - } else if (mc.player.sidewaysSpeed < 0) { - dir += 90F * ((mc.player.forwardSpeed < 0) ? -0.5F : ((mc.player.forwardSpeed > 0) ? 0.5F : 1F)); - } - } - return dir; - } - private double calculateGround() { - for(double ground = mc.player.getY(); ground > 0D; ground -= 0.05) { + for (double ground = mc.player.getY(); ground > 0D; ground -= 0.05) { Box box = mc.player.getBoundingBox(); Box adjustedBox = box.offset(0, ground - mc.player.getY(), 0); Stream blockCollisions = Streams.stream(mc.world.getBlockCollisions(mc.player, adjustedBox)); - if(blockCollisions.findAny().isPresent()) return ground + 0.05; + if (blockCollisions.findAny().isPresent()) return ground + 0.05; } return 0F; @@ -111,7 +95,8 @@ public class FullFlight extends Module { @EventHandler private void onSendPacket(PacketEvent.Send event) { - if (mc.player.getVehicle() == null || !(event.packet instanceof PlayerMoveC2SPacket packet) || antiKickMode.get() != AntiKickMode.PaperNew) return; + if (mc.player.getVehicle() == null || !(event.packet instanceof PlayerMoveC2SPacket packet) || antiKickMode.get() != AntiKickMode.PaperNew) + return; double currentY = packet.getY(Double.MAX_VALUE); if (currentY != Double.MAX_VALUE) { @@ -151,8 +136,7 @@ public class FullFlight extends Module { // Resend movement packets ((ClientPlayerEntityAccessor) mc.player).setTicksSinceLastPositionPacketSent(20); } - if (floatingTicks >= 20) - { + if (floatingTicks >= 20) { switch (antiKickMode.get()) { case New -> { Box box = mc.player.getBoundingBox(); @@ -160,12 +144,10 @@ public class FullFlight extends Module { Stream blockCollisions = Streams.stream(mc.world.getBlockCollisions(mc.player, adjustedBox)); - if(blockCollisions.findAny().isPresent()) break; + if (blockCollisions.findAny().isPresent()) break; mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() - 0.4, mc.player.getZ(), mc.player.isOnGround())); mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY(), mc.player.getZ(), mc.player.isOnGround())); - - break; } case Old -> { Box box = mc.player.getBoundingBox(); @@ -173,53 +155,33 @@ public class FullFlight extends Module { Stream blockCollisions = Streams.stream(mc.world.getBlockCollisions(mc.player, adjustedBox)); - if(blockCollisions.findAny().isPresent()) break; + if (blockCollisions.findAny().isPresent()) break; double ground = calculateGround(); double groundExtra = ground + 0.1D; - for(double posY = mc.player.getY(); posY > groundExtra; posY -= 4D) { + for (double posY = mc.player.getY(); posY > groundExtra; posY -= 4D) { mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), posY, mc.player.getZ(), true)); - if(posY - 4D < groundExtra) break; // Prevent next step + if (posY - 4D < groundExtra) break; // Prevent next step } mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), groundExtra, mc.player.getZ(), true)); - - for(double posY = groundExtra; posY < mc.player.getY(); posY += 4D) { + for (double posY = groundExtra; posY < mc.player.getY(); posY += 4D) { mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), posY, mc.player.getZ(), mc.player.isOnGround())); - if(posY + 4D > mc.player.getY()) break; // Prevent next step + if (posY + 4D > mc.player.getY()) break; // Prevent next step } mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY(), mc.player.getZ(), mc.player.isOnGround())); - break; } } floatingTicks = 0; } - if (PlayerUtils.isMoving()) { - double dir = getDir(); - - double xDir = Math.cos(Math.toRadians(dir + 90)); - double zDir = Math.sin(Math.toRadians(dir + 90)); - - ((IVec3d) event.movement).setXZ(xDir * speed.get(), zDir * speed.get()); - } - else { - ((IVec3d) event.movement).setXZ(0, 0); - } - - float ySpeed = 0; - - if (mc.options.jumpKey.isPressed()) - ySpeed += speed.get(); - if (mc.options.sneakKey.isPressed()) - ySpeed -= speed.get(); - ((IVec3d) event.movement).setY(verticalSpeedMatch.get() ? ySpeed : ySpeed/2); + float ySpeed = RejectsUtils.fullFlightMove(event, speed.get(), verticalSpeedMatch.get()); if (floatingTicks < 20) if (ySpeed >= -0.1) @@ -234,5 +196,4 @@ public class FullFlight extends Module { PaperNew, None } - } \ No newline at end of file diff --git a/src/main/java/anticope/rejects/modules/FullNoClip.java b/src/main/java/anticope/rejects/modules/FullNoClip.java index f387d46..7dae659 100644 --- a/src/main/java/anticope/rejects/modules/FullNoClip.java +++ b/src/main/java/anticope/rejects/modules/FullNoClip.java @@ -1,73 +1,39 @@ package anticope.rejects.modules; import anticope.rejects.MeteorRejectsAddon; +import anticope.rejects.utils.RejectsUtils; import meteordevelopment.meteorclient.events.entity.player.PlayerMoveEvent; -import meteordevelopment.meteorclient.mixininterface.IVec3d; +import meteordevelopment.meteorclient.settings.BoolSetting; +import meteordevelopment.meteorclient.settings.DoubleSetting; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; import meteordevelopment.meteorclient.systems.modules.Module; -import meteordevelopment.meteorclient.settings.*; -import meteordevelopment.meteorclient.utils.Utils; -import meteordevelopment.meteorclient.utils.player.PlayerUtils; import meteordevelopment.orbit.EventHandler; -import net.minecraft.util.shape.VoxelShapes; public class FullNoClip extends Module { private final SettingGroup sgGeneral = settings.getDefaultGroup(); private final Setting speed = sgGeneral.add(new DoubleSetting.Builder() - .name("speed") - .description("Your speed when noclipping.") - .defaultValue(0.3) - .min(0.0) - .sliderMax(10) - .build() + .name("speed") + .description("Your speed when noclipping.") + .defaultValue(0.3) + .min(0.0) + .sliderMax(10) + .build() ); - + private final Setting verticalSpeedMatch = sgGeneral.add(new BoolSetting.Builder() - .name("vertical-speed-match") - .description("Matches your vertical speed to your horizontal speed, otherwise uses vanilla ratio.") - .defaultValue(false) - .build() + .name("vertical-speed-match") + .description("Matches your vertical speed to your horizontal speed, otherwise uses vanilla ratio.") + .defaultValue(false) + .build() ); - - public FullNoClip() { - super(MeteorRejectsAddon.CATEGORY, "fullnoclip", "FullNoClip."); - } - - private double getDir() { - double dir = 0; - if (Utils.canUpdate()) { - dir = mc.player.getYaw() + ((mc.player.forwardSpeed < 0) ? 180 : 0); - - if (mc.player.sidewaysSpeed > 0) { - dir += -90F * ((mc.player.forwardSpeed < 0) ? -0.5F : ((mc.player.forwardSpeed > 0) ? 0.5F : 1F)); - } else if (mc.player.sidewaysSpeed < 0) { - dir += 90F * ((mc.player.forwardSpeed < 0) ? -0.5F : ((mc.player.forwardSpeed > 0) ? 0.5F : 1F)); - } - } - return dir; + public FullNoClip() { + super(MeteorRejectsAddon.CATEGORY, "fullnoclip", "FullNoClip."); } - + @EventHandler private void onPlayerMove(PlayerMoveEvent event) { - if (PlayerUtils.isMoving()) { - double dir = getDir(); - - double xDir = Math.cos(Math.toRadians(dir + 90)); - double zDir = Math.sin(Math.toRadians(dir + 90)); - - ((IVec3d) event.movement).setXZ(xDir * speed.get(), zDir * speed.get()); - } - else { - ((IVec3d) event.movement).setXZ(0, 0); - } - - float ySpeed = 0; - - if (mc.options.jumpKey.isPressed()) - ySpeed += speed.get(); - if (mc.options.sneakKey.isPressed()) - ySpeed -= speed.get(); - ((IVec3d) event.movement).setY(verticalSpeedMatch.get() ? ySpeed : ySpeed/2); - } - + RejectsUtils.fullFlightMove(event, speed.get(), verticalSpeedMatch.get()); + } } \ No newline at end of file diff --git a/src/main/java/anticope/rejects/modules/KnockbackPlus.java b/src/main/java/anticope/rejects/modules/KnockbackPlus.java index 8be8e7a..4e73513 100644 --- a/src/main/java/anticope/rejects/modules/KnockbackPlus.java +++ b/src/main/java/anticope/rejects/modules/KnockbackPlus.java @@ -3,34 +3,28 @@ package anticope.rejects.modules; import anticope.rejects.MeteorRejectsAddon; import meteordevelopment.meteorclient.events.packets.PacketEvent; import meteordevelopment.meteorclient.mixininterface.IPlayerInteractEntityC2SPacket; -import meteordevelopment.meteorclient.mixininterface.IVec3d; import meteordevelopment.meteorclient.settings.BoolSetting; import meteordevelopment.meteorclient.settings.Setting; import meteordevelopment.meteorclient.settings.SettingGroup; -import meteordevelopment.meteorclient.systems.modules.Categories; import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.combat.KillAura; import meteordevelopment.orbit.EventHandler; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; -import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket; import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket; +import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket; public class KnockbackPlus extends Module { - private final SettingGroup sgGeneral = settings.getDefaultGroup(); private final Setting ka = sgGeneral.add(new BoolSetting.Builder() - .name("only-killaura") - .description("Only perform more KB when using killaura.") - .defaultValue(false) - .build() + .name("only-killaura") + .description("Only perform more KB when using killaura.") + .defaultValue(false) + .build() ); - private PlayerInteractEntityC2SPacket attackPacket; - private boolean sendPackets; - private int sendTimer; public KnockbackPlus() { super(MeteorRejectsAddon.CATEGORY, "knockback-plus", "Performs more KB when you hit your target."); } @@ -38,17 +32,12 @@ public class KnockbackPlus extends Module { @EventHandler private void onSendPacket(PacketEvent.Send event) { if (event.packet instanceof IPlayerInteractEntityC2SPacket packet && packet.getType() == PlayerInteractEntityC2SPacket.InteractType.ATTACK) { - Entity entity = packet.getEntity(); - if (!(entity instanceof LivingEntity) || (entity != Modules.get().get(KillAura.class).getTarget() && ka.get())) return; - sendPacket(); + if (!(entity instanceof LivingEntity) || (entity != Modules.get().get(KillAura.class).getTarget() && ka.get())) + return; + + mc.player.networkHandler.sendPacket(new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.START_SPRINTING)); } } - - @EventHandler - private void sendPacket() { - ClientCommandC2SPacket packet = new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.START_SPRINTING); - mc.player.networkHandler.sendPacket(packet); - } } diff --git a/src/main/java/anticope/rejects/modules/VehicleOneHit.java b/src/main/java/anticope/rejects/modules/VehicleOneHit.java new file mode 100644 index 0000000..ff728e9 --- /dev/null +++ b/src/main/java/anticope/rejects/modules/VehicleOneHit.java @@ -0,0 +1,48 @@ +package anticope.rejects.modules; + + +import meteordevelopment.meteorclient.events.packets.PacketEvent; +import meteordevelopment.meteorclient.settings.IntSetting; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; +import meteordevelopment.meteorclient.systems.modules.Categories; +import meteordevelopment.meteorclient.systems.modules.Module; +import meteordevelopment.orbit.EventHandler; +import net.minecraft.entity.vehicle.AbstractMinecartEntity; +import net.minecraft.entity.vehicle.BoatEntity; +import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket; +import net.minecraft.util.hit.EntityHitResult; + +public class VehicleOneHit extends Module { + private final SettingGroup sgGeneral = settings.getDefaultGroup(); + + private final Setting amount = sgGeneral.add(new IntSetting.Builder() + .name("amount") + .description("The number of packets to send.") + .defaultValue(16) + .range(1, 100) + .sliderRange(1, 20) + .build() + ); + + private boolean ignorePackets; + + public VehicleOneHit() { + super(Categories.Player, "vehicle-one-hit", "Destroy vehicles with one hit."); + } + + @EventHandler + private void onPacketSend(PacketEvent.Send event) { + if (ignorePackets + || !(event.packet instanceof PlayerInteractEntityC2SPacket) + || !(mc.crosshairTarget instanceof EntityHitResult ehr) + || (!(ehr.getEntity() instanceof AbstractMinecartEntity) && !(ehr.getEntity() instanceof BoatEntity)) + ) return; + + ignorePackets = true; + for (int i = 0; i < amount.get() - 1; i++) { + mc.player.networkHandler.sendPacket(event.packet); + } + ignorePackets = false; + } +} \ No newline at end of file diff --git a/src/main/java/anticope/rejects/utils/RejectsUtils.java b/src/main/java/anticope/rejects/utils/RejectsUtils.java index 48e9e1b..f86bab0 100644 --- a/src/main/java/anticope/rejects/utils/RejectsUtils.java +++ b/src/main/java/anticope/rejects/utils/RejectsUtils.java @@ -2,9 +2,12 @@ package anticope.rejects.utils; import anticope.rejects.utils.seeds.Seeds; import meteordevelopment.meteorclient.MeteorClient; +import meteordevelopment.meteorclient.events.entity.player.PlayerMoveEvent; +import meteordevelopment.meteorclient.mixininterface.IVec3d; import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.utils.PostInit; +import meteordevelopment.meteorclient.utils.Utils; import meteordevelopment.meteorclient.utils.player.PlayerUtils; import net.minecraft.entity.Entity; import net.minecraft.util.math.MathHelper; @@ -54,4 +57,42 @@ public class RejectsUtils { double angleDistance = Math.hypot(xDist, yDist); return angleDistance <= fov; } + + public static float fullFlightMove(PlayerMoveEvent event, double speed, boolean verticalSpeedMatch){ + if (PlayerUtils.isMoving()) { + double dir = getDir(); + + double xDir = Math.cos(Math.toRadians(dir + 90)); + double zDir = Math.sin(Math.toRadians(dir + 90)); + + ((IVec3d) event.movement).setXZ(xDir * speed, zDir * speed); + } else { + ((IVec3d) event.movement).setXZ(0, 0); + } + + float ySpeed = 0; + + if (mc.options.jumpKey.isPressed()) + ySpeed += speed; + if (mc.options.sneakKey.isPressed()) + ySpeed -= speed; + ((IVec3d) event.movement).setY(verticalSpeedMatch ? ySpeed : ySpeed / 2); + + return ySpeed; + } + + private static double getDir() { + double dir = 0; + + if (Utils.canUpdate()) { + dir = mc.player.getYaw() + ((mc.player.forwardSpeed < 0) ? 180 : 0); + + if (mc.player.sidewaysSpeed > 0) { + dir += -90F * ((mc.player.forwardSpeed < 0) ? -0.5F : ((mc.player.forwardSpeed > 0) ? 0.5F : 1F)); + } else if (mc.player.sidewaysSpeed < 0) { + dir += 90F * ((mc.player.forwardSpeed < 0) ? -0.5F : ((mc.player.forwardSpeed > 0) ? 0.5F : 1F)); + } + } + return dir; + } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 2f1f167..5b8ab2b 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -30,7 +30,7 @@ "meteor-rejects.mixins.json", "meteor-rejects-meteor.mixins.json" ], - "accessWidener": "meteor-client.accesswidener", + "accessWidener": "meteor-rejects.accesswidener", "custom": { "meteor-client:color": "227,0,0", "github:sha": "${gh_hash}" diff --git a/src/main/resources/meteor-client.accesswidener b/src/main/resources/meteor-client.accesswidener deleted file mode 100644 index 7ccd585..0000000 --- a/src/main/resources/meteor-client.accesswidener +++ /dev/null @@ -1,73 +0,0 @@ -accessWidener v1 named - -accessible class net/minecraft/client/render/RenderLayer$OutlineMode -accessible class net/minecraft/client/particle/FireworksSparkParticle$Explosion -accessible class net/minecraft/network/packet/c2s/play/PlayerInteractEntityC2SPacket$InteractType -accessible class net/minecraft/network/packet/c2s/play/PlayerInteractEntityC2SPacket$InteractAtHandler -accessible class net/minecraft/network/packet/c2s/play/PlayerInteractEntityC2SPacket$InteractTypeHandler -accessible class net/minecraft/client/world/ClientChunkManager$ClientChunkMap - -accessible field net/minecraft/client/network/AbstractClientPlayerEntity playerListEntry Lnet/minecraft/client/network/PlayerListEntry; - -accessible field net/minecraft/client/model/ModelPart cuboids Ljava/util/List; -accessible field net/minecraft/client/model/ModelPart children Ljava/util/Map; -accessible class net/minecraft/client/model/ModelPart$Quad -accessible class net/minecraft/client/model/ModelPart$Vertex -accessible field net/minecraft/client/model/ModelPart$Cuboid sides [Lnet/minecraft/client/model/ModelPart$Quad; -accessible method net/minecraft/client/render/entity/PlayerEntityRenderer getArmPose (Lnet/minecraft/client/network/AbstractClientPlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/client/render/entity/model/BipedEntityModel$ArmPose; -accessible method net/minecraft/client/render/entity/LivingEntityRenderer setupTransforms (Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/client/util/math/MatrixStack;FFF)V -accessible method net/minecraft/client/render/entity/LivingEntityRenderer scale (Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/client/util/math/MatrixStack;F)V -accessible method net/minecraft/client/render/entity/LivingEntityRenderer getAnimationProgress (Lnet/minecraft/entity/LivingEntity;F)F - -accessible field net/minecraft/client/render/entity/model/AnimalModel headScaled Z -accessible field net/minecraft/client/render/entity/model/AnimalModel childHeadYOffset F -accessible field net/minecraft/client/render/entity/model/AnimalModel childHeadZOffset F -accessible field net/minecraft/client/render/entity/model/AnimalModel invertedChildHeadScale F -accessible field net/minecraft/client/render/entity/model/AnimalModel invertedChildBodyScale F -accessible field net/minecraft/client/render/entity/model/AnimalModel childBodyYOffset F -accessible method net/minecraft/client/render/entity/model/AnimalModel getHeadParts ()Ljava/lang/Iterable; -accessible method net/minecraft/client/render/entity/model/AnimalModel getBodyParts ()Ljava/lang/Iterable; - -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel head Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel body Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel rightHindLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel leftHindLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel rightFrontLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel leftFrontLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel rightChest Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/LlamaEntityModel leftChest Lnet/minecraft/client/model/ModelPart; - -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel leftHindLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel rightHindLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel leftHaunch Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel rightHaunch Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel body Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel leftFrontLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel rightFrontLeg Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel head Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel rightEar Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel leftEar Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel tail Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/model/RabbitEntityModel nose Lnet/minecraft/client/model/ModelPart; - -accessible field net/minecraft/client/render/entity/EndCrystalEntityRenderer SINE_45_DEGREES F -accessible field net/minecraft/client/render/entity/EndCrystalEntityRenderer core Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/EndCrystalEntityRenderer frame Lnet/minecraft/client/model/ModelPart; -accessible field net/minecraft/client/render/entity/EndCrystalEntityRenderer bottom Lnet/minecraft/client/model/ModelPart; - -accessible field net/minecraft/client/render/entity/BoatEntityRenderer texturesAndModels Ljava/util/Map; - -accessible class net/minecraft/client/render/MapRenderer$MapTexture -accessible field net/minecraft/client/render/MapRenderer$MapTexture texture Lnet/minecraft/client/texture/NativeImageBackedTexture; - -accessible class net/minecraft/client/option/SimpleOption$Callbacks - -accessible class net/minecraft/client/gui/screen/ingame/BeaconScreen$BeaconButtonWidget -accessible class net/minecraft/client/gui/screen/ingame/BeaconScreen$EffectButtonWidget - -accessible class net/minecraft/client/resource/ResourceReloadLogger$ReloadState - -accessible field net/minecraft/block/AbstractBlock collidable Z -accessible field net/minecraft/util/math/Direction HORIZONTAL [Lnet/minecraft/util/math/Direction; - -accessible field net/minecraft/item/ItemGroups INVENTORY Lnet/minecraft/registry/RegistryKey; \ No newline at end of file diff --git a/src/main/resources/meteor-rejects.accesswidener b/src/main/resources/meteor-rejects.accesswidener new file mode 100644 index 0000000..9d83c2a --- /dev/null +++ b/src/main/resources/meteor-rejects.accesswidener @@ -0,0 +1,3 @@ +accessWidener v1 named + +accessible class net/minecraft/network/packet/c2s/play/PlayerInteractEntityC2SPacket$InteractType \ No newline at end of file diff --git a/src/main/resources/meteor-rejects.mixins.json b/src/main/resources/meteor-rejects.mixins.json index 0538d1b..b9b6775 100644 --- a/src/main/resources/meteor-rejects.mixins.json +++ b/src/main/resources/meteor-rejects.mixins.json @@ -8,6 +8,7 @@ "CommandSuggestorMixin", "Deadmau5FeatureRendererMixin", "EntityAccessor", + "EntityMixin", "GameRendererMixin", "LivingEntityMixin", "LivingEntityRendererMixin", @@ -20,8 +21,7 @@ "TexturedRenderLayersMixin", "ToastManagerMixin", "VehicleMoveC2SPacketAccessor", - "baritone.MineProcessMixin", - "MixinEntity" + "baritone.MineProcessMixin" ], "injectors": { "defaultRequire": 1