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

Визуальная часть TargetESP exp 2.0 | Скид wexside

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Авг 2024
Сообщения
8
Реакции
0
Выберите загрузчик игры
  1. Vanilla
Написал на пианино чуть похоже ну и всё
На всё про всё было потрачено 5-10 минут

Таргетесп:
Expand Collapse Copy
package wtf.expensive.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import wtf.expensive.events.Event;
import wtf.expensive.events.impl.player.EventUpdate;
import wtf.expensive.events.impl.render.EventRender;
import wtf.expensive.managment.Managment;
import wtf.expensive.modules.Function;
import wtf.expensive.modules.FunctionAnnotation;
import wtf.expensive.modules.Type;
import wtf.expensive.util.animations.Animation;
import wtf.expensive.util.animations.Direction;
import wtf.expensive.util.animations.impl.DecelerateAnimation;
import wtf.expensive.util.math.MathUtil;
import wtf.expensive.util.misc.TimerUtil;
import wtf.expensive.util.render.ColorUtil;
import wtf.expensive.util.render.animation.AnimationMath;

import java.util.concurrent.ThreadLocalRandom;

@FunctionAnnotation(name = "TargetESP", type = Type.Render)
public class TargetESP extends Function {
private final Animation animation = new DecelerateAnimation(250, 1);
private LivingEntity target;
private TimerUtil time = new TimerUtil();
private float animpenisa;
private boolean ispenis = false;
@Override
    public void onEvent(Event event) {
if (event instanceof EventUpdate) {
// Анимки кароче
            if (Managment.FUNCTION_MANAGER.auraFunction.getTarget() != null) target = Managment.FUNCTION_MANAGER.auraFunction.getTarget();

animation.setDirection(Managment.FUNCTION_MANAGER.auraFunction.getTarget() != null ? Direction.FORWARDS : Direction.BACKWARDS);
        }
if (event instanceof EventRender eventRender && eventRender.isWorld3D()) {
if (animation.finished(Direction.BACKWARDS)) return;

if (target != null && target != mc.player) {
//рендер таргетес
              renderWex(eventRender);
            }
        }
    }
public void renderWex(EventRender eventRender) {
MatrixStack matrixStack = eventRender.matrixStack;
//Анимация пульса типо пон?
        if (time.hasTimeElapsed(1000,true)) {
// самая тупая система дадада
            ispenis = !ispenis;
        }
// эта штука короче раз в секунду пульсирует больше
        animpenisa = AnimationMath.fast(animpenisa, ispenis ? 20 : 0, 2);
// Тута короче получаем где находится таргет пон?
        Vector3d vector3d = getEntityPosition(target, eventRender.partialTicks);
// Это тут мы делаем размеры с анимкой крута
        float size = (float) (40 * animation.getOutput() + animpenisa);
// Это цвет просто белый ez
        int color1 = ColorUtil.rgba(255,255,255,155*animation.getOutput());
// Матриксстак типо йоу кароче да
        matrixStack.push();
matrixStack.translate(vector3d.x, vector3d.y + target.getHeight() / 2f, vector3d.z);
matrixStack.scale(0.025f,0.025f,0.025f);
matrixStack.rotate(mc.getRenderManager().getCameraOrientation());
matrixStack.rotate(new Quaternion(new Vector3f(0, 0, 1), 3.1F, false));
int HP = (int) target.getHealth();

RenderSystem.disableDepthTest();
// Эээ рендер черепочков
        if (HP >= 15)
drawTexture(matrixStack, new ResourceLocation("expensive/images/skull_state_0.png"), -size / 2f, -size / 2f, size, size, color1, color1, color1, color1);
if (HP == 14)
drawTexture(matrixStack, new ResourceLocation("expensive/images/skull_state_0.png"), -size / 2f + ThreadLocalRandom.current().nextInt(-5,5), -size / 2f+ ThreadLocalRandom.current().nextInt(-5,5), size, size, color1, color1, color1, color1);
if (HP == 13 || HP == 12)
drawTexture(matrixStack, new ResourceLocation("expensive/images/skull_state_1.png"), -size / 2f + ThreadLocalRandom.current().nextInt(-5,5), -size / 2f+ ThreadLocalRandom.current().nextInt(-5,5), size, size, color1, color1, color1, color1);
if (HP == 11 || HP == 10 || HP == 9 || HP == 8)
drawTexture(matrixStack, new ResourceLocation("expensive/images/skull_state_1.png"), -size / 2f, -size / 2f, size, size, color1, color1, color1, color1);
if (HP == 7 || HP == 6)
drawTexture(matrixStack, new ResourceLocation("expensive/images/skull_state_2.png"), -size / 2f + ThreadLocalRandom.current().nextInt(-5,5), -size / 2f+ ThreadLocalRandom.current().nextInt(-5,5), size, size, color1, color1, color1, color1);
if (HP == 5 || HP == 4 || HP == 3 || HP == 2 || HP == 1 || HP == 0)
drawTexture(matrixStack, new ResourceLocation("expensive/images/skull_state_2.png"), -size / 2f, -size / 2f, size, size, color1, color1, color1, color1);
RenderSystem.enableDepthTest();
matrixStack.pop();
    }
// Кароче утилка RenderUtil перенёс сюда какбы
    public static Vector3d getEntityPosition(Entity entity, float interpolationFactor) {
double interpolatedX = MathUtil.interpolate(entity.getPosX(), entity.lastTickPosX, interpolationFactor) - mc.getRenderManager().renderPosX();
double interpolatedY = MathUtil.interpolate(entity.getPosY(), entity.lastTickPosY, interpolationFactor) - mc.getRenderManager().renderPosY();
double interpolatedZ = MathUtil.interpolate(entity.getPosZ(), entity.lastTickPosZ, interpolationFactor) - mc.getRenderManager().renderPosZ();

return new Vector3d(interpolatedX, interpolatedY, interpolatedZ);
    }
// Эта тоже
    public static void drawTexture(MatrixStack matrixStack, ResourceLocation resourceLocation, float x, float y, float width, float height, int color1, int color2, int color3, int color4) {
RenderSystem.pushMatrix();
RenderSystem.enableBlend();
RenderSystem.blendFuncSeparate(770, 1, 0, 1);
RenderSystem.shadeModel(7425);
RenderSystem.disableAlphaTest();
RenderSystem.depthMask(false);
Matrix4f matrix4f = matrixStack.getLast().getMatrix();
mc.getTextureManager().bindTexture(resourceLocation);
buffer.begin(7, DefaultVertexFormats.POSITION_COLOR_TEX);
buffer.pos(matrix4f, x, y, 0).color(color1).tex(0, 0).endVertex();
buffer.pos(matrix4f, x, y + height, 0).color(color2).tex(0, 1).endVertex();
buffer.pos(matrix4f, x + width, y + height, 0).color(color3).tex(1, 1).endVertex();
buffer.pos(matrix4f, x + width, y, 0).color(color4).tex(1, 0).endVertex();
tessellator.draw();
RenderSystem.depthMask(true);
RenderSystem.enableAlphaTest();
RenderSystem.shadeModel(7424);
RenderSystem.defaultBlendFunc();
RenderSystem.disableBlend();
RenderSystem.popMatrix();
    }
}
EventRender:
Expand Collapse Copy
package wtf.expensive.events.impl.render;


