Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Часть функционала Простой ElytraTarget | zenith no recode

Начинающий
Начинающий
Статус
Онлайн
Регистрация
6 Окт 2024
Сообщения
4
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Сделал простой элитра таргет на зенит, немного гпт кода но вроде норм
Пожалуйста, авторизуйтесь для просмотра ссылки.

Класс элитра таргета:
code:
Expand Collapse Copy
package ru.zenith.implement.features.modules.combat;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Items;
import net.minecraft.util.math.Vec3d;
import ru.zenith.api.event.EventHandler;
import ru.zenith.api.event.types.EventType;
import ru.zenith.api.feature.module.Module;
import ru.zenith.api.feature.module.ModuleCategory;
import ru.zenith.api.feature.module.setting.implement.ValueSetting;
import ru.zenith.common.util.other.Instance;
import ru.zenith.common.util.task.TaskPriority;
import ru.zenith.implement.events.player.RotationUpdateEvent;
import ru.zenith.implement.features.modules.combat.killaura.rotation.Angle;
import ru.zenith.implement.features.modules.combat.killaura.rotation.AngleUtil;
import ru.zenith.implement.features.modules.combat.killaura.rotation.RotationConfig;
import ru.zenith.implement.features.modules.combat.killaura.rotation.RotationController;
import ru.zenith.implement.features.modules.combat.killaura.rotation.angle.SnapSmoothMode;

@Setter
@Getter
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
public class ElytraTarget extends Module {
    
    public static ElytraTarget getInstance() {
        return Instance.get(ElytraTarget.class);
    }
    
    ValueSetting elytraDistance = new ValueSetting("Elytra Distance", "Distance to target players (applies to Aura when enabled)")
            .setValue(15).range(1F, 100F);
    
    public ElytraTarget() {
        super("ElytraTarget", ModuleCategory.COMBAT);
        setup(elytraDistance);
    }
    
    @Override
    public void deactivate() {
        RotationController.INSTANCE.clear();
        super.deactivate();
    }
    
    @EventHandler
    public void onRotationUpdate(RotationUpdateEvent e) {
        if (e.getType() != EventType.PRE) return;
        
        Aura aura = Aura.getInstance();
        if (aura == null || !aura.isState()) {
            return;
        }
        
        if (!hasElytra() || !mc.player.isGliding()) {
            return;
        }
        
        LivingEntity target = aura.getTarget();
        if (target == null) {
            return;
        }
        
        improvedTargeting(target);
    }
    
    private boolean hasElytra() {
        return mc.player != null &&
               mc.player.getInventory().getArmorStack(2).getItem() == Items.ELYTRA;
    }
    
    private void improvedTargeting(LivingEntity target) {
        if (target == null || mc.player == null) return;
        
        Vec3d playerPos = mc.player.getEyePos();
        Vec3d targetPos = target.getPos();
        Vec3d targetVelocity = target.getVelocity();
        
        double distance = playerPos.distanceTo(targetPos);
        int predictionTicks = (int) Math.min(5, Math.max(2, distance / 10));
        Vec3d predictedPos = targetPos.add(targetVelocity.multiply(predictionTicks));
        
        Vec3d aimPoint = calculateOptimalAimPoint(predictedPos, target, distance);
        
        Angle targetAngle = AngleUtil.fromVec3d(aimPoint.subtract(playerPos));
        
        RotationController controller = RotationController.INSTANCE;
        RotationConfig config = new RotationConfig(new SnapSmoothMode(), true, true);
        
        controller.rotateTo(
            new Angle.VecRotation(targetAngle, targetAngle.toVector()),
            target,
            1,
            config,
            TaskPriority.HIGH_IMPORTANCE_1,
            this
        );
    }
    
