Часть функционала AimBot

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
16 Май 2024
Сообщения
43
Реакции
0
Выберите загрузчик игры
  1. OptiFine

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

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

Спасибо!

ну типо аимбот на трезубец и арбалет с плавной наводкой
Код:
Expand Collapse Copy
package alpha.night.modules.impl.combat;

import alpha.night.events.EventDisplay;
import alpha.night.events.EventLivingTick;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import alpha.night.config.FriendStorage;
import alpha.night.modules.api.Category;
import alpha.night.modules.api.Module;
import alpha.night.modules.api.ModuleRegister;
import alpha.night.modules.settings.impl.BooleanSetting;
import alpha.night.modules.settings.impl.SliderSetting;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;

@ModuleRegister(name = "AimBot", category = Category.Combat)
public class AimBot extends Module {
    private final SliderSetting fieldOfView = new SliderSetting("Search Angle", 90.0f, 1.0f, 90.0f, 1.0f);
    private final SliderSetting yawSpeed = new SliderSetting("Yaw Speed", 35.0f, 10.0f, 70.0f, 5.0f);
    private final SliderSetting smoothFactor = new SliderSetting("Smoothness", 0.02f, 0.02f, 0.5f, 0.001f);
    public final BooleanSetting enablePitch = new BooleanSetting("Vertical Aiming", false);
    private final SliderSetting pitchSpeed = new SliderSetting("Pitch Speed", 2.0f, 0.0f, 20.0f, 1.0f)
            .setVisible(() -> enablePitch.get());

    private final BooleanSetting ignoreNaked = new BooleanSetting("Ignore Naked Players", true);
    private final BooleanSetting ignoreFriends = new BooleanSetting("Ignore Friends", true);
    private final BooleanSetting ignoreInvisible = new BooleanSetting("Ignore Invisible", true);

    private PlayerEntity target;



    public AimBot() {
        this.addSettings(fieldOfView, yawSpeed, pitchSpeed, enablePitch, ignoreNaked, ignoreFriends, ignoreInvisible);
    }

    @Subscribe
    public void onTick(EventLivingTick event) {
        Minecraft mc = Minecraft.getInstance();
      
        if (mc.player.getHeldItemMainhand().getItem() != Items.TRIDENT && mc.player.getHeldItemMainhand().getItem() != Items.CROSSBOW) {
            this.target = null; // Reset target if not holding a trident or crossbow
            return;
        }

        // Find a target within 14 blocks with the specified field of view
        this.target = findTarget(mc.player, 14.0, fieldOfView.get());
    }

    @Subscribe
    public void onGui(EventDisplay event) {
        if (this.target != null) {
        
            setRotation(this.target, yawSpeed.get(), pitchSpeed.get(), smoothFactor.get());
        }
    }

    private void renderTargetIndicator(MatrixStack matrixStack) {
        Minecraft mc = Minecraft.getInstance();
        if (mc.world == null  mc.player == null  this.target == null) {
            System.out.println("Render skipped: world=" + mc.world + ", player=" + mc.player + ", target=" + this.target);
            return;
        }
        System.out.println("Rendering target indicator for " + this.target.getName().getString());

    
        IRenderTypeBuffer.Impl buffer = mc.getRenderTypeBuffers().getBufferSource();
        RenderSystem.enableBlend();
        RenderSystem.defaultBlendFunc();
        RenderSystem.disableCull();

        Vector3d targetPos = target.getPositionVec().add(0.0, target.getEyeHeight() + 0.5, 0.0);
        Vector3d cameraPos = mc.gameRenderer.getActiveRenderInfo().getProjectedView();
        matrixStack.push();

    
        matrixStack.translate(targetPos.x - cameraPos.x, targetPos.y - cameraPos.y, targetPos.z - cameraPos.z);

    
        ActiveRenderInfo renderInfo = mc.gameRenderer.getActiveRenderInfo();
        matrixStack.rotate(Vector3f.YP.rotationDegrees(-renderInfo.getYaw()));
        matrixStack.rotate(Vector3f.XP.rotationDegrees(renderInfo.getPitch()));

  
        float scale = 0.5f; // Adjust this to change image size
        matrixStack.scale(scale, scale, scale);

    
        Matrix4f matrix = matrixStack.getLast().getMatrix();
        mc.getTextureManager().bindTexture(TARGET_INDICATOR);

    
        float size = 0.5f; // Half-width of the image
        buffer.getBuffer(RenderType.getEntityTranslucent(TARGET_INDICATOR))
                .pos(matrix, -size, -size, 0).tex(0, 1).overlay(OverlayTexture.NO_OVERLAY).lightmap(0xF0F0F0).normal(0, 0, 1).endVertex();

        buffer.finish();
        matrixStack.pop();

        RenderSystem.enableCull();
        RenderSystem.disableBlend();
    }