import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.MainWindow;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.util.math.vector.Matrix4f;
import wtf.expensive.events.Event;

public class EventRender extends Event {
    public float partialTicks;
    public MainWindow scaledResolution;
    public Type type;
    public MatrixStack matrixStack;
    public Matrix4f matrix;
    public Matrix4f matrix4f;
    public ActiveRenderInfo activeRenderInfo;

    public EventRender(float partialTicks, MatrixStack matrixStack, MainWindow mainWindow, Type type, Matrix4f matrix4f, ActiveRenderInfo activeRenderInfo) {
        this.partialTicks = partialTicks;
        this.matrixStack = matrixStack;
        this.scaledResolution = mainWindow;
        this.type = type;
        this.matrix4f = matrix4f;
        this.activeRenderInfo = activeRenderInfo;
    }
    public EventRender(float partialTicks, MatrixStack stack, MainWindow scaledResolution, Type type,Matrix4f matrix) {
        this.partialTicks = partialTicks;
        this.scaledResolution = scaledResolution;
        this.matrixStack = stack;
        this.type = type;
        this.matrix = matrix;
    }

    public boolean isRender3D() {
        return this.type == Type.RENDER3D;
    }

    public boolean isRender2D() {
        return this.type == Type.RENDER2D;
    }

    public boolean isWorld3D() {
        return type == Type.WORLD3D;
    }

