-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
аауауауауа:
public class KillAura extends Module {
public OptionNumric range = new OptionNumric("Дистаниця", 4, 1, 10, 0.1F);
public OptionBoolList ignore = new OptionBoolList("Игнорировать", new OptionBoolean("Друзья", false), new OptionBoolean("Невидмки", false));
public OptionBoolean snap = new OptionBoolean("МультиПоинты", true);
public OptionBoolean coret = new OptionBoolean("Корекция ротации", true);
private Vector2f rotation = new Vector2f();
Counter timer = new Counter();
private float prevAdditionYaw;
private boolean rotatedBefore;
private final Counter shieldCounter = new Counter();
public static PlayerEntity target;
public KillAura() {
super(Category.Сражение, GLFW.GLFW_KEY_0);
addOption(range);
addOption(ignore);
addOption(snap);
addOption(coret);
}
@Override
public void enable() {
target = null;
super.enable();
}
@Override
public void disable() {
target = null;
super.disable();
}
@Override
public void event(Event e) {
if(!isEnabled()) return;
if(e instanceof WalkingUpdateEvent event){
if (target == null) return;
event.setYaw(rotation.x);
event.setPitch(rotation.y);
mc.player.rotationYawHead = rotation.x;
mc.player.renderYawOffset = rotation.x;
mc.player.setSprinting(false);
}
if (coret.get()) {
calculateCorrectYawOffset(rotation.x);
}
if(e instanceof EventPostMotion){
List<PlayerEntity> valid = mc.world.getPlayers().stream().filter(entityLivingBase1 -> {
if (entityLivingBase1.isInvisible() && ignore.setting("Невидмки").get()) return false;
if (ignore.setting("Друзья").get() && (FecuritySQ.get().getFriendManager().isFriend(entityLivingBase1.getName().getString())))
return false;
if (entityLivingBase1.isInvisible() && ignore.setting("Невидмки").get()) return false;
if(mc.player.getDistance(entityLivingBase1) >= range.current) return false;
if(!entityLivingBase1.isAlive()) return false;
if(!mc.player.isAlive()) return false;
if(FecuritySQ.get().getFriendManager().isFriend(entityLivingBase1.getName().getString())) return false;
return mc.player != entityLivingBase1;
}).collect(Collectors.toList());
for(PlayerEntity playerEntity : valid){
target = playerEntity;
}
if(valid.isEmpty() || !valid.contains(target)){
target = null;
}
if (target == null) {
rotation = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
return;
}
rotatedBefore = false;
if(whenFalling()) {
if (mc.player.getCooledAttackStrength(0) == 1) {
mc.player.connection.sendPacket(new CUseEntityPacket(target, mc.player.isSneaking()));
mc.player.swingArm(Hand.MAIN_HAND);
mc.player.resetCooldown();
}
}
if (!rotatedBefore) {
setRotation(target, false);
}
}
}
public boolean whenFalling() {
boolean critWater = mc.player.areEyesInFluid(FluidTags.WATER);
final boolean reasonForCancelCritical = mc.player.isPotionActive(Effects.BLINDNESS)
|| mc.player.isOnLadder()
|| mc.player.isInWater() && critWater
|| mc.player.isRidingHorse()
|| mc.player.abilities.isFlying || mc.player.isElytraFlying();
if (mc.player.getCooledAttackStrength(1) < 0.92F)
return false;
if (!reasonForCancelCritical) {
return !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
}
return true;
}
public static boolean isHitBoxVisible(Vector3d vec3d) {
final Vector3d eyesPos = new Vector3d(mc.player.getPosX(), mc.player.getBoundingBox().minY + mc.player.getEyeHeight(), mc.player.getPosZ());
RayTraceResult result = mc.world.rayTraceBlocks(new RayTraceContext(eyesPos, vec3d, RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, mc.renderViewEntity));
return result == null;
}
public static Vector3d getBestPoint(Entity e) {
float x = (float) limit(e.getBoundingBox().minX, e.getBoundingBox().maxX - e.getBoundingBox().minX, mc.player.getPosX());
float y = (float) limit(e.getBoundingBox().minY, e.getBoundingBox().maxY - e.getBoundingBox().minY, mc.player.getPosY() + mc.player.getEyeHeight());
float z = (float) limit(e.getBoundingBox().minZ, e.getBoundingBox().maxZ - e.getBoundingBox().minZ, mc.player.getPosZ());
return new Vector3d(
e.getBoundingBox().minX + (e.getBoundingBox().maxX - e.getBoundingBox().minX) * x,
e.getBoundingBox().minY + (e.getBoundingBox().maxY - e.getBoundingBox().minY) * y,
e.getBoundingBox().minZ + (e.getBoundingBox().maxZ - e.getBoundingBox().minZ) * z
);
}
private static double limit(double min, double max, double cur) {
return Math.min(1, Math.max(0, (cur - min) / max));
}
public static Vector3d getVecTarget(LivingEntity target, double distance) {
Vector3d vec = target.getPositionVec().add(new Vector3d(0, MathHelper.clamp(target.getEyeHeight() * (mc.player.getDistance(target) / (distance + target.getWidth())), mc.player.getEyeHeight() / 2, mc.player.getEyeHeight()), 0));
if (!isHitBoxVisible(vec)) {
for (double i = target.getWidth() * 0.05; i <= target.getWidth() * 0.95; i += target.getWidth() * 0.9 / 8f) {
for (double j = target.getWidth() * 0.05; j <= target.getWidth() * 0.95; j += target.getWidth() * 0.9 / 8f) {
for (double k = 0; k <= target.getHeight(); k += target.getHeight() / 8f) {
if (isHitBoxVisible(new Vector3d(i, k, j).add(target.getPositionVec().add(new Vector3d(-target.getWidth() / 2, 0, -target.getWidth() / 2))))) {
vec = new Vector3d(i, k, j).add(target.getPositionVec().add(new Vector3d(-target.getWidth() / 2, 0, -target.getWidth() / 2)));
break;
}
}
}
}
}
return vec;
}
public static float calculateCorrectYawOffset(float yaw) {
// Инициализация переменных
double xDiff = mc.player.getPosX() - mc.player.prevPosX;
double zDiff = mc.player.getPosZ() - mc.player.prevPosZ;
float distSquared = (float) (xDiff * xDiff + zDiff * zDiff);
float renderYawOffset = mc.player.renderYawOffset;
float offset = renderYawOffset;
float yawOffsetDiff;
// Вычисление смещения, если расстояние больше порогового значения
if (distSquared > 0.0025000002f) {
offset = (float) MathHelper.atan2(zDiff, xDiff) * 180.0f / (float) Math.PI - 90.0f;
}
// Установка смещения равным углу поворота, если игрок машет рукой
if (mc.player != null && mc.player.swingProgress > 0.0f) {
offset = yaw;
}
// Ограничение разницы смещений
yawOffsetDiff = MathHelper.wrapDegrees(yaw - (renderYawOffset + MathHelper.wrapDegrees(offset - renderYawOffset) * 0.3f));
yawOffsetDiff = MathHelper.clamp(yawOffsetDiff, -75.0f, 75.0f);
// Вычисление итогового смещения
renderYawOffset = yaw - yawOffsetDiff;
if (yawOffsetDiff * yawOffsetDiff > 2500.0f) {
renderYawOffset += yawOffsetDiff * 0.2f;
}
return renderYawOffset;
}
private void setRotation(LivingEntity base, boolean attack) {
this.rotatedBefore = true;
final Vector3d targetPos = getVecTarget(base,
1.5f +
range.current);
final double playerX = mc.player.getPosX();
final double playerY = mc.player.getPosY() + (double) mc.player.getEyeHeight();
final double playerZ = mc.player.getPosZ();
final double targetXOffset = targetPos.x - playerX;
final double targetYOffset = targetPos.y - playerY;
final double targetZOffset = targetPos.z - playerZ;
final double targetHorizontalDistance = sqrt(targetXOffset, targetZOffset);
float[] rotations = new float[]{
(float) Math.toDegrees(Math.atan2(targetZOffset, targetXOffset)) - 90.0F,
(float) (-Math.toDegrees(Math.atan2(targetYOffset, targetHorizontalDistance)))
};
final float yawDiff = (rotations[0] - this.rotation.x);
final float pitchDiff = rotations[1] - this.rotation.y;
final float wrappedYawDiff = (int) MathHelper.wrapDegrees(yawDiff);
float finalYaw = upgradeClamp(wrappedYawDiff, -60.0F, 60.0F);
final float finalPitch = upgradeClamp(pitchDiff, -35.F, 35.F);
if (Math.abs(finalYaw - this.prevAdditionYaw) < 4.0f) {
finalYaw = GCDFixUtility.getSensitivity(this.prevAdditionYaw + 4.5f);
}
rotations[0] = this.rotation.x + finalYaw;
rotations[1] = upgradeClamp(this.rotation.y + finalPitch / 4.0F, -90.0F, 90.0F);
float gcd = GCDFixUtility.getGCDValue();
rotations[0] = (float) ((double) rotations[0] - (double) (rotations[0] - this.rotation.x) % gcd);
rotations[1] = (float) ((double) rotations[1] - (double) (rotations[1] - rotation.y) % gcd);
this.rotation.x = rotations[0];
this.rotation.y = rotations[1];
this.prevAdditionYaw = finalYaw;
}
public static float upgradeClamp(float def, float min, float max) {
return Math.min(Math.max(def, min), max);
}
public static double sqrt(double var1, double var3) {
return Math.sqrt(Math.pow(var1, 2.0) + Math.pow(var3, 2.0));
}
}