Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Визуальная часть 3D рендер TargetESP

  • Автор темы Автор темы Ksafik
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Ноя 2023
Сообщения
232
Реакции
0
Выберите загрузчик игры
  1. Vanilla
  2. OptiFine
  3. Прочие моды
я таких тут не видал, поэтому слив

ПРИМЕЧАНИЕ!!! Я ИСПОЛЬЗУЮ EXPENSIVE 3.1 НО ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ ЛЮБУЮ БАЗУ НА 1.16.5

преимущество рендера в 3D - таргет есп не меняет размер при отходе или подходе к таргету, такой рендер более оптимизирован, это есть не в каждой пасте

если что то забыл - пишите ниже или в лс на форуме

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

вот фулл код самой функции (с импортами)

TargetESP.java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

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 im.expensive.events.EventDisplay;
import im.expensive.events.EventRender;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.KillAura;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.AnimationMath;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;

import java.awt.*;

import static java.lang.Math.sin;
import static net.minecraft.client.renderer.vertex.DefaultVertexFormats.POSITION_COLOR_TEX;
import static net.minecraft.util.math.MathHelper.clamp;
import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP", type = Category.Render)
public class TargetESP extends Function {

    private final KillAura killAura;
    static boolean reverse = false;
    static float rotation_anim = 0F;

    public TargetESP(KillAura killAura) {
        this.killAura = killAura;
    }

    [USER=1474073]@Subscribe[/USER]
    private void onWorldEvent(WorldEvent e) {
        // Обновляем значение rotation_anim
        if (KillAura.target != null) {
            rotation_anim += reverse ? -0.01f : 0.01f;

            rotation_anim = (float) Math.sin((System.currentTimeMillis() - AnimationMath.deltaTime()) / 1000f) + rotation_anim;

//            if (Math.abs(rotation_anim) > 240) {
//                rotation_anim = 0;
//                reverse = !reverse;
//            }

            double x = (KillAura.target.lastTickPosX + (KillAura.target.getPosX() - KillAura.target.lastTickPosX) * (double) mc.timer.renderPartialTicks);
            double y = KillAura.target.lastTickPosY + (KillAura.target.getPosY() - KillAura.target.lastTickPosY) * (double) mc.timer.renderPartialTicks + 0.4f;
            double z = (KillAura.target.lastTickPosZ + (KillAura.target.getPosZ() - KillAura.target.lastTickPosZ) * (double) mc.timer.renderPartialTicks);
            double circleValue = (double) System.currentTimeMillis() / 1000;
            float targetHeight = (float) (0.5 * (1.0 + Math.sin(Math.PI * 2 * (circleValue * (double) 0.3f))));
            float size = KillAura.target.getWidth();
            float endYValue = (float) ((float) (KillAura.target.getHeight() - 0.4f) * (double) targetHeight);

            MatrixStack ms = new MatrixStack();

            double camX = mc.getRenderManager().info.getProjectedView().x;
            double camY = mc.getRenderManager().info.getProjectedView().y;
            double camZ = mc.getRenderManager().info.getProjectedView().z;

            ActiveRenderInfo camera = mc.gameRenderer.getActiveRenderInfo();

            Quaternion r = camera.getRotation().copy();

            ms.push();

            ms.translate(-camX, -camY, -camZ);

            Color color = new Color(ColorUtils.getColor(0));
            Color color2 = new Color(ColorUtils.getColor(90));
            Color color3 = new Color(ColorUtils.getColor(180));
            Color color4 = new Color(ColorUtils.getColor(270));

//                    Color color = Color.WHITE;
//                    Color color2 = Color.WHITE;
//                    Color color3 = Color.WHITE;
//                    Color color4 = Color.WHITE;

            RenderSystem.pushMatrix();
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableDepthTest();
            RenderSystem.disableCull();
            RenderSystem.blendFuncSeparate(770, 1, 0, 0);

            double angle = (float) clamp(0F, 30F, (float) ((sin(System.currentTimeMillis() / 150D) + 1F) / 2F) * 30);
            double rotate = (float) clamp((float) 0, 360F, (float) (((sin(System.currentTimeMillis() / 1000D) + 1F) / 2F) * 360));

            Vector3f[] avector3f = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, 1.0F, 0.0F), new Vector3f(1.0F, 1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F)};