    private void setRotation(PlayerEntity target, float yawSpeed, float pitchSpeed, double smoothFactor) {
        Minecraft mc = Minecraft.getInstance();

  
        Vector3d targetPos = target.getPositionVec().add(0.0, target.getEyeHeight() / 2.0, 0.0);
        Vector3d playerEyePos = mc.player.getEyePosition(1.0f);

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

    
        float targetYaw = (float) Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90.0f;
        float distanceXZ = MathHelper.sqrt(deltaX * deltaX + deltaZ * deltaZ);
        float targetPitch = (float) (-Math.toDegrees(Math.atan2(deltaY, distanceXZ)));

      
        float yawDifference = MathHelper.wrapDegrees(targetYaw - mc.player.rotationYaw);
        float pitchDifference = targetPitch - mc.player.rotationPitch - 4;

      
        float clampedYaw = MathHelper.clamp(yawDifference, -yawSpeed, yawSpeed);
        float clampedPitch = MathHelper.clamp(pitchDifference, -pitchSpeed, pitchSpeed);

    
        mc.player.rotationYaw += clampedYaw * smoothFactor;
        if (enablePitch.get()) {
            mc.player.rotationPitch += clampedPitch * smoothFactor;
        }
    }

    private PlayerEntity findTarget(PlayerEntity player, double range, double fov) {
        for (PlayerEntity potentialTarget : player.world.getEntitiesWithinAABB(
                PlayerEntity.class,
                player.getBoundingBox()
                        .expand(player.getLook(1.0f).scale(range))
                        .grow(1.0, 1.0, 1.0),
                AimBot::isValidTarget)) {

        
            if (ignoreNaked.get() && isNaked(potentialTarget)
                    ignoreFriends.get() && FriendStorage.isFriend(potentialTarget.getScoreboardName())
                    ignoreInvisible.get() && potentialTarget.isInvisible()) {
                continue;
            }

            double angle = Math.acos(player.getLook(1.0f)
                    .dotProduct(potentialTarget.getPositionVec()
                            .subtract(player.getEyePosition(1.0f))
                            .normalize())) * 57.29577951308232; // Convert to degrees
            double distance = player.getEyePosition(1.0f).distanceTo(potentialTarget.getPositionVec());

            if (angle <= fov && distance < range) {
                return potentialTarget;
            }
        }
        return null;
    }

    private boolean isNaked(PlayerEntity player) {
        return player.getTotalArmorValue() == 0;
    }

