Начинающий
- Статус
- Оффлайн
- Регистрация
- 15 Июн 2025
- Сообщения
- 203
- Реакции
- 1
- Выберите загрузчик игры
- Fabric
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
простая заготовка под ауру на 1.21.4 фабрик
думаю для новичков на фабрике как раз подойдёт
ss не нужен
думаю для новичков на фабрике как раз подойдёт
паста:
public class Aura extends Function {
private final SliderSetting attackRange = new SliderSetting("Дистанция атаки", 3f, 3f, 6.5f, 0.1f);
private final ModeSetting rotationMode = new ModeSetting("Ротация", "Snap", "Snap");
private final ModeListSetting attack = new ModeListSetting("Атака",
new BooleanSetting("Сброс спринта", true),
new BooleanSetting("Только криты", true),
new BooleanSetting("Бить через блоки", false)
);
@Getter private static LivingEntity target;
private Vector2f headVector = new Vector2f(0f, 0f);
private final StopWatch stopWatch = new StopWatch();
private boolean isRotated = false;
private boolean readyToRotate = false;
private float ticks = 0;
public Aura() {
addSettings(attackRange, rotationMode, attack);
}
@Override
public void onEnable() {
target = null;
if (mc.player != null)
headVector.set(mc.player.getPitch(), mc.player.getYaw());
stopWatch.setLastMS(0);
}
@Override
public void onDisable() {
target = null;
if (mc.player != null)
headVector.set(mc.player.getPitch(), mc.player.getYaw());
stopWatch.setLastMS(0);
}
@EventHandler
public void onUpdate(EventUpdate event) {
if (mc.player == null || mc.world == null) return;
updateTarget();
if (target == null) {
reset();
return;
}
isRotated = false;
if (stopWatch.hasTimeElapsed()) {
readyToRotate = true;
ticks = 2.0f;
stopWatch.reset();
}
if (rotationMode.is("Snap") && ticks > 0) {
rotationSnap();
ticks--;
} else {
reset();
}
updateAttack();
}
private void updateTarget() {
target = mc.world.getEntitiesByClass(LivingEntity.class, mc.player.getBoundingBox().expand(attackRange.get()), e -> isValid(e))
.stream().min(Comparator.comparingDouble(e -> mc.player.distanceTo(e))).orElse(null);
}
private boolean isValid(LivingEntity e) {
if (e == mc.player || !e.isAlive() || e.isInvulnerable() || e.age < 3) return false;
double d = mc.player.distanceTo(e);
if (d > attackRange.get()) return false;
if (e instanceof PlayerEntity || e instanceof Monster || e instanceof HostileEntity) {
if (e instanceof PlayerEntity && !attack.getByName("Бить через блоки").get() && !canSee(e)) return false;
return true;
}
return false;
}
private boolean canSee(Entity e) {
return mc.world.raycast(new RaycastContext(mc.player.getEyePos(), e.getEyePos(),
RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player))
.getType() == BlockHitResult.Type.MISS;
}
private void rotationSnap() {
if (target == null) return;
isRotated = true;
Vec3d vec = target.getEyePos().subtract(mc.player.getEyePos());
float yaw = (float)(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90f);
float pitch = (float)(-Math.toDegrees(Math.atan2(vec.y, Math.sqrt(vec.x * vec.x + vec.z * vec.z))));
headVector.set(MathHelper.clamp(pitch, -89.5f, 89.5f), MathHelper.wrapDegrees(yaw));
mc.player.setPitch(headVector.x);
mc.player.setYaw(headVector.y);
}
private void updateAttack() {
if (target == null) return;
if (mc.player.getAttackCooldownProgress(0f) < 0.95f) return;
double dist = mc.player.distanceTo(target);
if (dist > attackRange.get()) return;
if (attack.getByName("Только криты").get() && !isFalling) return;
if (attack.getByName("Сброс спринта").get())
mc.player.setSprinting(false);
mc.interactionManager.attackEntity(mc.player, target);
mc.player.swingHand(Hand.MAIN_HAND);
stopWatch.setLastMS(500);
}
private boolean isFalling() {
return mc.player.velocity.y < 0;
}
private void reset() {
if (mc.player != null)
headVector.set(mc.player.getPitch(), mc.player.getYaw());
}
}
ss не нужен