aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-07-22 14:43:00 +0800
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-08-18 18:05:10 +0800
commitfc65ff5b469fb384d2df422a5a6d8437012a819b (patch)
tree0b967fa17e1f791b9efc9c630d54546fcc14a615 /src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
parent6069d3cf7d2e96ca7ef1975a3dd04e2121a6e3c9 (diff)
downloadSkyblocker-fc65ff5b469fb384d2df422a5a6d8437012a819b.tar.gz
Skyblocker-fc65ff5b469fb384d2df422a5a6d8437012a819b.tar.bz2
Skyblocker-fc65ff5b469fb384d2df422a5a6d8437012a819b.zip
Refactor utils package
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java151
1 files changed, 0 insertions, 151 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
deleted file mode 100644
index 79ec18e9..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package me.xmrvizzy.skyblocker.utils;
-
-/*
- * This file is part of the MacHack distribution (https://github.com/BleachDrinker420/bleachhack-1.14/).
- * Copyright (c) 2019 Bleach.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.render.*;
-import net.minecraft.client.render.model.json.ModelTransformationMode;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.item.ItemStack;
-import net.minecraft.text.Text;
-import net.minecraft.util.math.RotationAxis;
-import org.apache.commons.lang3.reflect.FieldUtils;
-import org.joml.Vector3f;
-
-import java.lang.reflect.Field;
-
-public class RenderUtilsLiving {
-
- private static final MinecraftClient mc = MinecraftClient.getInstance();
- private static Field shaderLightField;
-
- /** Draws text in the world. **/
- public static void drawText(Text text, double x, double y, double z, double scale, boolean shadow) {
- drawText(text, x, y, z, 0, 0, scale, shadow);
- }
-
- /** Draws text in the world. **/
- public static void drawText(Text text, double x, double y, double z, double offX, double offY, double scale, boolean fill) {
- MatrixStack matrices = matrixFrom(x, y, z);
-
- Camera camera = mc.gameRenderer.getCamera();
- // matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(-camera.getYaw()));
- matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(-camera.getYaw()));
- // matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(camera.getPitch()));
- matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(camera.getPitch()));
-
- RenderSystem.enableBlend();
- RenderSystem.defaultBlendFunc();
-
- matrices.translate(offX, offY, 0);
- matrices.scale(-0.025f * (float) scale, -0.025f * (float) scale, 1);
-
- int halfWidth = mc.textRenderer.getWidth(text) / 2;
-
- VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer());
-
- if (fill) {
- int opacity = (int) (MinecraftClient.getInstance().options.getTextBackgroundOpacity(0.25F) * 255.0F) << 24;
- mc.textRenderer.draw(text, -halfWidth, 0f, 553648127, false, matrices.peek().getPositionMatrix(), immediate, TextRenderer.TextLayerType.NORMAL, opacity, 0xf000f0);
- immediate.draw();
- } else {
- matrices.push();
- matrices.translate(1, 1, 0);
- mc.textRenderer.draw(text.copyContentOnly(), -halfWidth, 0f, 0x202020, false, matrices.peek().getPositionMatrix(), immediate, TextRenderer.TextLayerType.NORMAL, 0, 0xf000f0);
- immediate.draw();
- matrices.pop();
- }
-
- mc.textRenderer.draw(text, -halfWidth, 0f, -1, false, matrices.peek().getPositionMatrix(), immediate, TextRenderer.TextLayerType.NORMAL, 0, 0xf000f0);
- immediate.draw();
-
- RenderSystem.disableBlend();
- }
-
- /** Draws a 2D gui items somewhere in the world. **/
- public static void drawGuiItem(double x, double y, double z, double offX, double offY, double scale, ItemStack item) {
- if (item.isEmpty()) {
- return;
- }
-
- MatrixStack matrices = matrixFrom(x, y, z);
-
- Camera camera = mc.gameRenderer.getCamera();
- // matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(-camera.getYaw()));
- matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(-camera.getYaw()));
- // matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(camera.getPitch()));
- matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(camera.getPitch()));
-
- matrices.translate(offX, offY, 0);
- matrices.scale((float) scale, (float) scale, 0.001f);
-
- // matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(180f));
- matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(180f));
-
- //mc.getBufferBuilders().getEntityVertexConsumers().draw();
-
- RenderSystem.enableBlend();
- RenderSystem.defaultBlendFunc();
-
- // Vec3f[] currentLight = getCurrentLight();
- Vector3f[] currentLight = getCurrentLight();
- DiffuseLighting.disableGuiDepthLighting();
-
- mc.getBufferBuilders().getEntityVertexConsumers().draw();
-
- mc.getItemRenderer().renderItem(item, ModelTransformationMode.GUI, 0xF000F0,
- OverlayTexture.DEFAULT_UV, matrices, mc.getBufferBuilders().getEntityVertexConsumers(), mc.world, 0);
-
- mc.getBufferBuilders().getEntityVertexConsumers().draw();
-
- RenderSystem.setShaderLights(currentLight[0], currentLight[1]);
- RenderSystem.disableBlend();
- }
-
- public static MatrixStack matrixFrom(double x, double y, double z) {
- MatrixStack matrices = new MatrixStack();
-
- Camera camera = mc.gameRenderer.getCamera();
- // matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(camera.getPitch()));
- matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(camera.getPitch()));
- // matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(camera.getYaw() + 180.0F));
- matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(camera.getYaw() + 180.0F));
-
- matrices.translate(x - camera.getPos().x, y - camera.getPos().y, z - camera.getPos().z);
-
- return matrices;
- }
-
- // public static Vec3f[] getCurrentLight() {
- public static Vector3f[] getCurrentLight() {
- if (shaderLightField == null) {
- shaderLightField = FieldUtils.getField(RenderSystem.class, "shaderLightDirections", true);
- }
-
- try {
- // return (Vec3f[]) shaderLightField.get(null);
- return (Vector3f[]) shaderLightField.get(null);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-} \ No newline at end of file