    private Vec3d calculateOptimalAimPoint(Vec3d targetPos, LivingEntity target, double distance) {
        double targetHeight = target.getHeight();
        double targetWidth = target.getWidth();
        
        Vec3d basePoint = targetPos.add(0, targetHeight / 2, 0);
        
        if (distance > 10) {
            basePoint = targetPos.add(0, targetHeight * 0.6, 0);
        } else if (distance < 4) {
            basePoint = targetPos.add(0, targetHeight * 0.4, 0);
        }
        
        double randomX = (Math.random() - 0.5) * targetWidth * 0.3;
        double randomY = (Math.random() - 0.5) * targetHeight * 0.2;
        double randomZ = (Math.random() - 0.5) * targetWidth * 0.3;
        
        return basePoint.add(randomX, randomY, randomZ);
    }
    
    public boolean isActiveForElytra() {
        Aura aura = Aura.getInstance();
        return aura != null && aura.isState() && hasElytra() && mc.player != null && mc.player.isGliding();
    }
}

и еще в Aura замените update target на это
updatetarget:
Expand Collapse Copy
private LivingEntity updateTarget() {
    ElytraTarget elytraTarget = ElytraTarget.getInstance();
    float searchDistance = maxDistance;
    
    if (elytraTarget != null && elytraTarget.isState()) {
        searchDistance = elytraTarget.getElytraDistance().getValue();
    }
    
    TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetType.getSelected());
    targetSelector.searchTargets(mc.world.getEntities(), searchDistance, 360, attackSetting.isSelected("Ignore The Walls"));
    targetSelector.validateTarget(filter::isValid);
    return targetSelector.getCurrentTarget();
}

Если что античит на элитра хелпер у меня жалуеться
Если не будет сильного хейта то мб сделаю перегон еще
 
Сделай перегон с настройкой скорости переогона, потому что пока что пиздец не в обиду . Еще могу предложить сделать так что бы он смотрел не онли на голову а по умному типо что бы зависело от высоты типо когда высоко на тело когда летите низко на голову (я надеюсь понял смысл)
 
Сделал простой элитра таргет на зенит, немного гпт кода но вроде норм
Пожалуйста, авторизуйтесь для просмотра ссылки.

Класс элитра таргета:
code:
Expand Collapse Copy
package ru.zenith.implement.features.modules.combat;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Items;
import net.minecraft.util.math.Vec3d;
import ru.zenith.api.event.EventHandler;
import ru.zenith.api.event.types.EventType;
import ru.zenith.api.feature.module.Module;
import ru.zenith.api.feature.module.ModuleCategory;
import ru.zenith.api.feature.module.setting.implement.ValueSetting;
import ru.zenith.common.util.other.Instance;
import ru.zenith.common.util.task.TaskPriority;
import ru.zenith.implement.events.player.RotationUpdateEvent;
import ru.zenith.implement.features.modules.combat.killaura.rotation.Angle;
import ru.zenith.implement.features.modules.combat.killaura.rotation.AngleUtil;
import ru.zenith.implement.features.modules.combat.killaura.rotation.RotationConfig;
import ru.zenith.implement.features.modules.combat.killaura.rotation.RotationController;
import ru.zenith.implement.features.modules.combat.killaura.rotation.angle.SnapSmoothMode;

@Setter
@Getter
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
public class ElytraTarget extends Module {
   
    public static ElytraTarget getInstance() {
        return Instance.get(ElytraTarget.class);
    }
   
    ValueSetting elytraDistance = new ValueSetting("Elytra Distance", "Distance to target players (applies to Aura when enabled)")
            .setValue(15).range(1F, 100F);
   
    public ElytraTarget() {
        super("ElytraTarget", ModuleCategory.COMBAT);
        setup(elytraDistance);
    }
   
    @Override
    public void deactivate() {
        RotationController.INSTANCE.clear();
        super.deactivate();
    }
   
    @EventHandler
    public void onRotationUpdate(RotationUpdateEvent e) {
        if (e.getType() != EventType.PRE) return;
       
        Aura aura = Aura.getInstance();
        if (aura == null || !aura.isState()) {
            return;
        }
       
        if (!hasElytra() || !mc.player.isGliding()) {
            return;
        }
       
        LivingEntity target = aura.getTarget();
        if (target == null) {
            return;
        }
       
        improvedTargeting(target);
    }
   
    private boolean hasElytra() {
        return mc.player != null &&
               mc.player.getInventory().getArmorStack(2).getItem() == Items.ELYTRA;
    }
   
