Визуальная часть Призраки при наведении, без киллауры | Exp 3.1

Начинающий
Статус
Оффлайн
Регистрация
7 Фев 2024
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Выберите загрузчик игры
Vanilla

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

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

Спасибо!

Пожалуйста, авторизуйтесь для просмотра ссылки.
- клик

Код:
package Fever.Visual.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.events.WorldEvent;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.settings.impl.SliderSetting;
import Fever.Visual.utils.math.MathUtil;
import Fever.Visual.utils.math.Vector4i;
import Fever.Visual.utils.projections.ProjectionUtil;
import Fever.Visual.utils.render.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.entity.LivingEntity;

import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP2", type = Category.Combat)
public class TargetESP2 extends Function {
    private LivingEntity target;
    private boolean allow = false;
    private final Minecraft mc = Minecraft.getInstance();
    private final TargetESP.Stopwatch stopWatch = new TargetESP.Stopwatch();
    private net.minecraft.entity.LivingEntity LivingEntity;
    public static final SliderSetting soulEffectSize = new SliderSetting(
            "Размер",
            0.3f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulEffectAlpha = new SliderSetting(
            "Альфа",
            0.6f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulLength = new SliderSetting(
            "Длинна душ",
            0.4f,
            0.1f,
            10.0f,
            0.1f
    );
    private long startTime;

    public TargetESP2() {
        addSettings(soulEffectSize, soulEffectAlpha, soulLength);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            double sin = Math.sin(System.currentTimeMillis() / 5000.0);
            float size = 150.0F;

            Vector3d interpolated = target.getPositon();
            Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + target.getHeight() / 2f, interpolated.z);
            GlStateManager.pushMatrix();
            GlStateManager.translatef(pos.x, pos.y, 0);
            GlStateManager.popMatrix();
        }
    }



    private LivingEntity getTarget(LivingEntity nullTarget) {
        RayTraceResult rayTraceResult = mc.objectMouseOver;
        LivingEntity newTarget = nullTarget;

        if (rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.ENTITY) {
            Entity entityHit = ((EntityRayTraceResult) rayTraceResult).getEntity();
            if (entityHit instanceof LivingEntity) {
                newTarget = (LivingEntity) entityHit;
                if (target != newTarget) {
                    target = newTarget;
                    stopWatch.reset();
                    allow = true;
                }
            }
        }
        else if (target != null && stopWatch.getElapsedTime() <= 5000) {
            double distanceToTarget = mc.player.getDistance(target);
            if (distanceToTarget <= 4) {
                newTarget = target;
            } else {
                target = null;
                allow = false;
            }
        }
        else if (stopWatch.getElapsedTime() > 6000) {
            target = null;
            allow = false;
        }
        else if (mc.currentScreen instanceof ChatScreen) {
            stopWatch.reset();
            allow = true;
        } else {
            target = null;
            allow = false;
        }

        return newTarget;
    }
    
    public void onTick() {
        LivingEntity target = getTarget(null);
    }

    public static class Stopwatch {
        private long startTime;

        public Stopwatch() {
            reset();
        }

        public void reset() {
            startTime = System.currentTimeMillis();
        }

        public long getElapsedTime() {
            return System.currentTimeMillis() - startTime;
        }
    }


    @Subscribe
    private void onWorldEvent(WorldEvent e) {
        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            MatrixStack ms = new MatrixStack();
            ms.push();

            RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);

            double x = target.getPosX();
            double y = target.getPosY() + target.getHeight() / 2f;
            double z = target.getPosZ();
            double radius = 0.7f;
            float speed = 30;
            float size = soulEffectSize.get();
            double distance = 25;
            int maxAlpha = 255;
            int alphaFactor = 20;

            int length = Math.round(soulLength.get());

            ActiveRenderInfo camera = mc.getRenderManager().info;

            ms.translate(-mc.getRenderManager().info.getProjectedView().getX(),
                    -mc.getRenderManager().info.getProjectedView().getY(),
                    -mc.getRenderManager().info.getProjectedView().getZ());

