aboutsummaryrefslogtreecommitdiff
path: root/utils/renderLib2d.js
diff options
context:
space:
mode:
authorSoopyboo32 <49228220+Soopyboo32@users.noreply.github.com>2022-09-17 19:39:05 +0800
committerSoopyboo32 <49228220+Soopyboo32@users.noreply.github.com>2022-09-17 19:39:05 +0800
commit431e4fc9d1657a50ebc34b8ac24f9bfaea06417f (patch)
tree5987bb14f38d2999c682970429f34b41eb3e5826 /utils/renderLib2d.js
parente73f2efdf0f50aa775c540317394d46428e9704f (diff)
downloadSoopyV2-431e4fc9d1657a50ebc34b8ac24f9bfaea06417f.tar.gz
SoopyV2-431e4fc9d1657a50ebc34b8ac24f9bfaea06417f.tar.bz2
SoopyV2-431e4fc9d1657a50ebc34b8ac24f9bfaea06417f.zip
Initial move to babel + change fetch to use async/await
Diffstat (limited to 'utils/renderLib2d.js')
-rw-r--r--utils/renderLib2d.js172
1 files changed, 0 insertions, 172 deletions
diff --git a/utils/renderLib2d.js b/utils/renderLib2d.js
deleted file mode 100644
index 30ac28f..0000000
--- a/utils/renderLib2d.js
+++ /dev/null
@@ -1,172 +0,0 @@
-
-//--------------------------------------------------------------------------
-// CODE BY DJtheRedstoner
-// IM COPYING THIS BECAUSE THE UPLOADED VERSION IS FOR
-// CT 2.0.0 ONLY
-//
-// Edit: iv added some features to this so might keep as is
-//--------------------------------------------------------------------------
-
-import { f, m } from "../../mappings/mappings";
-
-
-const BufferUtils = org.lwjgl.BufferUtils;
-const Project = org.lwjgl.util.glu.Project;
-
-const modelViewMatrix = BufferUtils.createFloatBuffer(16);
-const projectionMatrix = BufferUtils.createFloatBuffer(16);
-const viewportDims = BufferUtils.createIntBuffer(16);
-
-if(!GlStateManager){
- var GL11 = Java.type("org.lwjgl.opengl.GL11"); //using var so it goes to global scope
- var GlStateManager = Java.type("net.minecraft.client.renderer.GlStateManager");
-}
-
-const ScaledResolution = net.minecraft.client.gui.ScaledResolution;
-
-const AxisAlignedBB = Java.type("net.minecraft.util.AxisAlignedBB")
-
-register('renderWorld', () => {
- GlStateManager[m.pushMatrix]();
-
- let x = Player.getX();
- let y = Player.getY();
- let z = Player.getZ();
-
- Tessellator.translate(-x, -y, -z);
-
- GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, modelViewMatrix);
- GL11.glGetFloat(GL11.GL_PROJECTION_MATRIX, projectionMatrix);
-
- GlStateManager[m.popMatrix]();
-
- GL11.glGetInteger(GL11.GL_VIEWPORT, viewportDims);
-});
-
-export default class RenderLib2D {
- // Utils
-
- // Original made by DJtheRedstoner
- static projectPoint = (posX, posY, posZ) => {
- const coords = BufferUtils.createFloatBuffer(3);
- const success = Project.gluProject(
- posX,
- posY,
- posZ,
- modelViewMatrix,
- projectionMatrix,
- viewportDims,
- coords
- );
-
- const z = coords.get(2);
- if (!success || !(z > 0 && z < 1)) return null;
-
- const sr = new ScaledResolution(Client.getMinecraft());
-
- const x = coords.get(0) / sr[m.getScaleFactor](); // getScaleFactor
- let y = coords.get(1) / sr[m.getScaleFactor](); // getScaleFactor
- // OpenGL starts at bottom left, mc starts at top left
- y = sr[m.getScaledHeight]() - y; // getScaledHeight
-
- return { x, y, z };
- }
-
- static drawLine(x1, y1, z1, x2, y2, z2, color, thickness=1) {
- let pos1 = RenderLib2D.projectPoint(x1, y1, z1);
- let pos2 = RenderLib2D.projectPoint(x2, y2, z2);
-
- if(!pos1 || !pos2) return;
-
- let {x, y} = pos1
- let {x:ox, y:oy} = pos2
-
- // console.log(x, y, ox, oy, thickness)
- Renderer.drawLine(color, x, y, ox, oy, thickness);
- }
-
- // Original made by DJtheRedstoner
- static calculateBoundingBox = (box) => {
- let vertices = RenderLib2D.getVertices(box);
-
- let x1 = java.lang.Float.MAX_VALUE;
- let x2 = 0;
- let y1 = java.lang.Float.MAX_VALUE;
- let y2 = 0;
-
- vertices.forEach(vertex => {
- let vec = RenderLib2D.projectPoint(vertex.x, vertex.y, vertex.z);
- if (vec == null) return null;
-
- let x = vec.x;
- let y = vec.y;
-
- if (x < x1) x1 = x;
- if (x > x2) x2 = x;
- if (y < y1) y1 = y;
- if (y > y2) y2 = y;
- });
-
- return { x1, y1, x2, y2 };
- }
-
- static getVertices = (box) => {
- let list = [];
-
- list.push({ x: box[f.minX.AxisAlignedBB], y: box[f.minY.AxisAlignedBB], z: box[f.minZ.AxisAlignedBB] });
- list.push({ x: box[f.maxX.AxisAlignedBB], y: box[f.minY.AxisAlignedBB], z: box[f.minZ.AxisAlignedBB] });
- list.push({ x: box[f.maxX.AxisAlignedBB], y: box[f.maxY.AxisAlignedBB], z: box[f.minZ.AxisAlignedBB] });
- list.push({ x: box[f.minX.AxisAlignedBB], y: box[f.maxY.AxisAlignedBB], z: box[f.minZ.AxisAlignedBB] });
- list.push({ x: box[f.minX.AxisAlignedBB], y: box[f.minY.AxisAlignedBB], z: box[f.maxZ.AxisAlignedBB] });
- list.push({ x: box[f.maxX.AxisAlignedBB], y: box[f.minY.AxisAlignedBB], z: box[f.maxZ.AxisAlignedBB] });
- list.push({ x: box[f.maxX.AxisAlignedBB], y: box[f.maxY.AxisAlignedBB], z: box[f.maxZ.AxisAlignedBB] });
- list.push({ x: box[f.minX.AxisAlignedBB], y: box[f.maxY.AxisAlignedBB], z: box[f.maxZ.AxisAlignedBB] });
-
- return list;
- }
-
- // Rendering Functions
-
- static drawNameTag = (vec, string) => {
- if (vec === null) return;
-
- Renderer.drawStringWithShadow(string, vec.x - Renderer.getStringWidth(string) / 2, vec.y);
- }
-
- static draw2DESP = (aabb, color, thickness) => {
- let bb = RenderLib2D.calculateBoundingBox(aabb);
-
- Renderer.drawLine(color, bb.x1, bb.y1, bb.x1, bb.y2, thickness);
- Renderer.drawLine(color, bb.x1, bb.y1, bb.x2, bb.y1, thickness);
- Renderer.drawLine(color, bb.x2, bb.y2, bb.x2, bb.y1, thickness);
- Renderer.drawLine(color, bb.x2, bb.y2, bb.x1, bb.y2, thickness);
- }
-
- static draw3DESP = (aabb, color, thickness) => {
- let vertices = RenderLib2D.getVertices(aabb);
- let projected = [];
-
- vertices.forEach(vertex => {
- let vec = RenderLib2D.projectPoint(vertex.x, vertex.y, vertex.z);
- if (vec == null) return null;
- projected.push(vec);
- });
-
- if (projected[0] && projected[1]) Renderer.drawLine(color, projected[0].x, projected[0].y, projected[1].x, projected[1].y, thickness);
- if (projected[0] && projected[4]) Renderer.drawLine(color, projected[0].x, projected[0].y, projected[4].x, projected[4].y, thickness);
- if (projected[5] && projected[1]) Renderer.drawLine(color, projected[5].x, projected[5].y, projected[1].x, projected[1].y, thickness);
- if (projected[5] && projected[4]) Renderer.drawLine(color, projected[5].x, projected[5].y, projected[4].x, projected[4].y, thickness);
- if (projected[3] && projected[2]) Renderer.drawLine(color, projected[3].x, projected[3].y, projected[2].x, projected[2].y, thickness);
- if (projected[3] && projected[7]) Renderer.drawLine(color, projected[3].x, projected[3].y, projected[7].x, projected[7].y, thickness);
- if (projected[6] && projected[2]) Renderer.drawLine(color, projected[6].x, projected[6].y, projected[2].x, projected[2].y, thickness);
- if (projected[6] && projected[7]) Renderer.drawLine(color, projected[6].x, projected[6].y, projected[7].x, projected[7].y, thickness);
- if (projected[1] && projected[2]) Renderer.drawLine(color, projected[1].x, projected[1].y, projected[2].x, projected[2].y, thickness);
- if (projected[0] && projected[3]) Renderer.drawLine(color, projected[0].x, projected[0].y, projected[3].x, projected[3].y, thickness);
- if (projected[4] && projected[7]) Renderer.drawLine(color, projected[4].x, projected[4].y, projected[7].x, projected[7].y, thickness);
- if (projected[5] && projected[6]) Renderer.drawLine(color, projected[5].x, projected[5].y, projected[6].x, projected[6].y, thickness);
- }
-
- static getBlockAABB = (x, y, z) => {
- return new AxisAlignedBB(x, y, z, x + 1, y + 1, z + 1);
- }
-}