    private void improvedTargeting(LivingEntity target) {
        if (target == null || mc.player == null) return;
       
        Vec3d playerPos = mc.player.getEyePos();
        Vec3d targetPos = target.getPos();
        Vec3d targetVelocity = target.getVelocity();
       
        double distance = playerPos.distanceTo(targetPos);
        int predictionTicks = (int) Math.min(5, Math.max(2, distance / 10));
        Vec3d predictedPos = targetPos.add(targetVelocity.multiply(predictionTicks));
       
        Vec3d aimPoint = calculateOptimalAimPoint(predictedPos, target, distance);
       
        Angle targetAngle = AngleUtil.fromVec3d(aimPoint.subtract(playerPos));
       
        RotationController controller = RotationController.INSTANCE;
        RotationConfig config = new RotationConfig(new SnapSmoothMode(), true, true);
       
        controller.rotateTo(
            new Angle.VecRotation(targetAngle, targetAngle.toVector()),
            target,
            1,
            config,
            TaskPriority.HIGH_IMPORTANCE_1,
            this
        );
    }
   
    private Vec3d calculateOptimalAimPoint(Vec3d targetPos, LivingEntity target, double distance) {
        double targetHeight = target.getHeight();
        double targetWidth = target.getWidth();
       
        Vec3d basePoint = targetPos.add(0, targetHeight / 2, 0);
       
        if (distance > 10) {
            basePoint = targetPos.add(0, targetHeight * 0.6, 0);
        } else if (distance < 4) {
            basePoint = targetPos.add(0, targetHeight * 0.4, 0);
        }
       
        double randomX = (Math.random() - 0.5) * targetWidth * 0.3;
        double randomY = (Math.random() - 0.5) * targetHeight * 0.2;
        double randomZ = (Math.random() - 0.5) * targetWidth * 0.3;
       
        return basePoint.add(randomX, randomY, randomZ);
    }
   
    public boolean isActiveForElytra() {
        Aura aura = Aura.getInstance();
        return aura != null && aura.isState() && hasElytra() && mc.player != null && mc.player.isGliding();
    }
}

и еще в Aura замените update target на это
updatetarget:
Expand Collapse Copy
private LivingEntity updateTarget() {
    ElytraTarget elytraTarget = ElytraTarget.getInstance();
    float searchDistance = maxDistance;
   
    if (elytraTarget != null && elytraTarget.isState()) {
        searchDistance = elytraTarget.getElytraDistance().getValue();
    }
   
    TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetType.getSelected());
    targetSelector.searchTargets(mc.world.getEntities(), searchDistance, 360, attackSetting.isSelected("Ignore The Walls"));
    targetSelector.validateTarget(filter::isValid);
    return targetSelector.getCurrentTarget();
}

Если что античит на элитра хелпер у меня жалуеться
Если не будет сильного хейта то мб сделаю перегон еще
неплохо
 
Сделал простой элитра таргет на зенит, немного гпт кода но вроде норм
Пожалуйста, авторизуйтесь для просмотра ссылки.

Класс элитра таргета:
code:
Expand Collapse Copy
package ru.zenith.implement.features.modules.combat;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Items;
import net.minecraft.util.math.Vec3d;
import ru.zenith.api.event.EventHandler;
import ru.zenith.api.event.types.EventType;
import ru.zenith.api.feature.module.Module;
import ru.zenith.api.feature.module.ModuleCategory;
import ru.zenith.api.feature.module.setting.implement.ValueSetting;
import ru.zenith.common.util.other.Instance;
import ru.zenith.common.util.task.TaskPriority;
import ru.zenith.implement.events.player.RotationUpdateEvent;
import ru.zenith.implement.features.modules.combat.killaura.rotation.Angle;
import ru.zenith.implement.features.modules.combat.killaura.rotation.AngleUtil;
import ru.zenith.implement.features.modules.combat.killaura.rotation.RotationConfig;
import ru.zenith.implement.features.modules.combat.killaura.rotation.RotationController;
import ru.zenith.implement.features.modules.combat.killaura.rotation.angle.SnapSmoothMode;