            Vector3d interpolated = MathUtil.interpolate(target.getPositionVec(),
                    new Vector3d(target.lastTickPosX, target.lastTickPosY, target.lastTickPosZ),
                    e.getPartialTicks());
            interpolated.y += 0.75f;

            ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);

            mc.getTextureManager().bindTexture(new ResourceLocation("ВашКлиент/images/glow.png"));

            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder buffer = tessellator.getBuffer();

            for (int j = 0; j < 3; j++) {
                for (int i = 0; i < length; i++) {
                    Quaternion r = camera.getRotation().copy();

                    buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX);

                    double angle = 0.15f * (System.currentTimeMillis() - startTime - (i * distance)) / (speed);
                    double s = Math.sin(angle) * radius;
                    double c = Math.cos(angle) * radius;

                    switch (j) {
                        case 0:
                            ms.translate(s, c, -c);
                            break;
                        case 1:
                            ms.translate(-s, s, -c);
                            break;
                        case 2:
                            ms.translate(s, -c, -c);
                            break;
                    }

                    ms.translate(-size / 2f, -size / 2f, 0);
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    int color = ColorUtils.getColor(i);
                    int alpha = MathHelper.clamp(maxAlpha - (i * alphaFactor), 0, maxAlpha);

                    int colorWithAlpha = (color & 0xFFFFFF) | (MathHelper.clamp((int) (soulEffectAlpha.get() * 255), 255, 255) << 24);

                    buffer.pos(ms.getLast().getMatrix(), 0, -size, 0).color(colorWithAlpha).tex(0, 0).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, -size, 0).color(colorWithAlpha).tex(0, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, 0, 0).color(colorWithAlpha).tex(1, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), 0, 0, 0).color(colorWithAlpha).tex(1, 0).endVertex();

                    tessellator.draw();

                    ms.translate(-size / 2f, -size / 2f, 0);
                    r.conjugate();
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    switch (j) {
                        case 0:
                            ms.translate(-s, -c, c);
                            break;
                        case 1:
                            ms.translate(s, -s, c);
                            break;
                        case 2:
                            ms.translate(-s, c, c);
                            break;
                    }
                }
            }

            ms.translate(-x, -y, -z);
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
12 Дек 2022
Сообщения
192
Реакции[?]
0
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.
- клик

Код:
package Fever.Visual.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.events.WorldEvent;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.settings.impl.SliderSetting;
import Fever.Visual.utils.math.MathUtil;
import Fever.Visual.utils.math.Vector4i;
import Fever.Visual.utils.projections.ProjectionUtil;
import Fever.Visual.utils.render.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.entity.LivingEntity;

import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP2", type = Category.Combat)
public class TargetESP2 extends Function {
    private LivingEntity target;
    private boolean allow = false;
    private final Minecraft mc = Minecraft.getInstance();
    private final TargetESP.Stopwatch stopWatch = new TargetESP.Stopwatch();
    private net.minecraft.entity.LivingEntity LivingEntity;
    public static final SliderSetting soulEffectSize = new SliderSetting(
            "Размер",
            0.3f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulEffectAlpha = new SliderSetting(
            "Альфа",
            0.6f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulLength = new SliderSetting(
            "Длинна душ",
            0.4f,
            0.1f,
            10.0f,
            0.1f
    );
    private long startTime;

    public TargetESP2() {
        addSettings(soulEffectSize, soulEffectAlpha, soulLength);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            double sin = Math.sin(System.currentTimeMillis() / 5000.0);
            float size = 150.0F;

            Vector3d interpolated = target.getPositon();
            Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + target.getHeight() / 2f, interpolated.z);
            GlStateManager.pushMatrix();
            GlStateManager.translatef(pos.x, pos.y, 0);
            GlStateManager.popMatrix();
        }
    }



    private LivingEntity getTarget(LivingEntity nullTarget) {
        RayTraceResult rayTraceResult = mc.objectMouseOver;
        LivingEntity newTarget = nullTarget;

        if (rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.ENTITY) {
            Entity entityHit = ((EntityRayTraceResult) rayTraceResult).getEntity();
            if (entityHit instanceof LivingEntity) {
                newTarget = (LivingEntity) entityHit;
                if (target != newTarget) {
                    target = newTarget;
                    stopWatch.reset();
                    allow = true;
                }
            }
        }
        else if (target != null && stopWatch.getElapsedTime() <= 5000) {
            double distanceToTarget = mc.player.getDistance(target);
            if (distanceToTarget <= 4) {
                newTarget = target;
            } else {
                target = null;
                allow = false;
            }
        }
        else if (stopWatch.getElapsedTime() > 6000) {
            target = null;
            allow = false;
        }
        else if (mc.currentScreen instanceof ChatScreen) {
            stopWatch.reset();
            allow = true;
        } else {
            target = null;
            allow = false;
        }

        return newTarget;
    }
   
    public void onTick() {
        LivingEntity target = getTarget(null);
    }

    public static class Stopwatch {
        private long startTime;

        public Stopwatch() {
            reset();
        }

        public void reset() {
            startTime = System.currentTimeMillis();
        }

        public long getElapsedTime() {
            return System.currentTimeMillis() - startTime;
        }
    }


    @Subscribe
    private void onWorldEvent(WorldEvent e) {
        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            MatrixStack ms = new MatrixStack();
            ms.push();

            RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);

            double x = target.getPosX();
            double y = target.getPosY() + target.getHeight() / 2f;
            double z = target.getPosZ();
            double radius = 0.7f;
            float speed = 30;
            float size = soulEffectSize.get();
            double distance = 25;
            int maxAlpha = 255;
            int alphaFactor = 20;

            int length = Math.round(soulLength.get());

            ActiveRenderInfo camera = mc.getRenderManager().info;

            ms.translate(-mc.getRenderManager().info.getProjectedView().getX(),
                    -mc.getRenderManager().info.getProjectedView().getY(),
                    -mc.getRenderManager().info.getProjectedView().getZ());

            Vector3d interpolated = MathUtil.interpolate(target.getPositionVec(),
                    new Vector3d(target.lastTickPosX, target.lastTickPosY, target.lastTickPosZ),
                    e.getPartialTicks());
            interpolated.y += 0.75f;

            ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);

            mc.getTextureManager().bindTexture(new ResourceLocation("ВашКлиент/images/glow.png"));

            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder buffer = tessellator.getBuffer();

            for (int j = 0; j < 3; j++) {
                for (int i = 0; i < length; i++) {
                    Quaternion r = camera.getRotation().copy();

                    buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX);

                    double angle = 0.15f * (System.currentTimeMillis() - startTime - (i * distance)) / (speed);
                    double s = Math.sin(angle) * radius;
                    double c = Math.cos(angle) * radius;

                    switch (j) {
                        case 0:
                            ms.translate(s, c, -c);
                            break;
                        case 1:
                            ms.translate(-s, s, -c);
                            break;
                        case 2:
                            ms.translate(s, -c, -c);
                            break;
                    }

                    ms.translate(-size / 2f, -size / 2f, 0);
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    int color = ColorUtils.getColor(i);
                    int alpha = MathHelper.clamp(maxAlpha - (i * alphaFactor), 0, maxAlpha);

                    int colorWithAlpha = (color & 0xFFFFFF) | (MathHelper.clamp((int) (soulEffectAlpha.get() * 255), 255, 255) << 24);

                    buffer.pos(ms.getLast().getMatrix(), 0, -size, 0).color(colorWithAlpha).tex(0, 0).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, -size, 0).color(colorWithAlpha).tex(0, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, 0, 0).color(colorWithAlpha).tex(1, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), 0, 0, 0).color(colorWithAlpha).tex(1, 0).endVertex();

                    tessellator.draw();

                    ms.translate(-size / 2f, -size / 2f, 0);
                    r.conjugate();
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    switch (j) {
                        case 0:
                            ms.translate(-s, -c, c);
                            break;
                        case 1:
                            ms.translate(s, -s, c);
                            break;
                        case 2:
                            ms.translate(-s, c, c);
                            break;
                    }
                }
            }

            ms.translate(-x, -y, -z);
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}
нахер ваши рейтрейсы нужны, mc.pointedEntity для кого придумали?
 
Начинающий
Статус
Оффлайн
Регистрация
26 Май 2024
Сообщения
108
Реакции[?]
1
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.
- клик

Код:
package Fever.Visual.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.events.WorldEvent;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.settings.impl.SliderSetting;
import Fever.Visual.utils.math.MathUtil;
import Fever.Visual.utils.math.Vector4i;
import Fever.Visual.utils.projections.ProjectionUtil;
import Fever.Visual.utils.render.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.entity.LivingEntity;

import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP2", type = Category.Combat)
public class TargetESP2 extends Function {
    private LivingEntity target;
    private boolean allow = false;
    private final Minecraft mc = Minecraft.getInstance();
    private final TargetESP.Stopwatch stopWatch = new TargetESP.Stopwatch();
    private net.minecraft.entity.LivingEntity LivingEntity;
    public static final SliderSetting soulEffectSize = new SliderSetting(
            "Размер",
            0.3f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulEffectAlpha = new SliderSetting(
            "Альфа",
            0.6f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulLength = new SliderSetting(
            "Длинна душ",
            0.4f,
            0.1f,
            10.0f,
            0.1f
    );
    private long startTime;

    public TargetESP2() {
        addSettings(soulEffectSize, soulEffectAlpha, soulLength);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            double sin = Math.sin(System.currentTimeMillis() / 5000.0);
            float size = 150.0F;

            Vector3d interpolated = target.getPositon();
            Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + target.getHeight() / 2f, interpolated.z);
            GlStateManager.pushMatrix();
            GlStateManager.translatef(pos.x, pos.y, 0);
            GlStateManager.popMatrix();
        }
    }



