* 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>
104 lines
3.7 KiB
Java
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;
|
|
}
|
|
}
|