            for (int i = 0; i < 4; ++i) {
                Vector3f vector3f = avector3f[i];
                vector3f.transform(Vector3f.ZP.rotationDegrees(rotation_anim));
                vector3f.transform(r);
                vector3f.mul(0.8f);
            }

            ms.translate((float) x, (float) (y + KillAura.target.getEyeHeight() / 2F - 0.2F), (float) z);

            mc.getTextureManager().bindTexture(new ResourceLocation("expensive/images/target.png"));

            buffer.begin(GL_QUADS, POSITION_COLOR_TEX);

            buffer.pos(ms.getLast().getMatrix(), avector3f[0].getX(), avector3f[0].getY(), avector3f[0].getZ()).color(ColorUtils.reAlphaInt(color.getRGB(), 255)).tex(0, 0).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[1].getX(), avector3f[1].getY(), avector3f[1].getZ()).color(ColorUtils.reAlphaInt(color2.getRGB(), 255)).tex(0, 1).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[2].getX(), avector3f[2].getY(), avector3f[2].getZ()).color(ColorUtils.reAlphaInt(color3.getRGB(), 255)).tex(1, 1).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[3].getX(), avector3f[3].getY(), avector3f[3].getZ()).color(ColorUtils.reAlphaInt(color4.getRGB(), 255)).tex(1, 0).endVertex();

            tessellator.draw();

            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableDepthTest();
            RenderSystem.enableCull();
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}


В ColorUtils вписываем это (если нету):

Код:
Expand Collapse Copy
    public static int reAlphaInt(final int color,
                                 final int alpha) {
        return (MathHelper.clamp(alpha, 0, 255) << 24) | (color & 16777215);
    }
 
Последнее редактирование:
я таких тут не видал, поэтому слив

ПРИМЕЧАНИЕ!!! Я ИСПОЛЬЗУЮ EXPENSIVE 3.1 НО ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ ЛЮБУЮ БАЗУ НА 1.16.5

преимущество рендера в 3D - таргет есп не меняет размер при отходе или подходе к таргету, такой рендер более оптимизирован, это есть не в каждой пасте

если что то забыл - пишите ниже или в лс на форуме

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

вот фулл код самой функции (с импортами)

TargetESP.java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

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 im.expensive.events.EventDisplay;
import im.expensive.events.EventRender;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.KillAura;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.AnimationMath;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;

import java.awt.*;

import static java.lang.Math.sin;
import static net.minecraft.client.renderer.vertex.DefaultVertexFormats.POSITION_COLOR_TEX;
import static net.minecraft.util.math.MathHelper.clamp;
import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP", type = Category.Render)
public class TargetESP extends Function {

    private final KillAura killAura;
    static boolean reverse = false;
    static float rotation_anim = 0F;

    public TargetESP(KillAura killAura) {
        this.killAura = killAura;
    }