    private LivingEntity getTarget(LivingEntity nullTarget) {
        RayTraceResult rayTraceResult = mc.objectMouseOver;
        LivingEntity newTarget = nullTarget;

        if (rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.ENTITY) {
            Entity entityHit = ((EntityRayTraceResult) rayTraceResult).getEntity();
            if (entityHit instanceof LivingEntity) {
                newTarget = (LivingEntity) entityHit;
                if (target != newTarget) {
                    target = newTarget;
                    stopWatch.reset();
                    allow = true;
                }
            }
        }
        else if (target != null && stopWatch.getElapsedTime() <= 5000) {
            double distanceToTarget = mc.player.getDistance(target);
            if (distanceToTarget <= 4) {
                newTarget = target;
            } else {
                target = null;
                allow = false;
            }
        }
        else if (stopWatch.getElapsedTime() > 6000) {
            target = null;
            allow = false;
        }
        else if (mc.currentScreen instanceof ChatScreen) {
            stopWatch.reset();
            allow = true;
        } else {
            target = null;
            allow = false;
        }

        return newTarget;
    }
  
    public void onTick() {
        LivingEntity target = getTarget(null);
    }

    public static class Stopwatch {
        private long startTime;

        public Stopwatch() {
            reset();
        }

        public void reset() {
            startTime = System.currentTimeMillis();
        }

        public long getElapsedTime() {
            return System.currentTimeMillis() - startTime;
        }
    }


    @Subscribe
    private void onWorldEvent(WorldEvent e) {
        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            MatrixStack ms = new MatrixStack();
            ms.push();

            RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);

            double x = target.getPosX();
            double y = target.getPosY() + target.getHeight() / 2f;
            double z = target.getPosZ();
            double radius = 0.7f;
            float speed = 30;
            float size = soulEffectSize.get();
            double distance = 25;
            int maxAlpha = 255;
            int alphaFactor = 20;

            int length = Math.round(soulLength.get());

            ActiveRenderInfo camera = mc.getRenderManager().info;

            ms.translate(-mc.getRenderManager().info.getProjectedView().getX(),
                    -mc.getRenderManager().info.getProjectedView().getY(),
                    -mc.getRenderManager().info.getProjectedView().getZ());

            Vector3d interpolated = MathUtil.interpolate(target.getPositionVec(),
                    new Vector3d(target.lastTickPosX, target.lastTickPosY, target.lastTickPosZ),
                    e.getPartialTicks());
            interpolated.y += 0.75f;

            ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);

            mc.getTextureManager().bindTexture(new ResourceLocation("ВашКлиент/images/glow.png"));

            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder buffer = tessellator.getBuffer();

            for (int j = 0; j < 3; j++) {
                for (int i = 0; i < length; i++) {
                    Quaternion r = camera.getRotation().copy();

                    buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX);

                    double angle = 0.15f * (System.currentTimeMillis() - startTime - (i * distance)) / (speed);
                    double s = Math.sin(angle) * radius;
                    double c = Math.cos(angle) * radius;

                    switch (j) {
                        case 0:
                            ms.translate(s, c, -c);
                            break;
                        case 1:
                            ms.translate(-s, s, -c);
                            break;
                        case 2:
                            ms.translate(s, -c, -c);
                            break;
                    }

                    ms.translate(-size / 2f, -size / 2f, 0);
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    int color = ColorUtils.getColor(i);
                    int alpha = MathHelper.clamp(maxAlpha - (i * alphaFactor), 0, maxAlpha);

                    int colorWithAlpha = (color & 0xFFFFFF) | (MathHelper.clamp((int) (soulEffectAlpha.get() * 255), 255, 255) << 24);

                    buffer.pos(ms.getLast().getMatrix(), 0, -size, 0).color(colorWithAlpha).tex(0, 0).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, -size, 0).color(colorWithAlpha).tex(0, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, 0, 0).color(colorWithAlpha).tex(1, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), 0, 0, 0).color(colorWithAlpha).tex(1, 0).endVertex();

                    tessellator.draw();

                    ms.translate(-size / 2f, -size / 2f, 0);
                    r.conjugate();
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    switch (j) {
                        case 0:
                            ms.translate(-s, -c, c);
                            break;
                        case 1:
                            ms.translate(s, -s, c);
                            break;
                        case 2:
                            ms.translate(-s, c, c);
                            break;
                    }
                }
            }

            ms.translate(-x, -y, -z);
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}
gde stopWatch.getElapsedTime , stopWatch.reset(); , TargetESP.Stopwatch();
 
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
439
Реакции[?]
2
Поинты[?]
2K
Пожалуйста, авторизуйтесь для просмотра ссылки.
- клик

