Вопрос Проблема с AimAssist

Начинающий
Статус
Оффлайн
Регистрация
19 Дек 2023
Сообщения
56
Реакции[?]
1
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

по горизонтали только закрепен, а вправо влево можно голову вертеть


Код:
package omg.sticky.module.api.setting;


import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;

public class aimAtTarget {

    private static final MinecraftClient mc = MinecraftClient.getInstance();
    
    
    public void aimAtTarget(LivingEntity target, float smoothness) {
        if (target == null || mc.player == null) return;

        
        Vec3d targetPos = target.getPos().add(0, target.getHeight() / 2.0, 0);
        Vec3d playerEyePos = mc.player.getPos().add(0, mc.player.getEyeHeight(mc.player.getPose()), 0);

        
        double deltaX = targetPos.x - playerEyePos.x;
        double deltaY = targetPos.y - playerEyePos.y;
        double deltaZ = targetPos.z - playerEyePos.z;

        
        double distance = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ);
        
        float yaw = (float) Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90.0F;
        float pitch = (float) -Math.toDegrees(Math.atan2(deltaY, distance));
        mc.player.setHeadYaw(interpolate(mc.player.yaw, target.yaw, smoothness));
        mc.player.pitch = interpolate(mc.player.pitch, target.pitch, smoothness);
    }
    private float interpolate(float current, float target, float smoothness) {
        return current + MathHelper.clamp(target - current, -smoothness, smoothness);
    }
}

Код:
package omg.sticky.module.impl;

import com.google.common.eventbus.Subscribe;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import omg.sticky.event.impl.EventUpdate;
import omg.sticky.module.api.Module;
import omg.sticky.module.api.ModuleInfo;
import omg.sticky.module.api.setting.aimAtTarget;

import java.util.List;

import static omg.sticky.util.Wrapper.mc;

@ModuleInfo(name = "AimAssist", desc = "Нацеливание на ближайшего врага с плавным переходом")
public class AimBot extends Module {

    private final aimAtTarget aimHelper = new aimAtTarget();  // Экземпляр класса для нацеливания

    @Subscribe
    public void onUpdate(EventUpdate event) {
        // Ищем ближайшую цель
        LivingEntity target = findClosestTarget();
        if (target != null) {
            // Если цель найдена, наводим прицел на неё
            aimHelper.aimAtTarget(target, 1f);  // smoothness = 10.0
        }
    }

    // Метод для поиска ближайшей цели
    private LivingEntity findClosestTarget() {
        List<LivingEntity> entities = mc.world.getEntitiesByClass(LivingEntity.class, mc.player.getBoundingBox().expand(20), entity -> entity != mc.player && entity instanceof PlayerEntity);
        LivingEntity closestTarget = null;
        double closestDistance = Double.MAX_VALUE;

        for (LivingEntity entity : entities) {
            double distance = mc.player.squaredDistanceTo(entity);
            if (distance < closestDistance) {
                closestDistance = distance;
                closestTarget = entity;
            }
        }
        return closestTarget;
    }

    @Override
    public void onUpdate() {

    }
}
 
Сверху Снизу