58 lines
2.0 KiB
Java
58 lines
2.0 KiB
Java
package anticope.rejects.utils;
|
|
|
|
import anticope.rejects.utils.seeds.Seeds;
|
|
import meteordevelopment.meteorclient.MeteorClient;
|
|
import meteordevelopment.meteorclient.systems.modules.Module;
|
|
import meteordevelopment.meteorclient.systems.modules.Modules;
|
|
import meteordevelopment.meteorclient.utils.PostInit;
|
|
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;
|
|
for (Module module : Modules.get().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;
|
|
}
|
|
}
|