    [USER=1474073]@Subscribe[/USER]
    private void onWorldEvent(WorldEvent e) {
        // Обновляем значение rotation_anim
        if (KillAura.target != null) {
            rotation_anim += reverse ? -0.01f : 0.01f;

            rotation_anim = (float) Math.sin((System.currentTimeMillis() - AnimationMath.deltaTime()) / 1000f) + rotation_anim;

//            if (Math.abs(rotation_anim) > 240) {
//                rotation_anim = 0;
//                reverse = !reverse;
//            }

            double x = (KillAura.target.lastTickPosX + (KillAura.target.getPosX() - KillAura.target.lastTickPosX) * (double) mc.timer.renderPartialTicks);
            double y = KillAura.target.lastTickPosY + (KillAura.target.getPosY() - KillAura.target.lastTickPosY) * (double) mc.timer.renderPartialTicks + 0.4f;
            double z = (KillAura.target.lastTickPosZ + (KillAura.target.getPosZ() - KillAura.target.lastTickPosZ) * (double) mc.timer.renderPartialTicks);
            double circleValue = (double) System.currentTimeMillis() / 1000;
            float targetHeight = (float) (0.5 * (1.0 + Math.sin(Math.PI * 2 * (circleValue * (double) 0.3f))));
            float size = KillAura.target.getWidth();
            float endYValue = (float) ((float) (KillAura.target.getHeight() - 0.4f) * (double) targetHeight);

            MatrixStack ms = new MatrixStack();

            double camX = mc.getRenderManager().info.getProjectedView().x;
            double camY = mc.getRenderManager().info.getProjectedView().y;
            double camZ = mc.getRenderManager().info.getProjectedView().z;

            ActiveRenderInfo camera = mc.gameRenderer.getActiveRenderInfo();

            Quaternion r = camera.getRotation().copy();

            ms.push();

            ms.translate(-camX, -camY, -camZ);

            Color color = new Color(ColorUtils.getColor(0));
            Color color2 = new Color(ColorUtils.getColor(90));
            Color color3 = new Color(ColorUtils.getColor(180));
            Color color4 = new Color(ColorUtils.getColor(270));

//                    Color color = Color.WHITE;
//                    Color color2 = Color.WHITE;
//                    Color color3 = Color.WHITE;
//                    Color color4 = Color.WHITE;

            RenderSystem.pushMatrix();
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableDepthTest();
            RenderSystem.disableCull();
            RenderSystem.blendFuncSeparate(770, 1, 0, 0);

            double angle = (float) clamp(0F, 30F, (float) ((sin(System.currentTimeMillis() / 150D) + 1F) / 2F) * 30);
            double rotate = (float) clamp((float) 0, 360F, (float) (((sin(System.currentTimeMillis() / 1000D) + 1F) / 2F) * 360));

            Vector3f[] avector3f = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, 1.0F, 0.0F), new Vector3f(1.0F, 1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F)};

            for (int i = 0; i < 4; ++i) {
                Vector3f vector3f = avector3f[i];
                vector3f.transform(Vector3f.ZP.rotationDegrees(rotation_anim));
                vector3f.transform(r);
                vector3f.mul(0.8f);
            }

            ms.translate((float) x, (float) (y + KillAura.target.getEyeHeight() / 2F - 0.2F), (float) z);

            mc.getTextureManager().bindTexture(new ResourceLocation("expensive/images/target.png"));

            buffer.begin(GL_QUADS, POSITION_COLOR_TEX);

            buffer.pos(ms.getLast().getMatrix(), avector3f[0].getX(), avector3f[0].getY(), avector3f[0].getZ()).color(ColorUtils.reAlphaInt(color.getRGB(), 255)).tex(0, 0).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[1].getX(), avector3f[1].getY(), avector3f[1].getZ()).color(ColorUtils.reAlphaInt(color2.getRGB(), 255)).tex(0, 1).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[2].getX(), avector3f[2].getY(), avector3f[2].getZ()).color(ColorUtils.reAlphaInt(color3.getRGB(), 255)).tex(1, 1).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[3].getX(), avector3f[3].getY(), avector3f[3].getZ()).color(ColorUtils.reAlphaInt(color4.getRGB(), 255)).tex(1, 0).endVertex();

            tessellator.draw();

            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableDepthTest();
            RenderSystem.enableCull();
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}


В ColorUtils вписываем это (если нету):

Код:
Expand Collapse Copy
    public static int reAlphaInt(final int color,
                                 final int alpha) {
        return (MathHelper.clamp(alpha, 0, 255) << 24) | (color & 16777215);
    }
ВЗААЗЗАЗВАЗВА АЗВ сука зыхвхзв пиздец
 
Скрытое содержимое
Код:
Expand Collapse Copy
package im.expensive.utils.render;

