Some code formatting and VehicleOneHit (#258)

This commit is contained in:
Fiz-Vector
2023-06-22 19:49:54 +08:00
committed by GitHub
parent 89832a6905
commit 950decef0f
14 changed files with 157 additions and 225 deletions

View File

@@ -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());

View File

@@ -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();

View File

@@ -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());
}

View File

@@ -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<VoxelShape> 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<VoxelShape> 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<VoxelShape> 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
}
}

View File

@@ -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<Double> 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<Boolean> 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());
}
}

View File

@@ -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<Boolean> 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);
}
}

View File

@@ -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<Integer> 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;
}
}

View File

@@ -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;
}
}