RoboWalk from the closed pr (#226)

This commit is contained in:
Soda5601
2023-03-01 04:57:06 +08:00
committed by GitHub
parent a48c7b3127
commit e1a9b116ff
7 changed files with 101 additions and 13 deletions

View File

@@ -71,6 +71,7 @@
- PacketFly (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/813)) - PacketFly (Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/813))
- Painter - Painter
- Rendering - Rendering
- RoboWalk ((Taken from an [unmerged PR](https://github.com/MeteorDevelopment/meteor-client/pull/3015)))
- Shield Bypass - Shield Bypass
- Silent Disconnect - Silent Disconnect
- SkeletonESP (Ported from [JexClient](https://github.com/DustinRepo/JexClient-main/blob/main/src/main/java/me/dustin/jex/feature/mod/impl/render/Skeletons.java)) - SkeletonESP (Ported from [JexClient](https://github.com/DustinRepo/JexClient-main/blob/main/src/main/java/me/dustin/jex/feature/mod/impl/render/Skeletons.java))

View File

@@ -73,6 +73,7 @@ public class MeteorRejectsAddon extends MeteorAddon {
modules.add(new PacketFly()); modules.add(new PacketFly());
modules.add(new Painter()); modules.add(new Painter());
modules.add(new Rendering()); modules.add(new Rendering());
modules.add(new RoboWalk());
modules.add(new ShieldBypass()); modules.add(new ShieldBypass());
modules.add(new SilentDisconnect()); modules.add(new SilentDisconnect());
modules.add(new SkeletonESP()); modules.add(new SkeletonESP());

View File

@@ -4,6 +4,7 @@ import java.util.Iterator;
import anticope.rejects.MeteorRejectsAddon; import anticope.rejects.MeteorRejectsAddon;
import meteordevelopment.meteorclient.systems.hud.HudElementInfo; import meteordevelopment.meteorclient.systems.hud.HudElementInfo;
import meteordevelopment.meteorclient.utils.render.color.Color;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@@ -108,13 +109,13 @@ public class RadarHud extends HudElement {
String icon = "*"; String icon = "*";
if (letters.get()) if (letters.get())
icon = entity.getType().getUntranslatedName().substring(0,1).toUpperCase(); icon = entity.getType().getUntranslatedName().substring(0,1).toUpperCase();
renderer.text(icon, xPos + x, yPos + y, esp.getColor(entity), false); Color c = esp.getColor(entity);
if (c == null) c = Color.WHITE;
renderer.text(icon, xPos + x, yPos + y, c, false);
} }
} }
if (showWaypoints.get()) { if (showWaypoints.get()) {
Iterator<Waypoint> waypoints = Waypoints.get().iterator(); for (Waypoint waypoint : Waypoints.get()) {
while (waypoints.hasNext()) {
Waypoint waypoint = waypoints.next();
BlockPos blockPos = waypoint.getPos(); BlockPos blockPos = waypoint.getPos();
Vec3d coords = new Vec3d(blockPos.getX() + 0.5, blockPos.getY(), blockPos.getZ() + 0.5); Vec3d coords = new Vec3d(blockPos.getX() + 0.5, blockPos.getY(), blockPos.getZ() + 0.5);
double xPos = ((coords.getX() - mc.player.getX()) * scale.get() * zoom.get() + width / 2); double xPos = ((coords.getX() - mc.player.getX()) * scale.get() * zoom.get() + width / 2);

View File

@@ -0,0 +1,17 @@
package anticope.rejects.mixin;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(PlayerMoveC2SPacket.class)
public interface PlayerMoveC2SPacketAccessor {
@Mutable
@Accessor("x")
void setX(double x);
@Mutable
@Accessor("z")
void setZ(double z);
}

View File

@@ -0,0 +1,17 @@
package anticope.rejects.mixin;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(PlayerMoveC2SPacket.class)
public interface VehicleMoveC2SPacketAccessor {
@Mutable
@Accessor("x")
void setX(double x);
@Mutable
@Accessor("z")
void setZ(double z);
}

View File

@@ -0,0 +1,49 @@
package anticope.rejects.modules;
import anticope.rejects.MeteorRejectsAddon;
import anticope.rejects.mixin.PlayerMoveC2SPacketAccessor;
import anticope.rejects.mixin.VehicleMoveC2SPacketAccessor;
import meteordevelopment.meteorclient.events.packets.PacketEvent;
import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.orbit.EventHandler;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.network.packet.c2s.play.VehicleMoveC2SPacket;
public class RoboWalk extends Module {
public RoboWalk() {
super(MeteorRejectsAddon.CATEGORY, "robo-walk", "Bypasses LiveOverflow movement check.");
}
private double smooth(double d) {
return Math.round(d * 100.0d) / 100.0d;
}
private boolean skip(double x, double z) {
long dx = ((long) (x * 1000)) % 10;
long dz = ((long) (z * 1000)) % 10;
return dx != 0 || dz != 0;
}
@EventHandler
private void onPacketSend(PacketEvent.Send event) {
if (event.packet instanceof PlayerMoveC2SPacket packet) {
if (!packet.changesPosition()) return;
double x = smooth(packet.getX(0));
double z = smooth(packet.getZ(0));
if (skip(x, z)) return;
((PlayerMoveC2SPacketAccessor) packet).setX(x);
((PlayerMoveC2SPacketAccessor) packet).setZ(z);
} else if (event.packet instanceof VehicleMoveC2SPacket packet) {
double x = smooth(packet.getX());
double z = smooth(packet.getZ());
if (skip(x, z)) return;
((VehicleMoveC2SPacketAccessor) packet).setX(x);
((VehicleMoveC2SPacketAccessor) packet).setZ(z);
}
}
}

View File

@@ -3,22 +3,24 @@
"package": "anticope.rejects.mixin", "package": "anticope.rejects.mixin",
"compatibilityLevel": "JAVA_16", "compatibilityLevel": "JAVA_16",
"client": [ "client": [
"TexturedRenderLayersMixin",
"ClientPlayNetworkHandlerMixin",
"ClientPlayerInteractionManagerMixin", "ClientPlayerInteractionManagerMixin",
"ClientPlayNetworkHandlerMixin",
"CommandSuggestorMixin", "CommandSuggestorMixin",
"CustomPayloadS2CPacketMixin", "CustomPayloadS2CPacketMixin",
"Deadmau5FeatureRendererMixin", "Deadmau5FeatureRendererMixin",
"EntityAccessor", "EntityAccessor",
"GameRendererMixin", "GameRendererMixin",
"LivingEntityRendererMixin",
"StructureVoidBlockMixin",
"ToastManagerMixin",
"LivingEntityMixin", "LivingEntityMixin",
"baritone.MineProcessMixin", "LivingEntityRendererMixin",
"MultiplayerScreenAccessor", "MultiplayerScreenAccessor",
"MultiplayerScreenMixin", "MultiplayerScreenMixin",
"ServerListAccessor" "PlayerMoveC2SPacketAccessor",
"ServerListAccessor",
"StructureVoidBlockMixin",
"TexturedRenderLayersMixin",
"ToastManagerMixin",
"VehicleMoveC2SPacketAccessor",
"baritone.MineProcessMixin"
], ],
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1