import com.mojang.blaze3d.platform.GlStateManager;
import im.expensive.utils.client.IMinecraft;
import net.minecraft.util.math.vector.Vector3d;

import static net.minecraft.util.math.MathHelper.clamp;

public class AnimationMath implements IMinecraft {
    public static double deltaTime() {
        return mc.debugFPS > 0 ? (1.0000 / mc.debugFPS) : 1;
    }

    public static float fast(float end, float start, float multiple) {
        return (1 - clamp((float) (AnimationMath.deltaTime() * multiple), 0, 1)) * end + clamp((float) (AnimationMath.deltaTime() * multiple), 0, 1) * start;
    }
    public static float fast2(float end, float start, float multiple) {
//        multiple = (multiple * 50) * deltaTime();
//
//        if (end == start)
//            return start;
//
//        if (end + multiple > start && end - multiple < start)
//            return start;
//
//        if (end > start)
//            return end - multiple;
//        else
//            return end + multiple;

        return (float) ((1 - clamp(deltaTime() * multiple, 0, 1)) * end + clamp(deltaTime() * multiple, 0, 1) * start);
    }
    public static float lerpTrip(float end, float start, float multiple) {
        if (end == start)
            return start;

        if (end + multiple > start && end - multiple < start)
            return start;

        if (end > start)
            return end - multiple;
        else
            return end + multiple;
    }

    public static float lerp(float end, float start, float multiple) {
        return (float) (end + (start - end) * clamp(AnimationMath.deltaTime() * multiple, 0, 1));
    }

    public static double lerp(double end, double start, double multiple) {
        return (end + (start - end) * clamp(AnimationMath.deltaTime() * multiple, 0, 1));
    }

    public static void sizeAnimation(double width, double height, double scale) {
        GlStateManager.translated(width, height, 0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0);
    }
    public static Vector3d interpolate(Vector3d end, Vector3d start, float multiple) {
        return new Vector3d(
                interpolate(end.getX(), start.getX(), multiple),
                interpolate(end.getY(), start.getY(), multiple),
                interpolate(end.getZ(), start.getZ(), multiple));
    }
    public static double interpolate(double current, double old, double scale) {
        return old + (current - old) * scale;
    }

    public static double interpolateCurva(double startValue, double endValue,
                                          double fraction) {
        if (Math.abs(startValue - endValue) > 3)
            return endValue;

        return startValue + (endValue - startValue) * fraction;
    }
}
ВЗААЗЗАЗВАЗВА АЗВ сука зыхвхзв пиздец
а че ты ржешь еще пол года назад летом когда я это сделал ты умолял меня тебе это дать и я скинул но ты не смог спастить)
 
Код:
Expand Collapse Copy
package im.expensive.utils.render;

import com.mojang.blaze3d.platform.GlStateManager;
import im.expensive.utils.client.IMinecraft;
import net.minecraft.util.math.vector.Vector3d;

import static net.minecraft.util.math.MathHelper.clamp;

public class AnimationMath implements IMinecraft {
    public static double deltaTime() {
        return mc.debugFPS > 0 ? (1.0000 / mc.debugFPS) : 1;
    }

    public static float fast(float end, float start, float multiple) {
        return (1 - clamp((float) (AnimationMath.deltaTime() * multiple), 0, 1)) * end + clamp((float) (AnimationMath.deltaTime() * multiple), 0, 1) * start;
    }
    public static float fast2(float end, float start, float multiple) {
//        multiple = (multiple * 50) * deltaTime();
//
//        if (end == start)
//            return start;
//
//        if (end + multiple > start && end - multiple < start)
//            return start;
//
//        if (end > start)
//            return end - multiple;
//        else
//            return end + multiple;

        return (float) ((1 - clamp(deltaTime() * multiple, 0, 1)) * end + clamp(deltaTime() * multiple, 0, 1) * start);
    }
    public static float lerpTrip(float end, float start, float multiple) {
        if (end == start)
            return start;

        if (end + multiple > start && end - multiple < start)
            return start;

        if (end > start)
            return end - multiple;
        else
            return end + multiple;
    }

