-
Автор темы
- #1
кароче таргет худ души с настройкой вооот такие пироги
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
TargetESP:
ackage wtf.oneway.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 net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.math.MathHelper;
import wtf.oneway.events.EventDisplay;
import wtf.oneway.events.WorldEvent;
import wtf.oneway.functions.api.Category;
import wtf.oneway.functions.api.Function;
import wtf.oneway.functions.api.FunctionRegister;
import wtf.oneway.functions.impl.combat.KillAura;
import wtf.oneway.functions.settings.impl.BooleanSetting;
import wtf.oneway.functions.settings.impl.ModeSetting;
import wtf.oneway.functions.settings.impl.SliderSetting;
import wtf.oneway.utils.math.MathUtil;
import wtf.oneway.utils.math.Vector4i;
import wtf.oneway.utils.projections.ProjectionUtil;
import wtf.oneway.utils.render.ColorUtils;
import wtf.oneway.utils.render.DisplayUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Quaternion;
import static org.lwjgl.opengl.GL11.GL_QUADS;
@FunctionRegister(name = "TargetESP", type = Category.Render)
public class TargetESP extends Function {
private final KillAura killAura;
public static final ModeSetting displayMode = new ModeSetting("НИГГАдяЙ", "Души");
private final SliderSetting soulEffectSize = new SliderSetting(
"Размер",
0.3f,
0.1f,
1.0f,
0.1f
).setVisible(() -> displayMode.is("Души"));
private final SliderSetting soulEffectAlpha = new SliderSetting(
"Альфа",
0.6f,
0.1f,
1.0f,
0.1f
).setVisible(() -> displayMode.is("Души"));
private final SliderSetting soulLength = new SliderSetting(
"Длинна душ",
0.4f,
0.1f,
10.0f,
0.1f
).setVisible(() -> displayMode.is("Души"));
public TargetESP(KillAura killAura) {
this.killAura = killAura;
addSettings(displayMode, soulEffectSize, soulEffectAlpha, soulLength);
}
@Subscribe
private void onDisplay(EventDisplay e) {
if (e.getType() != EventDisplay.Type.PRE) {
return;
}
if (displayMode.get().equals("Души")) {
return;
}
if (killAura.isState() && killAura.getTarget() != null) {
double sin = Math.sin(System.currentTimeMillis() / 1000.0);
float size = 150.0F;
Vector3d interpolated = killAura.getTarget().getPositon(e.getPartialTicks());
Vector2f pos = ProjectionUtil.project(interpolated.x, interpolated.y + killAura.getTarget().getHeight() / 2f, interpolated.z);
GlStateManager.pushMatrix();
GlStateManager.translatef(pos.x, pos.y, 0);
GlStateManager.translatef(-pos.x, -pos.y, 0);
GlStateManager.popMatrix();
}
}
private final long startTime = System.currentTimeMillis();
@subscribe
private void onWorldEvent(WorldEvent e) {
switch (displayMode.get()) {
case "Души":
if (killAura.isState() && killAura.getTarget() != 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 = killAura.getTarget().getPosX();
double y = killAura.getTarget().getPosY() + killAura.getTarget().getHeight() / 2f;
double z = killAura.getTarget().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(killAura.getTarget().getPositionVec(),
new Vector3d(killAura.getTarget().lastTickPosX, killAura.getTarget().lastTickPosY, killAura.getTarget().lastTickPosZ),
e.getPartialTicks());
interpolated.y += 0.75f;
ms.translate(interpolated.x + 0.2f, interpolated.y + 0.5f, interpolated.z);
mc.getTextureManager().bindTexture(new ResourceLocation("expensive/images/target6.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), 0, 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();
}
break;
}
}
}