    private static boolean isValidTarget(PlayerEntity player) {
        Minecraft mc = Minecraft.getInstance();
        return player != mc.player && !player.isSpectator() && player.isAlive();
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
и что ты с найта изменил
 
ну типо аимбот на трезубец и арбалет с плавной наводкой
Код:
Expand Collapse Copy
package alpha.night.modules.impl.combat;

import alpha.night.events.EventDisplay;
import alpha.night.events.EventLivingTick;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import alpha.night.config.FriendStorage;
import alpha.night.modules.api.Category;
import alpha.night.modules.api.Module;
import alpha.night.modules.api.ModuleRegister;
import alpha.night.modules.settings.impl.BooleanSetting;
import alpha.night.modules.settings.impl.SliderSetting;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;

@ModuleRegister(name = "AimBot", category = Category.Combat)
public class AimBot extends Module {
    private final SliderSetting fieldOfView = new SliderSetting("Search Angle", 90.0f, 1.0f, 90.0f, 1.0f);
    private final SliderSetting yawSpeed = new SliderSetting("Yaw Speed", 35.0f, 10.0f, 70.0f, 5.0f);
    private final SliderSetting smoothFactor = new SliderSetting("Smoothness", 0.02f, 0.02f, 0.5f, 0.001f);
    public final BooleanSetting enablePitch = new BooleanSetting("Vertical Aiming", false);
    private final SliderSetting pitchSpeed = new SliderSetting("Pitch Speed", 2.0f, 0.0f, 20.0f, 1.0f)
            .setVisible(() -> enablePitch.get());

    private final BooleanSetting ignoreNaked = new BooleanSetting("Ignore Naked Players", true);
    private final BooleanSetting ignoreFriends = new BooleanSetting("Ignore Friends", true);
    private final BooleanSetting ignoreInvisible = new BooleanSetting("Ignore Invisible", true);

    private PlayerEntity target;



    public AimBot() {
        this.addSettings(fieldOfView, yawSpeed, pitchSpeed, enablePitch, ignoreNaked, ignoreFriends, ignoreInvisible);
    }

    @Subscribe
    public void onTick(EventLivingTick event) {
        Minecraft mc = Minecraft.getInstance();
     
        if (mc.player.getHeldItemMainhand().getItem() != Items.TRIDENT && mc.player.getHeldItemMainhand().getItem() != Items.CROSSBOW) {
            this.target = null; // Reset target if not holding a trident or crossbow
            return;
        }

        // Find a target within 14 blocks with the specified field of view
        this.target = findTarget(mc.player, 14.0, fieldOfView.get());
    }

    @Subscribe
    public void onGui(EventDisplay event) {
        if (this.target != null) {
       
            setRotation(this.target, yawSpeed.get(), pitchSpeed.get(), smoothFactor.get());
        }
    }

    private void renderTargetIndicator(MatrixStack matrixStack) {
        Minecraft mc = Minecraft.getInstance();
        if (mc.world == null  mc.player == null  this.target == null) {
            System.out.println("Render skipped: world=" + mc.world + ", player=" + mc.player + ", target=" + this.target);
            return;
        }
        System.out.println("Rendering target indicator for " + this.target.getName().getString());

   
        IRenderTypeBuffer.Impl buffer = mc.getRenderTypeBuffers().getBufferSource();
        RenderSystem.enableBlend();
        RenderSystem.defaultBlendFunc();
        RenderSystem.disableCull();

        Vector3d targetPos = target.getPositionVec().add(0.0, target.getEyeHeight() + 0.5, 0.0);
        Vector3d cameraPos = mc.gameRenderer.getActiveRenderInfo().getProjectedView();
        matrixStack.push();

   
        matrixStack.translate(targetPos.x - cameraPos.x, targetPos.y - cameraPos.y, targetPos.z - cameraPos.z);

   
        ActiveRenderInfo renderInfo = mc.gameRenderer.getActiveRenderInfo();
        matrixStack.rotate(Vector3f.YP.rotationDegrees(-renderInfo.getYaw()));
        matrixStack.rotate(Vector3f.XP.rotationDegrees(renderInfo.getPitch()));

 
        float scale = 0.5f; // Adjust this to change image size
        matrixStack.scale(scale, scale, scale);

   
        Matrix4f matrix = matrixStack.getLast().getMatrix();
        mc.getTextureManager().bindTexture(TARGET_INDICATOR);

   
        float size = 0.5f; // Half-width of the image
        buffer.getBuffer(RenderType.getEntityTranslucent(TARGET_INDICATOR))
                .pos(matrix, -size, -size, 0).tex(0, 1).overlay(OverlayTexture.NO_OVERLAY).lightmap(0xF0F0F0).normal(0, 0, 1).endVertex();

        buffer.finish();
        matrixStack.pop();

        RenderSystem.enableCull();
        RenderSystem.disableBlend();
    }

    private void setRotation(PlayerEntity target, float yawSpeed, float pitchSpeed, double smoothFactor) {
        Minecraft mc = Minecraft.getInstance();

 
        Vector3d targetPos = target.getPositionVec().add(0.0, target.getEyeHeight() / 2.0, 0.0);
        Vector3d playerEyePos = mc.player.getEyePosition(1.0f);

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

   
        float targetYaw = (float) Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90.0f;
        float distanceXZ = MathHelper.sqrt(deltaX * deltaX + deltaZ * deltaZ);
        float targetPitch = (float) (-Math.toDegrees(Math.atan2(deltaY, distanceXZ)));

     
        float yawDifference = MathHelper.wrapDegrees(targetYaw - mc.player.rotationYaw);
        float pitchDifference = targetPitch - mc.player.rotationPitch - 4;

     
        float clampedYaw = MathHelper.clamp(yawDifference, -yawSpeed, yawSpeed);
        float clampedPitch = MathHelper.clamp(pitchDifference, -pitchSpeed, pitchSpeed);

   
        mc.player.rotationYaw += clampedYaw * smoothFactor;
        if (enablePitch.get()) {
            mc.player.rotationPitch += clampedPitch * smoothFactor;
        }
    }

    private PlayerEntity findTarget(PlayerEntity player, double range, double fov) {
        for (PlayerEntity potentialTarget : player.world.getEntitiesWithinAABB(
                PlayerEntity.class,
                player.getBoundingBox()
                        .expand(player.getLook(1.0f).scale(range))
                        .grow(1.0, 1.0, 1.0),
                AimBot::isValidTarget)) {

       
            if (ignoreNaked.get() && isNaked(potentialTarget)
                    ignoreFriends.get() && FriendStorage.isFriend(potentialTarget.getScoreboardName())
                    ignoreInvisible.get() && potentialTarget.isInvisible()) {
                continue;
            }

            double angle = Math.acos(player.getLook(1.0f)
                    .dotProduct(potentialTarget.getPositionVec()
                            .subtract(player.getEyePosition(1.0f))
                            .normalize())) * 57.29577951308232; // Convert to degrees
            double distance = player.getEyePosition(1.0f).distanceTo(potentialTarget.getPositionVec());

            if (angle <= fov && distance < range) {
                return potentialTarget;
            }
        }
        return null;
    }

    private boolean isNaked(PlayerEntity player) {
        return player.getTotalArmorValue() == 0;
    }

    private static boolean isValidTarget(PlayerEntity player) {
        Minecraft mc = Minecraft.getInstance();
        return player != mc.player && !player.isSpectator() && player.isAlive();
    }
}
где предикт блять
 
ну типо аимбот на трезубец и арбалет с плавной наводкой
Код:
Expand Collapse Copy
package alpha.night.modules.impl.combat;

import alpha.night.events.EventDisplay;
import alpha.night.events.EventLivingTick;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import alpha.night.config.FriendStorage;
import alpha.night.modules.api.Category;
import alpha.night.modules.api.Module;
import alpha.night.modules.api.ModuleRegister;
import alpha.night.modules.settings.impl.BooleanSetting;
import alpha.night.modules.settings.impl.SliderSetting;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;

@ModuleRegister(name = "AimBot", category = Category.Combat)
public class AimBot extends Module {
    private final SliderSetting fieldOfView = new SliderSetting("Search Angle", 90.0f, 1.0f, 90.0f, 1.0f);
    private final SliderSetting yawSpeed = new SliderSetting("Yaw Speed", 35.0f, 10.0f, 70.0f, 5.0f);
    private final SliderSetting smoothFactor = new SliderSetting("Smoothness", 0.02f, 0.02f, 0.5f, 0.001f);
    public final BooleanSetting enablePitch = new BooleanSetting("Vertical Aiming", false);
    private final SliderSetting pitchSpeed = new SliderSetting("Pitch Speed", 2.0f, 0.0f, 20.0f, 1.0f)
            .setVisible(() -> enablePitch.get());

    private final BooleanSetting ignoreNaked = new BooleanSetting("Ignore Naked Players", true);
    private final BooleanSetting ignoreFriends = new BooleanSetting("Ignore Friends", true);
    private final BooleanSetting ignoreInvisible = new BooleanSetting("Ignore Invisible", true);

    private PlayerEntity target;



    public AimBot() {
        this.addSettings(fieldOfView, yawSpeed, pitchSpeed, enablePitch, ignoreNaked, ignoreFriends, ignoreInvisible);
    }

    @Subscribe
    public void onTick(EventLivingTick event) {
        Minecraft mc = Minecraft.getInstance();
     
        if (mc.player.getHeldItemMainhand().getItem() != Items.TRIDENT && mc.player.getHeldItemMainhand().getItem() != Items.CROSSBOW) {
            this.target = null; // Reset target if not holding a trident or crossbow
            return;
        }

        // Find a target within 14 blocks with the specified field of view
        this.target = findTarget(mc.player, 14.0, fieldOfView.get());
    }

    @Subscribe
    public void onGui(EventDisplay event) {
        if (this.target != null) {
       
            setRotation(this.target, yawSpeed.get(), pitchSpeed.get(), smoothFactor.get());
        }
    }

    private void renderTargetIndicator(MatrixStack matrixStack) {
        Minecraft mc = Minecraft.getInstance();
        if (mc.world == null  mc.player == null  this.target == null) {
            System.out.println("Render skipped: world=" + mc.world + ", player=" + mc.player + ", target=" + this.target);
            return;
        }
        System.out.println("Rendering target indicator for " + this.target.getName().getString());

   
        IRenderTypeBuffer.Impl buffer = mc.getRenderTypeBuffers().getBufferSource();
        RenderSystem.enableBlend();
        RenderSystem.defaultBlendFunc();
        RenderSystem.disableCull();

        Vector3d targetPos = target.getPositionVec().add(0.0, target.getEyeHeight() + 0.5, 0.0);
        Vector3d cameraPos = mc.gameRenderer.getActiveRenderInfo().getProjectedView();
        matrixStack.push();

   
        matrixStack.translate(targetPos.x - cameraPos.x, targetPos.y - cameraPos.y, targetPos.z - cameraPos.z);

   
        ActiveRenderInfo renderInfo = mc.gameRenderer.getActiveRenderInfo();
        matrixStack.rotate(Vector3f.YP.rotationDegrees(-renderInfo.getYaw()));
        matrixStack.rotate(Vector3f.XP.rotationDegrees(renderInfo.getPitch()));

 
        float scale = 0.5f; // Adjust this to change image size
        matrixStack.scale(scale, scale, scale);

   
        Matrix4f matrix = matrixStack.getLast().getMatrix();
        mc.getTextureManager().bindTexture(TARGET_INDICATOR);

   
        float size = 0.5f; // Half-width of the image
        buffer.getBuffer(RenderType.getEntityTranslucent(TARGET_INDICATOR))
                .pos(matrix, -size, -size, 0).tex(0, 1).overlay(OverlayTexture.NO_OVERLAY).lightmap(0xF0F0F0).normal(0, 0, 1).endVertex();

        buffer.finish();
        matrixStack.pop();

        RenderSystem.enableCull();
        RenderSystem.disableBlend();
    }

    private void setRotation(PlayerEntity target, float yawSpeed, float pitchSpeed, double smoothFactor) {
        Minecraft mc = Minecraft.getInstance();

 
        Vector3d targetPos = target.getPositionVec().add(0.0, target.getEyeHeight() / 2.0, 0.0);
        Vector3d playerEyePos = mc.player.getEyePosition(1.0f);

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

   
        float targetYaw = (float) Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90.0f;
        float distanceXZ = MathHelper.sqrt(deltaX * deltaX + deltaZ * deltaZ);
        float targetPitch = (float) (-Math.toDegrees(Math.atan2(deltaY, distanceXZ)));

     
        float yawDifference = MathHelper.wrapDegrees(targetYaw - mc.player.rotationYaw);
        float pitchDifference = targetPitch - mc.player.rotationPitch - 4;

     
        float clampedYaw = MathHelper.clamp(yawDifference, -yawSpeed, yawSpeed);
        float clampedPitch = MathHelper.clamp(pitchDifference, -pitchSpeed, pitchSpeed);

   
        mc.player.rotationYaw += clampedYaw * smoothFactor;
        if (enablePitch.get()) {
            mc.player.rotationPitch += clampedPitch * smoothFactor;
        }
    }

    private PlayerEntity findTarget(PlayerEntity player, double range, double fov) {
        for (PlayerEntity potentialTarget : player.world.getEntitiesWithinAABB(
                PlayerEntity.class,
                player.getBoundingBox()
                        .expand(player.getLook(1.0f).scale(range))
                        .grow(1.0, 1.0, 1.0),
                AimBot::isValidTarget)) {

       
            if (ignoreNaked.get() && isNaked(potentialTarget)
                    ignoreFriends.get() && FriendStorage.isFriend(potentialTarget.getScoreboardName())
                    ignoreInvisible.get() && potentialTarget.isInvisible()) {
                continue;
            }

            double angle = Math.acos(player.getLook(1.0f)
                    .dotProduct(potentialTarget.getPositionVec()
                            .subtract(player.getEyePosition(1.0f))
                            .normalize())) * 57.29577951308232; // Convert to degrees
            double distance = player.getEyePosition(1.0f).distanceTo(potentialTarget.getPositionVec());

            if (angle <= fov && distance < range) {
                return potentialTarget;
            }
        }
        return null;
    }

    private boolean isNaked(PlayerEntity player) {
        return player.getTotalArmorValue() == 0;
    }

    private static boolean isValidTarget(PlayerEntity player) {
        Minecraft mc = Minecraft.getInstance();
        return player != mc.player && !player.isSpectator() && player.isAlive();
    }
}
вайта заебали пасты на найте
 
Назад
Сверху Снизу