    public enum Type {
        RENDER3D, WORLD3D ,RENDER2D
    }
}
GameRenderer метод:
Expand Collapse Copy
 public void renderWorld(float partialTicks, long finishTimeNano, MatrixStack matrixStackIn) {
        this.lightmapTexture.updateLightmap(partialTicks);

        if (this.mc.getRenderViewEntity() == null) {
            this.mc.setRenderViewEntity(this.mc.player);
        }

        this.getMouseOver(partialTicks);

        if (Config.isShaders()) {
            Shaders.beginRender(this.mc, this.activeRender, partialTicks, finishTimeNano);
        }

        this.mc.getProfiler().startSection("center");
        boolean flag = Config.isShaders();

        if (flag) {
            Shaders.beginRenderPass(partialTicks, finishTimeNano);
        }

        boolean flag1 = this.isDrawBlockOutline();
        this.mc.getProfiler().endStartSection("camera");
        ActiveRenderInfo activerenderinfo = this.activeRender;
        this.farPlaneDistance = (float) (this.mc.gameSettings.renderDistanceChunks * 16);

        if (Config.isFogFancy()) {
            this.farPlaneDistance *= 0.95F;
        }

        if (Config.isFogFast()) {
            this.farPlaneDistance *= 0.83F;
        }

        MatrixStack matrixstack = new MatrixStack();
        matrixstack.getLast().getMatrix().mul(this.getProjectionMatrix(activerenderinfo, partialTicks, true));
        MatrixStack matrixstack1 = matrixstack;

        if (Shaders.isEffectsModelView()) {
            matrixstack = matrixStackIn;
        }

        if (this.mc.gameSettings.viewBobbing) {
            this.applyBobbing(matrixstack, partialTicks);
        }

        float f = MathHelper.lerp(partialTicks, this.mc.player.prevTimeInPortal, this.mc.player.timeInPortal) * this.mc.gameSettings.screenEffectScale * this.mc.gameSettings.screenEffectScale;

        if (f > 0.0F) {
            int i = this.mc.player.isPotionActive(Effects.NAUSEA) ? 7 : 20;
            float f1 = 5.0F / (f * f + 5.0F) - f * 0.04F;
            f1 = f1 * f1;
            Vector3f vector3f = new Vector3f(0.0F, MathHelper.SQRT_2 / 2.0F, MathHelper.SQRT_2 / 2.0F);
            matrixstack.rotate(vector3f.rotationDegrees(((float) this.rendererUpdateCount + partialTicks) * (float) i));
            matrixstack.scale(1.0F / f1, 1.0F, 1.0F);
            float f2 = -((float) this.rendererUpdateCount + partialTicks) * (float) i;
            matrixstack.rotate(vector3f.rotationDegrees(f2));
        }

        if (Shaders.isEffectsModelView()) {
            matrixstack = matrixstack1;
        }

        Matrix4f matrix4f = matrixstack.getLast().getMatrix();
        this.resetProjectionMatrix(matrix4f);
        activerenderinfo.update(this.mc.world, (Entity) (this.mc.getRenderViewEntity() == null ? this.mc.player : this.mc.getRenderViewEntity()), !this.mc.gameSettings.getPointOfView().func_243192_a(), this.mc.gameSettings.getPointOfView().func_243193_b(), partialTicks);
        if (Reflector.ForgeHooksClient_onCameraSetup.exists()) {
            Object object = Reflector.ForgeHooksClient_onCameraSetup.call(this, activerenderinfo, partialTicks);
            float f4 = Reflector.callFloat(object, Reflector.EntityViewRenderEvent_CameraSetup_getYaw);
            float f5 = Reflector.callFloat(object, Reflector.EntityViewRenderEvent_CameraSetup_getPitch);
            float f3 = Reflector.callFloat(object, Reflector.EntityViewRenderEvent_CameraSetup_getRoll);
            activerenderinfo.setAnglesInternal(f4, f5);
            matrixStackIn.rotate(Vector3f.ZP.rotationDegrees(f3));
        }

        matrixStackIn.rotate(Vector3f.XP.rotationDegrees(activerenderinfo.getPitch()));
        matrixStackIn.rotate(Vector3f.YP.rotationDegrees(activerenderinfo.getYaw() + 180.0F));
        this.mc.worldRenderer.updateCameraAndRender(matrixStackIn, partialTicks, finishTimeNano, flag1, activerenderinfo, this, this.lightmapTexture, matrix4f);

        for (IBaritone ibaritone : BaritoneAPI.getProvider().getAllBaritones()) {
            ibaritone.getGameEventHandler().onRenderPass(new RenderEvent(partialTicks, matrixStackIn, matrix4f));
        }

        EventManager.call(new EventRender(partialTicks, matrixStackIn, mc.getMainWindow(), EventRender.Type.WORLD3D, matrix4f, activerenderinfo));

        if (Reflector.ForgeHooksClient_dispatchRenderLast.exists()) {
            this.mc.getProfiler().endStartSection("forge_render_last");
            Reflector.callVoid(Reflector.ForgeHooksClient_dispatchRenderLast, this.mc.worldRenderer, matrixStackIn, partialTicks, matrix4f, finishTimeNano);
        }

        this.mc.getProfiler().endStartSection("hand");

        if (this.renderHand && !Shaders.isShadowPass) {
            if (flag) {
                ShadersRender.renderHand1(this, matrixStackIn, activerenderinfo, partialTicks);
                Shaders.renderCompositeFinal();
            }

            RenderSystem.clear(256, Minecraft.IS_RUNNING_ON_MAC);

            if (flag) {
                ShadersRender.renderFPOverlay(this, matrixStackIn, activerenderinfo, partialTicks);
            } else {
                this.renderHand(matrixStackIn, activerenderinfo, partialTicks);
            }
        }

        if (flag) {
            Shaders.endRender();
        }

        this.mc.getProfiler().endSection();
    }
 

Вложения

  • 2025-07-13_22.28.09.png
    2025-07-13_22.28.09.png
    550 KB · Просмотры: 130
  • 2025-07-13_22.28.01.png
    2025-07-13_22.28.01.png
    715.8 KB · Просмотры: 119
  • 2025-07-13_22.27.54.png
    2025-07-13_22.27.54.png
    717.2 KB · Просмотры: 106
  • skull_state_0.png
    skull_state_0.png
    24.1 KB · Просмотры: 120
  • skull_state_1.png
    skull_state_1.png
    26.8 KB · Просмотры: 110
  • skull_state_2.png
    skull_state_2.png
    29.7 KB · Просмотры: 141
Последнее редактирование:
ну вроде норм ну пастерам думаю зайдет!
 
ну прикольно +rep
 
такой се
 
Назад
Сверху Снизу