Files
Meteor-Rejects/src/main/java/anticope/rejects/utils/RejectsUtils.java
Ashray Shah 0dcf1a26d0 Update to 1.21.3/1.21.4 (#399)
* Update to 1.21.3 part 1

Don't expect it to work anytime soon.

* Update to 1.21.3 part 2

* Gradle 8.8 -> 8.12

* Working Build 1.21.3

Had to revert gradle to 8.10 due to unforseen issues.

* Removed Unused Imports

* Small rendering fixes (hopefully)

* 1.21.4 port

* Use Utils.canUpdate in AutoCraft

* Intellij code fixes

---------

Co-authored-by: crazymoose77756 <ryanrogo064@gmail.com>
Co-authored-by: SByte <stormybytes@gmail.com>
2025-01-25 07:44:35 +07:00

104 lines
3.7 KiB
Java

package anticope.rejects.utils;
import anticope.rejects.MeteorRejectsAddon;
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;
import java.util.Random;
import static meteordevelopment.meteorclient.MeteorClient.mc;
public class RejectsUtils {
@PostInit
public static void init() {
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
System.out.println("saving seeds...");
RejectsConfig.get().save(MeteorClient.FOLDER);
Seeds.get().save(MeteorClient.FOLDER);
}));
}
public static String getModuleName(String name) {
int dupe = 0;
Modules modules = Modules.get();
if (modules == null) {
MeteorRejectsAddon.LOG.warn("Module instantiation before Modules initialized.");
return name;
}
for (Module module : modules.getAll()) {
if (module.name.equals(name)) {
dupe++;
break;
}
}
return dupe == 0 ? name : getModuleName(name + "*".repeat(dupe));
}
public static String getRandomPassword(int num) {
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < num; i++) {
int number = random.nextInt(63);
sb.append(str.charAt(number));
}
return sb.toString();
}
public static boolean inFov(Entity entity, double fov) {
if (fov >= 360) return true;
float[] angle = PlayerUtils.calculateAngle(entity.getBoundingBox().getCenter());
double xDist = MathHelper.angleBetween(angle[0], mc.player.getYaw());
double yDist = MathHelper.angleBetween(angle[1], mc.player.getPitch());
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).meteor$setXZ(xDir * speed, zDir * speed);
} else {
((IVec3d) event.movement).meteor$setXZ(0, 0);
}
float ySpeed = 0;
if (mc.options.jumpKey.isPressed())
ySpeed += speed;
if (mc.options.sneakKey.isPressed())
ySpeed -= speed;
((IVec3d) event.movement).meteor$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;
}
}