@Setter
@Getter
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
public class ElytraTarget extends Module {
   
    public static ElytraTarget getInstance() {
        return Instance.get(ElytraTarget.class);
    }
   
    ValueSetting elytraDistance = new ValueSetting("Elytra Distance", "Distance to target players (applies to Aura when enabled)")
            .setValue(15).range(1F, 100F);
   
    public ElytraTarget() {
        super("ElytraTarget", ModuleCategory.COMBAT);
        setup(elytraDistance);
    }
   
    @Override
    public void deactivate() {
        RotationController.INSTANCE.clear();
        super.deactivate();
    }
   
    @EventHandler
    public void onRotationUpdate(RotationUpdateEvent e) {
        if (e.getType() != EventType.PRE) return;
       
        Aura aura = Aura.getInstance();
        if (aura == null || !aura.isState()) {
            return;
        }
       
        if (!hasElytra() || !mc.player.isGliding()) {
            return;
        }
       
        LivingEntity target = aura.getTarget();
        if (target == null) {
            return;
        }
       
        improvedTargeting(target);
    }
   
    private boolean hasElytra() {
        return mc.player != null &&
               mc.player.getInventory().getArmorStack(2).getItem() == Items.ELYTRA;
    }
   
    private void improvedTargeting(LivingEntity target) {
        if (target == null || mc.player == null) return;
       
        Vec3d playerPos = mc.player.getEyePos();
        Vec3d targetPos = target.getPos();
        Vec3d targetVelocity = target.getVelocity();
       
        double distance = playerPos.distanceTo(targetPos);
        int predictionTicks = (int) Math.min(5, Math.max(2, distance / 10));
        Vec3d predictedPos = targetPos.add(targetVelocity.multiply(predictionTicks));
       
        Vec3d aimPoint = calculateOptimalAimPoint(predictedPos, target, distance);
       
        Angle targetAngle = AngleUtil.fromVec3d(aimPoint.subtract(playerPos));
       
        RotationController controller = RotationController.INSTANCE;
        RotationConfig config = new RotationConfig(new SnapSmoothMode(), true, true);
       
        controller.rotateTo(
            new Angle.VecRotation(targetAngle, targetAngle.toVector()),
            target,
            1,
            config,
            TaskPriority.HIGH_IMPORTANCE_1,
            this
        );
    }
   
    private Vec3d calculateOptimalAimPoint(Vec3d targetPos, LivingEntity target, double distance) {
        double targetHeight = target.getHeight();
        double targetWidth = target.getWidth();
       
        Vec3d basePoint = targetPos.add(0, targetHeight / 2, 0);
       
        if (distance > 10) {
            basePoint = targetPos.add(0, targetHeight * 0.6, 0);
        } else if (distance < 4) {
            basePoint = targetPos.add(0, targetHeight * 0.4, 0);
        }
       
        double randomX = (Math.random() - 0.5) * targetWidth * 0.3;
        double randomY = (Math.random() - 0.5) * targetHeight * 0.2;
        double randomZ = (Math.random() - 0.5) * targetWidth * 0.3;
       
        return basePoint.add(randomX, randomY, randomZ);
    }
   
    public boolean isActiveForElytra() {
        Aura aura = Aura.getInstance();
        return aura != null && aura.isState() && hasElytra() && mc.player != null && mc.player.isGliding();
    }
}

и еще в Aura замените update target на это
updatetarget:
Expand Collapse Copy
private LivingEntity updateTarget() {
    ElytraTarget elytraTarget = ElytraTarget.getInstance();
    float searchDistance = maxDistance;
   
    if (elytraTarget != null && elytraTarget.isState()) {
        searchDistance = elytraTarget.getElytraDistance().getValue();
    }
   
    TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetType.getSelected());
    targetSelector.searchTargets(mc.world.getEntities(), searchDistance, 360, attackSetting.isSelected("Ignore The Walls"));
    targetSelector.validateTarget(filter::isValid);
    return targetSelector.getCurrentTarget();
}

Если что античит на элитра хелпер у меня жалуеться
Если не будет сильного хейта то мб сделаю перегон еще
ну норм
 
Назад
Сверху Снизу