Код:
package Fever.Visual.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.events.WorldEvent;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.settings.impl.SliderSetting;
import Fever.Visual.utils.math.MathUtil;
import Fever.Visual.utils.math.Vector4i;
import Fever.Visual.utils.projections.ProjectionUtil;
import Fever.Visual.utils.render.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.entity.LivingEntity;

import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP2", type = Category.Combat)
public class TargetESP2 extends Function {
    private LivingEntity target;
    private boolean allow = false;
    private final Minecraft mc = Minecraft.getInstance();
    private final TargetESP.Stopwatch stopWatch = new TargetESP.Stopwatch();
    private net.minecraft.entity.LivingEntity LivingEntity;
    public static final SliderSetting soulEffectSize = new SliderSetting(
            "Размер",
            0.3f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulEffectAlpha = new SliderSetting(
            "Альфа",
            0.6f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulLength = new SliderSetting(
            "Длинна душ",
            0.4f,
            0.1f,
            10.0f,
            0.1f
    );
    private long startTime;

    public TargetESP2() {
        addSettings(soulEffectSize, soulEffectAlpha, soulLength);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            double sin = Math.sin(System.currentTimeMillis() / 5000.0);
            float size = 150.0F;

            Vector3d interpolated = target.getPositon();
            Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + target.getHeight() / 2f, interpolated.z);
            GlStateManager.pushMatrix();
            GlStateManager.translatef(pos.x, pos.y, 0);
            GlStateManager.popMatrix();
        }
    }



    private LivingEntity getTarget(LivingEntity nullTarget) {
        RayTraceResult rayTraceResult = mc.objectMouseOver;
        LivingEntity newTarget = nullTarget;

        if (rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.ENTITY) {
            Entity entityHit = ((EntityRayTraceResult) rayTraceResult).getEntity();
            if (entityHit instanceof LivingEntity) {
                newTarget = (LivingEntity) entityHit;
                if (target != newTarget) {
                    target = newTarget;
                    stopWatch.reset();
                    allow = true;
                }
            }
        }
        else if (target != null && stopWatch.getElapsedTime() <= 5000) {
            double distanceToTarget = mc.player.getDistance(target);
            if (distanceToTarget <= 4) {
                newTarget = target;
            } else {
                target = null;
                allow = false;
            }
        }
        else if (stopWatch.getElapsedTime() > 6000) {
            target = null;
            allow = false;
        }
        else if (mc.currentScreen instanceof ChatScreen) {
            stopWatch.reset();
            allow = true;
        } else {
            target = null;
            allow = false;
        }

        return newTarget;
    }
   
    public void onTick() {
        LivingEntity target = getTarget(null);
    }

    public static class Stopwatch {
        private long startTime;

        public Stopwatch() {
            reset();
        }

        public void reset() {
            startTime = System.currentTimeMillis();
        }

        public long getElapsedTime() {
            return System.currentTimeMillis() - startTime;
        }
    }


    @Subscribe
    private void onWorldEvent(WorldEvent e) {
        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            MatrixStack ms = new MatrixStack();
            ms.push();

            RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);

            double x = target.getPosX();
            double y = target.getPosY() + target.getHeight() / 2f;
            double z = target.getPosZ();
            double radius = 0.7f;
            float speed = 30;
            float size = soulEffectSize.get();
            double distance = 25;
            int maxAlpha = 255;
            int alphaFactor = 20;

            int length = Math.round(soulLength.get());

            ActiveRenderInfo camera = mc.getRenderManager().info;

            ms.translate(-mc.getRenderManager().info.getProjectedView().getX(),
                    -mc.getRenderManager().info.getProjectedView().getY(),
                    -mc.getRenderManager().info.getProjectedView().getZ());

