Render3DUtils cleanup

This commit is contained in:
Cloudburst
2021-06-02 22:02:05 +02:00
parent 33169c1681
commit fb0025d933
2 changed files with 39 additions and 39 deletions

View File

@@ -40,7 +40,7 @@ public class SkeletonESP extends Module {
private void onRender(RenderEvent event) { private void onRender(RenderEvent event) {
MatrixStack matrixStack = event.matrices; MatrixStack matrixStack = event.matrices;
float g = event.tickDelta; float g = event.tickDelta;
Render3DUtils.INSTANCE.setup3DRender(true); Render3DUtils.setup3DRender(true);
mc.world.getEntities().forEach(entity -> { mc.world.getEntities().forEach(entity -> {
if (!(entity instanceof PlayerEntity)) return; if (!(entity instanceof PlayerEntity)) return;
if (mc.options.getPerspective() == Perspective.FIRST_PERSON && (Entity)mc.player == entity) return; if (mc.options.getPerspective() == Perspective.FIRST_PERSON && (Entity)mc.player == entity) return;
@@ -48,7 +48,7 @@ public class SkeletonESP extends Module {
Color skeletonColor = PlayerUtils.getPlayerColor((PlayerEntity)entity, skeletonColorSetting.get()); Color skeletonColor = PlayerUtils.getPlayerColor((PlayerEntity)entity, skeletonColorSetting.get());
PlayerEntity playerEntity = (PlayerEntity) entity; PlayerEntity playerEntity = (PlayerEntity) entity;
Vec3d footPos = Render3DUtils.INSTANCE.getEntityRenderPosition(playerEntity, g); Vec3d footPos = Render3DUtils.getEntityRenderPosition(playerEntity, g);
PlayerEntityRenderer livingEntityRenderer = (PlayerEntityRenderer)(LivingEntityRenderer) mc.getEntityRenderDispatcher().getRenderer(playerEntity); PlayerEntityRenderer livingEntityRenderer = (PlayerEntityRenderer)(LivingEntityRenderer) mc.getEntityRenderDispatcher().getRenderer(playerEntity);
PlayerEntityModel playerEntityModel = (PlayerEntityModel)livingEntityRenderer.getModel(); PlayerEntityModel playerEntityModel = (PlayerEntityModel)livingEntityRenderer.getModel();
@@ -131,7 +131,7 @@ public class SkeletonESP extends Module {
matrixStack.multiply(new Quaternion(new Vector3f(0, 1, 0), playerEntity.bodyYaw + 180, true)); matrixStack.multiply(new Quaternion(new Vector3f(0, 1, 0), playerEntity.bodyYaw + 180, true));
matrixStack.translate(-footPos.x, -footPos.y, -footPos.z); matrixStack.translate(-footPos.x, -footPos.y, -footPos.z);
}); });
Render3DUtils.INSTANCE.end3DRender(); Render3DUtils.end3DRender();
} }
private void rotate(MatrixStack matrix, ModelPart modelPart) { private void rotate(MatrixStack matrix, ModelPart modelPart) {

View File

@@ -14,51 +14,51 @@ import net.minecraft.util.shape.VoxelShape;
import net.minecraft.util.shape.VoxelShapes; import net.minecraft.util.shape.VoxelShapes;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
public class Render3DUtils {
public enum Render3DUtils { private final static MinecraftClient mc = MinecraftClient.getInstance();
INSTANCE;
public Vec3d getEntityRenderPosition(Entity entity, double partial) { public static Vec3d getEntityRenderPosition(Entity entity, double partial) {
double x = entity.prevX + ((entity.getX() - entity.prevX) * partial) - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().x; double x = entity.prevX + ((entity.getX() - entity.prevX) * partial) - mc.getEntityRenderDispatcher().camera.getPos().x;
double y = entity.prevY + ((entity.getY() - entity.prevY) * partial) - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().y; double y = entity.prevY + ((entity.getY() - entity.prevY) * partial) - mc.getEntityRenderDispatcher().camera.getPos().y;
double z = entity.prevZ + ((entity.getZ() - entity.prevZ) * partial) - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().z; double z = entity.prevZ + ((entity.getZ() - entity.prevZ) * partial) - mc.getEntityRenderDispatcher().camera.getPos().z;
return new Vec3d(x, y, z); return new Vec3d(x, y, z);
} }
public Vec3d getRenderPosition(double x, double y, double z) { public static Vec3d getRenderPosition(double x, double y, double z) {
double minX = x - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().x; double minX = x - mc.getEntityRenderDispatcher().camera.getPos().x;
double minY = y - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().y; double minY = y - mc.getEntityRenderDispatcher().camera.getPos().y;
double minZ = z - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().z; double minZ = z - mc.getEntityRenderDispatcher().camera.getPos().z;
return new Vec3d(minX, minY, minZ); return new Vec3d(minX, minY, minZ);
} }
public Vec3d getRenderPosition(Vec3d vec3d) { public static Vec3d getRenderPosition(Vec3d vec3d) {
double minX = vec3d.getX() - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().x; double minX = vec3d.getX() - mc.getEntityRenderDispatcher().camera.getPos().x;
double minY = vec3d.getY() - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().y; double minY = vec3d.getY() - mc.getEntityRenderDispatcher().camera.getPos().y;
double minZ = vec3d.getZ() - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().z; double minZ = vec3d.getZ() - mc.getEntityRenderDispatcher().camera.getPos().z;
return new Vec3d(minX, minY, minZ); return new Vec3d(minX, minY, minZ);
} }
public Vec3d getRenderPosition(BlockPos blockPos) { public static Vec3d getRenderPosition(BlockPos blockPos) {
double minX = blockPos.getX() - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().x; double minX = blockPos.getX() - mc.getEntityRenderDispatcher().camera.getPos().x;
double minY = blockPos.getY() - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().y; double minY = blockPos.getY() - mc.getEntityRenderDispatcher().camera.getPos().y;
double minZ = blockPos.getZ() - MinecraftClient.getInstance().getEntityRenderDispatcher().camera.getPos().z; double minZ = blockPos.getZ() - mc.getEntityRenderDispatcher().camera.getPos().z;
return new Vec3d(minX, minY, minZ); return new Vec3d(minX, minY, minZ);
} }
public void fixCameraRots() { public static void fixCameraRots() {
Camera camera = MinecraftClient.getInstance().getEntityRenderDispatcher().camera; Camera camera = mc.getEntityRenderDispatcher().camera;
GL11.glRotated(-MathHelper.wrapDegrees(camera.getYaw() + 180.0D), 0.0D, 1.0D, 0.0D); GL11.glRotated(-MathHelper.wrapDegrees(camera.getYaw() + 180.0D), 0.0D, 1.0D, 0.0D);
GL11.glRotated(-MathHelper.wrapDegrees(camera.getPitch()), 1.0D, 0.0D, 0.0D); GL11.glRotated(-MathHelper.wrapDegrees(camera.getPitch()), 1.0D, 0.0D, 0.0D);
} }
public void applyCameraRots() { public static void applyCameraRots() {
Camera camera = MinecraftClient.getInstance().getEntityRenderDispatcher().camera; Camera camera = mc.getEntityRenderDispatcher().camera;
GL11.glRotated(MathHelper.wrapDegrees(camera.getPitch()), 1.0D, 0.0D, 0.0D); GL11.glRotated(MathHelper.wrapDegrees(camera.getPitch()), 1.0D, 0.0D, 0.0D);
GL11.glRotated(MathHelper.wrapDegrees(camera.getYaw() + 180.0D), 0.0D, 1.0D, 0.0D); GL11.glRotated(MathHelper.wrapDegrees(camera.getYaw() + 180.0D), 0.0D, 1.0D, 0.0D);
} }
public void setup3DRender(boolean disableDepth) { public static void setup3DRender(boolean disableDepth) {
RenderSystem.disableTexture(); RenderSystem.disableTexture();
RenderSystem.enableBlend(); RenderSystem.enableBlend();
RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SrcFactor.ONE, GlStateManager.DstFactor.ZERO); RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SrcFactor.ONE, GlStateManager.DstFactor.ZERO);
@@ -68,7 +68,7 @@ public enum Render3DUtils {
RenderSystem.enableCull(); RenderSystem.enableCull();
} }
public void end3DRender() { public static void end3DRender() {
RenderSystem.enableTexture(); RenderSystem.enableTexture();
RenderSystem.disableCull(); RenderSystem.disableCull();
RenderSystem.disableBlend(); RenderSystem.disableBlend();
@@ -76,7 +76,7 @@ public enum Render3DUtils {
RenderSystem.depthMask(true); RenderSystem.depthMask(true);
} }
public void drawSphere(MatrixStack matrixStack, float radius, int gradation, Color color, boolean testDepth, Vec3d pos) { public static void drawSphere(MatrixStack matrixStack, float radius, int gradation, Color color, boolean testDepth, Vec3d pos) {
Matrix4f matrix4f = matrixStack.peek().getModel(); Matrix4f matrix4f = matrixStack.peek().getModel();
final float PI = 3.141592f; final float PI = 3.141592f;
float x, y, z, alpha, beta; float x, y, z, alpha, beta;
@@ -88,12 +88,12 @@ public enum Render3DUtils {
x = (float) (pos.getX() + (radius * Math.cos(beta) * Math.sin(alpha))); x = (float) (pos.getX() + (radius * Math.cos(beta) * Math.sin(alpha)));
y = (float) (pos.getY() + (radius * Math.sin(beta) * Math.sin(alpha))); y = (float) (pos.getY() + (radius * Math.sin(beta) * Math.sin(alpha)));
z = (float) (pos.getZ() + (radius * Math.cos(alpha))); z = (float) (pos.getZ() + (radius * Math.cos(alpha)));
Vec3d renderPos = Render3DUtils.INSTANCE.getRenderPosition(x, y, z); Vec3d renderPos = Render3DUtils.getRenderPosition(x, y, z);
bufferBuilder.vertex(matrix4f, (float)renderPos.x, (float)renderPos.y, (float)renderPos.z).color(color.r, color.g, color.b, color.a).next(); bufferBuilder.vertex(matrix4f, (float)renderPos.x, (float)renderPos.y, (float)renderPos.z).color(color.r, color.g, color.b, color.a).next();
x = (float) (pos.getX() + (radius * Math.cos(beta) * Math.sin(alpha + PI / gradation))); x = (float) (pos.getX() + (radius * Math.cos(beta) * Math.sin(alpha + PI / gradation)));
y = (float) (pos.getY() + (radius * Math.sin(beta) * Math.sin(alpha + PI / gradation))); y = (float) (pos.getY() + (radius * Math.sin(beta) * Math.sin(alpha + PI / gradation)));
z = (float) (pos.getZ() + (radius * Math.cos(alpha + PI / gradation))); z = (float) (pos.getZ() + (radius * Math.cos(alpha + PI / gradation)));
renderPos = Render3DUtils.INSTANCE.getRenderPosition(x, y, z); renderPos = Render3DUtils.getRenderPosition(x, y, z);
bufferBuilder.vertex(matrix4f, (float)renderPos.x, (float)renderPos.y, (float)renderPos.z).color(color.r, color.g, color.b, color.a).next(); bufferBuilder.vertex(matrix4f, (float)renderPos.x, (float)renderPos.y, (float)renderPos.z).color(color.r, color.g, color.b, color.a).next();
} }
bufferBuilder.end(); bufferBuilder.end();
@@ -102,7 +102,7 @@ public enum Render3DUtils {
end3DRender(); end3DRender();
} }
public void drawBox(MatrixStack matrixStack, Box bb, Color color) { public static void drawBox(MatrixStack matrixStack, Box bb, Color color) {
setup3DRender(true); setup3DRender(true);
drawFilledBox(matrixStack, bb, color); drawFilledBox(matrixStack, bb, color);
RenderSystem.lineWidth(1); RenderSystem.lineWidth(1);
@@ -110,26 +110,26 @@ public enum Render3DUtils {
end3DRender(); end3DRender();
} }
public void drawBoxOutline(MatrixStack matrixStack, Box bb, Color color) { public static void drawBoxOutline(MatrixStack matrixStack, Box bb, Color color) {
setup3DRender(true); setup3DRender(true);
RenderSystem.lineWidth(1); RenderSystem.lineWidth(1);
drawOutlineBox(matrixStack, bb, color); drawOutlineBox(matrixStack, bb, color);
end3DRender(); end3DRender();
} }
public void drawBoxInside(MatrixStack matrixStack, Box bb, Color color) { public static void drawBoxInside(MatrixStack matrixStack, Box bb, Color color) {
setup3DRender(true); setup3DRender(true);
drawFilledBox(matrixStack, bb, color); drawFilledBox(matrixStack, bb, color);
end3DRender(); end3DRender();
} }
public void drawEntityBox(MatrixStack matrixStack, Entity entity, float partialTicks, Color color) { public static void drawEntityBox(MatrixStack matrixStack, Entity entity, float partialTicks, Color color) {
Vec3d renderPos = getEntityRenderPosition(entity, partialTicks); Vec3d renderPos = getEntityRenderPosition(entity, partialTicks);
drawEntityBox(matrixStack, entity, renderPos.x, renderPos.y, renderPos.z, color); drawEntityBox(matrixStack, entity, renderPos.x, renderPos.y, renderPos.z, color);
} }
public void drawEntityBox(MatrixStack matrixStack, Entity entity, double x, double y, double z, Color color) { public static void drawEntityBox(MatrixStack matrixStack, Entity entity, double x, double y, double z, Color color) {
float yaw = MathHelper.lerpAngleDegrees(MinecraftClient.getInstance().getTickDelta(), entity.prevYaw, entity.yaw); float yaw = MathHelper.lerpAngleDegrees(mc.getTickDelta(), entity.prevYaw, entity.yaw);
setup3DRender(true); setup3DRender(true);
matrixStack.translate(x, y, z); matrixStack.translate(x, y, z);
matrixStack.multiply(new Quaternion(new Vector3f(0, -1, 0), yaw, true)); matrixStack.multiply(new Quaternion(new Vector3f(0, -1, 0), yaw, true));
@@ -149,11 +149,11 @@ public enum Render3DUtils {
matrixStack.translate(-x, -y, -z); matrixStack.translate(-x, -y, -z);
} }
public double interpolate(final double now, final double then, final double percent) { public static double interpolate(final double now, final double then, final double percent) {
return (then + (now - then) * percent); return (then + (now - then) * percent);
} }
public void drawFilledBox(MatrixStack matrixStack, Box bb, Color color) { public static void drawFilledBox(MatrixStack matrixStack, Box bb, Color color) {
Matrix4f matrix4f = matrixStack.peek().getModel(); Matrix4f matrix4f = matrixStack.peek().getModel();
BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer(); BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer();
@@ -198,7 +198,7 @@ public enum Render3DUtils {
BufferRenderer.draw(bufferBuilder); BufferRenderer.draw(bufferBuilder);
} }
public void drawOutlineBox(MatrixStack matrixStack, Box bb, Color color) { public static void drawOutlineBox(MatrixStack matrixStack, Box bb, Color color) {
Matrix4f matrix4f = matrixStack.peek().getModel(); Matrix4f matrix4f = matrixStack.peek().getModel();
BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer(); BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer();