• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Визуальная часть 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 все еще
 
как всегда дрисня брат:tonguewink::hearteyes::hearteyes::kissingcat::kissingheart::poutingcat::hushed::neutral::seemsgood::roflanEbalo:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я таких тут не видал, поэтому слив

ПРИМЕЧАНИЕ!!! Я ИСПОЛЬЗУЮ 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
 
говно которое делается за 2 минуты! Респект!
 
DF;,FDKLG;D;FGPDO P'[D';[L БЛЯТЬ А ЛЮДИ ДОСИХ ПОР НА БАЗЕ КОТОР 1 ЕАР+ НЕ МОГУТ ОТРИСОВАТЬ КАРТИКУ ААААААААААААААААААААААААААААААААААААААА ПОМИГИТЕ Я ИЗ ЗА ЭТОГ ОФОРУМА СКОРО СКИНИЮ НАХУЙ
 
хуйня target. не импортируеться иди переделывай
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не работает
 
Назад
Сверху Снизу