            Vector3d interpolated = MathUtil.interpolate(target.getPositionVec(),
                    new Vector3d(target.lastTickPosX, target.lastTickPosY, target.lastTickPosZ),
                    e.getPartialTicks());
            interpolated.y += 0.75f;

            ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);

            mc.getTextureManager().bindTexture(new ResourceLocation("ВашКлиент/images/glow.png"));

            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder buffer = tessellator.getBuffer();

            for (int j = 0; j < 3; j++) {
                for (int i = 0; i < length; i++) {
                    Quaternion r = camera.getRotation().copy();

                    buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX);

                    double angle = 0.15f * (System.currentTimeMillis() - startTime - (i * distance)) / (speed);
                    double s = Math.sin(angle) * radius;
                    double c = Math.cos(angle) * radius;

                    switch (j) {
                        case 0:
                            ms.translate(s, c, -c);
                            break;
                        case 1:
                            ms.translate(-s, s, -c);
                            break;
                        case 2:
                            ms.translate(s, -c, -c);
                            break;
                    }

                    ms.translate(-size / 2f, -size / 2f, 0);
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    int color = ColorUtils.getColor(i);
                    int alpha = MathHelper.clamp(maxAlpha - (i * alphaFactor), 0, maxAlpha);

                    int colorWithAlpha = (color & 0xFFFFFF) | (MathHelper.clamp((int) (soulEffectAlpha.get() * 255), 255, 255) << 24);

                    buffer.pos(ms.getLast().getMatrix(), 0, -size, 0).color(colorWithAlpha).tex(0, 0).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, -size, 0).color(colorWithAlpha).tex(0, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, 0, 0).color(colorWithAlpha).tex(1, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), 0, 0, 0).color(colorWithAlpha).tex(1, 0).endVertex();

                    tessellator.draw();

                    ms.translate(-size / 2f, -size / 2f, 0);
                    r.conjugate();
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    switch (j) {
                        case 0:
                            ms.translate(-s, -c, c);
                            break;
                        case 1:
                            ms.translate(s, -s, c);
                            break;
                        case 2:
                            ms.translate(-s, c, c);
                            break;
                    }
                }
            }

            ms.translate(-x, -y, -z);
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}
/del мой код
 
Начинающий
Статус
Оффлайн
Регистрация
17 Апр 2023
Сообщения
252
Реакции[?]
2
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.
- клик

Код:
package Fever.Visual.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.events.WorldEvent;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.settings.impl.SliderSetting;
import Fever.Visual.utils.math.MathUtil;
import Fever.Visual.utils.math.Vector4i;
import Fever.Visual.utils.projections.ProjectionUtil;
import Fever.Visual.utils.render.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.entity.LivingEntity;

import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP2", type = Category.Combat)
public class TargetESP2 extends Function {
    private LivingEntity target;
    private boolean allow = false;
    private final Minecraft mc = Minecraft.getInstance();
    private final TargetESP.Stopwatch stopWatch = new TargetESP.Stopwatch();
    private net.minecraft.entity.LivingEntity LivingEntity;
    public static final SliderSetting soulEffectSize = new SliderSetting(
            "Размер",
            0.3f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulEffectAlpha = new SliderSetting(
            "Альфа",
            0.6f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulLength = new SliderSetting(
            "Длинна душ",
            0.4f,
            0.1f,
            10.0f,
            0.1f
    );
    private long startTime;

    public TargetESP2() {
        addSettings(soulEffectSize, soulEffectAlpha, soulLength);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            double sin = Math.sin(System.currentTimeMillis() / 5000.0);
            float size = 150.0F;

            Vector3d interpolated = target.getPositon();
            Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + target.getHeight() / 2f, interpolated.z);
            GlStateManager.pushMatrix();
            GlStateManager.translatef(pos.x, pos.y, 0);
            GlStateManager.popMatrix();
        }
    }



    private LivingEntity getTarget(LivingEntity nullTarget) {
        RayTraceResult rayTraceResult = mc.objectMouseOver;
        LivingEntity newTarget = nullTarget;

        if (rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.ENTITY) {
            Entity entityHit = ((EntityRayTraceResult) rayTraceResult).getEntity();
            if (entityHit instanceof LivingEntity) {
                newTarget = (LivingEntity) entityHit;
                if (target != newTarget) {
                    target = newTarget;
                    stopWatch.reset();
                    allow = true;
                }
            }
        }
        else if (target != null && stopWatch.getElapsedTime() <= 5000) {
            double distanceToTarget = mc.player.getDistance(target);
            if (distanceToTarget <= 4) {
                newTarget = target;
            } else {
                target = null;
                allow = false;
            }
        }
        else if (stopWatch.getElapsedTime() > 6000) {
            target = null;
            allow = false;
        }
        else if (mc.currentScreen instanceof ChatScreen) {
            stopWatch.reset();
            allow = true;
        } else {
            target = null;
            allow = false;
        }

        return newTarget;
    }
   
    public void onTick() {
        LivingEntity target = getTarget(null);
    }

    public static class Stopwatch {
        private long startTime;

        public Stopwatch() {
            reset();
        }

        public void reset() {
            startTime = System.currentTimeMillis();
        }

        public long getElapsedTime() {
            return System.currentTimeMillis() - startTime;
        }
    }


    @Subscribe
    private void onWorldEvent(WorldEvent e) {
        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            MatrixStack ms = new MatrixStack();
            ms.push();

            RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);

            double x = target.getPosX();
            double y = target.getPosY() + target.getHeight() / 2f;
            double z = target.getPosZ();
            double radius = 0.7f;
            float speed = 30;
            float size = soulEffectSize.get();
            double distance = 25;
            int maxAlpha = 255;
            int alphaFactor = 20;

            int length = Math.round(soulLength.get());

            ActiveRenderInfo camera = mc.getRenderManager().info;

            ms.translate(-mc.getRenderManager().info.getProjectedView().getX(),
                    -mc.getRenderManager().info.getProjectedView().getY(),
                    -mc.getRenderManager().info.getProjectedView().getZ());

            Vector3d interpolated = MathUtil.interpolate(target.getPositionVec(),
                    new Vector3d(target.lastTickPosX, target.lastTickPosY, target.lastTickPosZ),
                    e.getPartialTicks());
            interpolated.y += 0.75f;

            ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);

            mc.getTextureManager().bindTexture(new ResourceLocation("ВашКлиент/images/glow.png"));

            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder buffer = tessellator.getBuffer();

            for (int j = 0; j < 3; j++) {
                for (int i = 0; i < length; i++) {
                    Quaternion r = camera.getRotation().copy();

                    buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX);

                    double angle = 0.15f * (System.currentTimeMillis() - startTime - (i * distance)) / (speed);
                    double s = Math.sin(angle) * radius;
                    double c = Math.cos(angle) * radius;

                    switch (j) {
                        case 0:
                            ms.translate(s, c, -c);
                            break;
                        case 1:
                            ms.translate(-s, s, -c);
                            break;
                        case 2:
                            ms.translate(s, -c, -c);
                            break;
                    }

                    ms.translate(-size / 2f, -size / 2f, 0);
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    int color = ColorUtils.getColor(i);
                    int alpha = MathHelper.clamp(maxAlpha - (i * alphaFactor), 0, maxAlpha);

                    int colorWithAlpha = (color & 0xFFFFFF) | (MathHelper.clamp((int) (soulEffectAlpha.get() * 255), 255, 255) << 24);

                    buffer.pos(ms.getLast().getMatrix(), 0, -size, 0).color(colorWithAlpha).tex(0, 0).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, -size, 0).color(colorWithAlpha).tex(0, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, 0, 0).color(colorWithAlpha).tex(1, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), 0, 0, 0).color(colorWithAlpha).tex(1, 0).endVertex();

                    tessellator.draw();

                    ms.translate(-size / 2f, -size / 2f, 0);
                    r.conjugate();
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    switch (j) {
                        case 0:
                            ms.translate(-s, -c, c);
                            break;
                        case 1:
                            ms.translate(s, -s, c);
                            break;
                        case 2:
                            ms.translate(-s, c, c);
                            break;
                    }
                }
            }

            ms.translate(-x, -y, -z);
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}
мама говорила, призраков не существует
 
Начинающий
Статус
Оффлайн
Регистрация
7 Фев 2024
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
439
Реакции[?]
2
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
15 Ноя 2024
Сообщения
78
Реакции[?]
0
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.
- клик

Код:
package Fever.Visual.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.events.WorldEvent;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.settings.impl.SliderSetting;
import Fever.Visual.utils.math.MathUtil;
import Fever.Visual.utils.math.Vector4i;
import Fever.Visual.utils.projections.ProjectionUtil;
import Fever.Visual.utils.render.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.entity.LivingEntity;

import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP2", type = Category.Combat)
public class TargetESP2 extends Function {
    private LivingEntity target;
    private boolean allow = false;
    private final Minecraft mc = Minecraft.getInstance();
    private final TargetESP.Stopwatch stopWatch = new TargetESP.Stopwatch();
    private net.minecraft.entity.LivingEntity LivingEntity;
    public static final SliderSetting soulEffectSize = new SliderSetting(
            "Размер",
            0.3f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulEffectAlpha = new SliderSetting(
            "Альфа",
            0.6f,
            0.1f,
            1.0f,
            0.1f
    );

    private final SliderSetting soulLength = new SliderSetting(
            "Длинна душ",
            0.4f,
            0.1f,
            10.0f,
            0.1f
    );
    private long startTime;

    public TargetESP2() {
        addSettings(soulEffectSize, soulEffectAlpha, soulLength);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.PRE) {
            return;
        }

        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            double sin = Math.sin(System.currentTimeMillis() / 5000.0);
            float size = 150.0F;

            Vector3d interpolated = target.getPositon();
            Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + target.getHeight() / 2f, interpolated.z);
            GlStateManager.pushMatrix();
            GlStateManager.translatef(pos.x, pos.y, 0);
            GlStateManager.popMatrix();
        }
    }



    private LivingEntity getTarget(LivingEntity nullTarget) {
        RayTraceResult rayTraceResult = mc.objectMouseOver;
        LivingEntity newTarget = nullTarget;

        if (rayTraceResult != null && rayTraceResult.getType() == RayTraceResult.Type.ENTITY) {
            Entity entityHit = ((EntityRayTraceResult) rayTraceResult).getEntity();
            if (entityHit instanceof LivingEntity) {
                newTarget = (LivingEntity) entityHit;
                if (target != newTarget) {
                    target = newTarget;
                    stopWatch.reset();
                    allow = true;
                }
            }
        }
        else if (target != null && stopWatch.getElapsedTime() <= 5000) {
            double distanceToTarget = mc.player.getDistance(target);
            if (distanceToTarget <= 4) {
                newTarget = target;
            } else {
                target = null;
                allow = false;
            }
        }
        else if (stopWatch.getElapsedTime() > 6000) {
            target = null;
            allow = false;
        }
        else if (mc.currentScreen instanceof ChatScreen) {
            stopWatch.reset();
            allow = true;
        } else {
            target = null;
            allow = false;
        }

        return newTarget;
    }
   
    public void onTick() {
        LivingEntity target = getTarget(null);
    }

    public static class Stopwatch {
        private long startTime;

        public Stopwatch() {
            reset();
        }

        public void reset() {
            startTime = System.currentTimeMillis();
        }

        public long getElapsedTime() {
            return System.currentTimeMillis() - startTime;
        }
    }


    @Subscribe
    private void onWorldEvent(WorldEvent e) {
        LivingEntity target = getTarget(LivingEntity);
        if (target != null) {
            MatrixStack ms = new MatrixStack();
            ms.push();

            RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);

            double x = target.getPosX();
            double y = target.getPosY() + target.getHeight() / 2f;
            double z = target.getPosZ();
            double radius = 0.7f;
            float speed = 30;
            float size = soulEffectSize.get();
            double distance = 25;
            int maxAlpha = 255;
            int alphaFactor = 20;

            int length = Math.round(soulLength.get());

            ActiveRenderInfo camera = mc.getRenderManager().info;

            ms.translate(-mc.getRenderManager().info.getProjectedView().getX(),
                    -mc.getRenderManager().info.getProjectedView().getY(),
                    -mc.getRenderManager().info.getProjectedView().getZ());

            Vector3d interpolated = MathUtil.interpolate(target.getPositionVec(),
                    new Vector3d(target.lastTickPosX, target.lastTickPosY, target.lastTickPosZ),
                    e.getPartialTicks());
            interpolated.y += 0.75f;

            ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);

            mc.getTextureManager().bindTexture(new ResourceLocation("ВашКлиент/images/glow.png"));

            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder buffer = tessellator.getBuffer();

            for (int j = 0; j < 3; j++) {
                for (int i = 0; i < length; i++) {
                    Quaternion r = camera.getRotation().copy();

                    buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX);

                    double angle = 0.15f * (System.currentTimeMillis() - startTime - (i * distance)) / (speed);
                    double s = Math.sin(angle) * radius;
                    double c = Math.cos(angle) * radius;

                    switch (j) {
                        case 0:
                            ms.translate(s, c, -c);
                            break;
                        case 1:
                            ms.translate(-s, s, -c);
                            break;
                        case 2:
                            ms.translate(s, -c, -c);
                            break;
                    }

                    ms.translate(-size / 2f, -size / 2f, 0);
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    int color = ColorUtils.getColor(i);
                    int alpha = MathHelper.clamp(maxAlpha - (i * alphaFactor), 0, maxAlpha);

                    int colorWithAlpha = (color & 0xFFFFFF) | (MathHelper.clamp((int) (soulEffectAlpha.get() * 255), 255, 255) << 24);

                    buffer.pos(ms.getLast().getMatrix(), 0, -size, 0).color(colorWithAlpha).tex(0, 0).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, -size, 0).color(colorWithAlpha).tex(0, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), -size, 0, 0).color(colorWithAlpha).tex(1, 1).endVertex();
                    buffer.pos(ms.getLast().getMatrix(), 0, 0, 0).color(colorWithAlpha).tex(1, 0).endVertex();

                    tessellator.draw();

                    ms.translate(-size / 2f, -size / 2f, 0);
                    r.conjugate();
                    ms.rotate(r);
                    ms.translate(size / 2f, size / 2f, 0);

                    switch (j) {
                        case 0:
                            ms.translate(-s, -c, c);
                            break;
                        case 1:
                            ms.translate(s, -s, c);
                            break;
                        case 2:
                            ms.translate(-s, c, c);
                            break;
                    }
                }
            }

            ms.translate(-x, -y, -z);
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}
пиздец, людям лень простейшую хуету в функцию таргетесп добавить и они отдельную фичу пишут...
 
Начинающий
Статус
Оффлайн
Регистрация
7 Фев 2024
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Сверху Снизу