    public static float lerp(float end, float start, float multiple) {
        return (float) (end + (start - end) * clamp(AnimationMath.deltaTime() * multiple, 0, 1));
    }

    public static double lerp(double end, double start, double multiple) {
        return (end + (start - end) * clamp(AnimationMath.deltaTime() * multiple, 0, 1));
    }

    public static void sizeAnimation(double width, double height, double scale) {
        GlStateManager.translated(width, height, 0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0);
    }
    public static Vector3d interpolate(Vector3d end, Vector3d start, float multiple) {
        return new Vector3d(
                interpolate(end.getX(), start.getX(), multiple),
                interpolate(end.getY(), start.getY(), multiple),
                interpolate(end.getZ(), start.getZ(), multiple));
    }
    public static double interpolate(double current, double old, double scale) {
        return old + (current - old) * scale;
    }

    public static double interpolateCurva(double startValue, double endValue,
                                          double fraction) {
        if (Math.abs(startValue - endValue) > 3)
            return endValue;

        return startValue + (endValue - startValue) * fraction;
    }
}

а че ты ржешь еще пол года назад летом когда я это сделал ты умолял меня тебе это дать и я скинул но ты не смог спастить)
Ты вопервых нихууя не кинул, а во вторых я уже давно на своей базе сижу а ты еще на экспе 3.1 все еще
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я таких тут не видал, поэтому слив

ПРИМЕЧАНИЕ!!! Я ИСПОЛЬЗУЮ EXPENSIVE 3.1 НО ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ ЛЮБУЮ БАЗУ НА 1.16.5

преимущество рендера в 3D - таргет есп не меняет размер при отходе или подходе к таргету, такой рендер более оптимизирован, это есть не в каждой пасте

если что то забыл - пишите ниже или в лс на форуме

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

вот фулл код самой функции (с импортами)

TargetESP.java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

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 im.expensive.events.EventDisplay;
import im.expensive.events.EventRender;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.KillAura;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.AnimationMath;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;

import java.awt.*;

import static java.lang.Math.sin;
import static net.minecraft.client.renderer.vertex.DefaultVertexFormats.POSITION_COLOR_TEX;
import static net.minecraft.util.math.MathHelper.clamp;
import static org.lwjgl.opengl.GL11.GL_QUADS;

@FunctionRegister(name = "TargetESP", type = Category.Render)
public class TargetESP extends Function {

    private final KillAura killAura;
    static boolean reverse = false;
    static float rotation_anim = 0F;

    public TargetESP(KillAura killAura) {
        this.killAura = killAura;
    }

