RoboWalk from the closed pr (#226)
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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,17 +109,17 @@ 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);
|
||||||
double yPos = ((coords.getZ() - mc.player.getZ()) * scale.get() * zoom.get() + height/2);
|
double yPos = ((coords.getZ() - mc.player.getZ()) * scale.get() * zoom.get() + height / 2);
|
||||||
if (xPos < 0 || yPos < 0 || xPos > width - scale.get() || yPos > height - scale.get()) continue;
|
if (xPos < 0 || yPos < 0 || xPos > width - scale.get() || yPos > height - scale.get()) continue;
|
||||||
String icon = "*";
|
String icon = "*";
|
||||||
if (letters.get() && waypoint.name.get().length() > 0)
|
if (letters.get() && waypoint.name.get().length() > 0)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
49
src/main/java/anticope/rejects/modules/RoboWalk.java
Normal file
49
src/main/java/anticope/rejects/modules/RoboWalk.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user