    [USER=1474073]@Subscribe[/USER]
    private void onWorldEvent(WorldEvent e) {
        // Обновляем значение rotation_anim
        if (KillAura.target != null) {
            rotation_anim += reverse ? -0.01f : 0.01f;

            rotation_anim = (float) Math.sin((System.currentTimeMillis() - AnimationMath.deltaTime()) / 1000f) + rotation_anim;

//            if (Math.abs(rotation_anim) > 240) {
//                rotation_anim = 0;
//                reverse = !reverse;
//            }

            double x = (KillAura.target.lastTickPosX + (KillAura.target.getPosX() - KillAura.target.lastTickPosX) * (double) mc.timer.renderPartialTicks);
            double y = KillAura.target.lastTickPosY + (KillAura.target.getPosY() - KillAura.target.lastTickPosY) * (double) mc.timer.renderPartialTicks + 0.4f;
            double z = (KillAura.target.lastTickPosZ + (KillAura.target.getPosZ() - KillAura.target.lastTickPosZ) * (double) mc.timer.renderPartialTicks);
            double circleValue = (double) System.currentTimeMillis() / 1000;
            float targetHeight = (float) (0.5 * (1.0 + Math.sin(Math.PI * 2 * (circleValue * (double) 0.3f))));
            float size = KillAura.target.getWidth();
            float endYValue = (float) ((float) (KillAura.target.getHeight() - 0.4f) * (double) targetHeight);

            MatrixStack ms = new MatrixStack();

            double camX = mc.getRenderManager().info.getProjectedView().x;
            double camY = mc.getRenderManager().info.getProjectedView().y;
            double camZ = mc.getRenderManager().info.getProjectedView().z;

            ActiveRenderInfo camera = mc.gameRenderer.getActiveRenderInfo();

            Quaternion r = camera.getRotation().copy();

            ms.push();

            ms.translate(-camX, -camY, -camZ);

            Color color = new Color(ColorUtils.getColor(0));
            Color color2 = new Color(ColorUtils.getColor(90));
            Color color3 = new Color(ColorUtils.getColor(180));
            Color color4 = new Color(ColorUtils.getColor(270));

//                    Color color = Color.WHITE;
//                    Color color2 = Color.WHITE;
//                    Color color3 = Color.WHITE;
//                    Color color4 = Color.WHITE;

            RenderSystem.pushMatrix();
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableDepthTest();
            RenderSystem.disableCull();
            RenderSystem.blendFuncSeparate(770, 1, 0, 0);

            double angle = (float) clamp(0F, 30F, (float) ((sin(System.currentTimeMillis() / 150D) + 1F) / 2F) * 30);
            double rotate = (float) clamp((float) 0, 360F, (float) (((sin(System.currentTimeMillis() / 1000D) + 1F) / 2F) * 360));

            Vector3f[] avector3f = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, 1.0F, 0.0F), new Vector3f(1.0F, 1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F)};

            for (int i = 0; i < 4; ++i) {
                Vector3f vector3f = avector3f[i];
                vector3f.transform(Vector3f.ZP.rotationDegrees(rotation_anim));
                vector3f.transform(r);
                vector3f.mul(0.8f);
            }

            ms.translate((float) x, (float) (y + KillAura.target.getEyeHeight() / 2F - 0.2F), (float) z);

            mc.getTextureManager().bindTexture(new ResourceLocation("expensive/images/target.png"));

            buffer.begin(GL_QUADS, POSITION_COLOR_TEX);

            buffer.pos(ms.getLast().getMatrix(), avector3f[0].getX(), avector3f[0].getY(), avector3f[0].getZ()).color(ColorUtils.reAlphaInt(color.getRGB(), 255)).tex(0, 0).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[1].getX(), avector3f[1].getY(), avector3f[1].getZ()).color(ColorUtils.reAlphaInt(color2.getRGB(), 255)).tex(0, 1).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[2].getX(), avector3f[2].getY(), avector3f[2].getZ()).color(ColorUtils.reAlphaInt(color3.getRGB(), 255)).tex(1, 1).endVertex();
            buffer.pos(ms.getLast().getMatrix(), avector3f[3].getX(), avector3f[3].getY(), avector3f[3].getZ()).color(ColorUtils.reAlphaInt(color4.getRGB(), 255)).tex(1, 0).endVertex();

            tessellator.draw();

            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableDepthTest();
            RenderSystem.enableCull();
            RenderSystem.popMatrix();
            ms.pop();
        }
    }
}


В ColorUtils вписываем это (если нету):

Код:
Expand Collapse Copy
    public static int reAlphaInt(final int color,
                                 final int alpha) {
        return (MathHelper.clamp(alpha, 0, 255) << 24) | (color & 16777215);
    }
а чо изменилось? ты же просто скорость изменил
 
а чо изменилось? ты же просто скорость изменил
1742835949107.png
 
DF;,FDKLG;D;FGPDO P'[D';[L БЛЯТЬ А ЛЮДИ ДОСИХ ПОР НА БАЗЕ КОТОР 1 ЕАР+ НЕ МОГУТ ОТРИСОВАТЬ КАРТИКУ ААААААААААААААААААААААААААААААААААААААА ПОМИГИТЕ Я ИЗ ЗА ЭТОГ ОФОРУМА СКОРО СКИНИЮ НАХУЙ
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хуйня target. не импортируеться иди переделывай
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу