Skip to content

Commit ddac72d

Browse files
committed
experimental stuff
1 parent 0b28b03 commit ddac72d

3 files changed

Lines changed: 17 additions & 18 deletions

File tree

src/main/java/net/torocraft/torohealth/display/BarDisplay.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.minecraft.client.MinecraftClient;
55
import net.minecraft.client.gl.ShaderProgramKeys;
66
import net.minecraft.client.gui.DrawContext;
7+
import net.minecraft.client.render.RenderLayer;
78
import net.minecraft.entity.LivingEntity;
89
import net.minecraft.util.Identifier;
910
import net.minecraft.util.math.MathHelper;
@@ -30,7 +31,9 @@ public void draw(DrawContext drawContext, LivingEntity entity) {
3031
RenderSystem.setShader(ShaderProgramKeys.POSITION_TEX);
3132
RenderSystem.enableBlend();
3233

33-
HealthBarRenderer.render(drawContext.getMatrices(), drawContext.getVertexConsumers(), entity, 63, 14, 130, false);
34+
drawContext.draw(vertexConsumerProvider -> {
35+
HealthBarRenderer.render(drawContext.getMatrices(), vertexConsumerProvider, entity, 63, 14, 130, false);
36+
});
3437
String name = getEntityName(entity);
3538
int healthMax = MathHelper.ceil(entity.getMaxHealth());
3639
int healthCur = Math.min(MathHelper.ceil(entity.getHealth()), healthMax);
@@ -58,10 +61,10 @@ public void draw(DrawContext drawContext, LivingEntity entity) {
5861
}
5962

6063
private void renderArmorIcon(DrawContext drawContext, int x, int y) {
61-
drawContext.drawGuiTexture(ARMOR_TEXTURE, x, y, 9, 9);
64+
drawContext.drawGuiTexture(RenderLayer::getGuiTextured, ARMOR_TEXTURE, x, y, 9, 9);
6265
}
6366

6467
private void renderHeartIcon(DrawContext drawContext, int x, int y) {
65-
drawContext.drawGuiTexture(HEART_TEXTURE, x, y, 9, 9);
68+
drawContext.drawGuiTexture(RenderLayer::getGuiTextured, HEART_TEXTURE, x, y, 9, 9);
6669
}
6770
}

src/main/java/net/torocraft/torohealth/display/EntityDisplay.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import com.mojang.blaze3d.systems.RenderSystem;
44
import net.minecraft.client.MinecraftClient;
5+
import net.minecraft.client.gui.DrawContext;
56
import net.minecraft.client.render.DiffuseLighting;
6-
import net.minecraft.client.render.VertexConsumerProvider;
77
import net.minecraft.client.render.entity.EntityRenderDispatcher;
88
import net.minecraft.client.util.math.MatrixStack;
99
import net.minecraft.entity.LivingEntity;
@@ -33,10 +33,10 @@ public void setEntity(LivingEntity entity) {
3333
updateScale();
3434
}
3535

36-
public void draw(MatrixStack matrix, float scale) {
36+
public void draw(DrawContext drawContext, MatrixStack matrix, float scale) {
3737
if (entity != null) {
3838
try {
39-
drawEntity(matrix, (int) xOffset, (int) yOffset, entityScale, -80, -20, entity, scale);
39+
drawEntity(drawContext, matrix, (int) xOffset, (int) yOffset, entityScale, -80, -20, entity, scale);
4040
} catch (Exception e) {
4141
e.printStackTrace();
4242
}
@@ -71,15 +71,14 @@ private void updateScale() {
7171
/**
7272
* copied from InventoryScreen.drawEntity() to expose the matrixStack
7373
*/
74-
public static void drawEntity(MatrixStack matrixStack2, int x, int y, int size, float mouseX,
75-
float mouseY, LivingEntity entity, float scale) {
74+
public static void drawEntity(DrawContext drawContext, MatrixStack matrixStack2, int x, int y, int size,
75+
float mouseX, float mouseY, LivingEntity entity, float scale) {
7676
float f = (float) Math.atan((double) (mouseX / 40.0F));
7777
float g = (float) Math.atan((double) (mouseY / 40.0F));
7878
Matrix4fStack matrixStack = RenderSystem.getModelViewStack();
7979
matrixStack.pushMatrix();
8080
matrixStack.translate(x * scale, y * scale, 1050.0F * scale);
8181
matrixStack.scale(1.0F, 1.0F, -1.0F);
82-
RenderSystem.applyModelViewMatrix();
8382
matrixStack2.push();
8483
matrixStack2.translate(0.0D, 0.0D, 1000.0D);
8584
matrixStack2.scale((float) size, (float) size, (float) size);
@@ -102,13 +101,10 @@ public static void drawEntity(MatrixStack matrixStack2, int x, int y, int size,
102101
quaternion2.conjugate();
103102
entityRenderDispatcher.setRotation(quaternion2);
104103
entityRenderDispatcher.setRenderShadows(false);
105-
VertexConsumerProvider.Immediate immediate =
106-
MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();
107-
RenderSystem.runAsFancy(() -> {
108-
entityRenderDispatcher.render(entity, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F, matrixStack2, immediate,
109-
15728880);
104+
drawContext.draw(vertexConsumerProvider -> {
105+
entityRenderDispatcher.render(entity, 0.0D, 0.0D, 0.0D, 1.0F, matrixStack2,
106+
vertexConsumerProvider, 15728880);
110107
});
111-
immediate.draw();
112108
entityRenderDispatcher.setRenderShadows(true);
113109
entity.bodyYaw = h;
114110
entity.setYaw(i);
@@ -117,7 +113,6 @@ public static void drawEntity(MatrixStack matrixStack2, int x, int y, int size,
117113
entity.headYaw = l;
118114
matrixStack.popMatrix();
119115
matrixStack2.pop();
120-
RenderSystem.applyModelViewMatrix();
121116
DiffuseLighting.enableGuiDepthLighting();
122117
}
123118

src/main/java/net/torocraft/torohealth/display/Hud.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.minecraft.client.MinecraftClient;
55
import net.minecraft.client.gui.DrawContext;
66
import net.minecraft.client.gui.screen.Screen;
7+
import net.minecraft.client.render.RenderLayer;
78
import net.minecraft.client.util.math.MatrixStack;
89
import net.minecraft.entity.LivingEntity;
910
import net.minecraft.text.*;
@@ -117,7 +118,7 @@ private void draw(DrawContext drawContext, float x, float y, float scale) {
117118
}
118119
matrix.translate(10, 10, 0);
119120
if (config.hud.showEntity) {
120-
entityDisplay.draw(matrix, scale);
121+
entityDisplay.draw(drawContext, matrix, scale);
121122
}
122123
matrix.translate(44, 0, 0);
123124
if (config.hud.showBar) {
@@ -129,6 +130,6 @@ private void draw(DrawContext drawContext, float x, float y, float scale) {
129130
private void drawSkin(DrawContext drawContext) {
130131
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
131132
int w = 160, h = 60;
132-
drawContext.drawTexture(BACKGROUND_TEXTURE, 0, 0, 0.0f, 0.0f, w, h, w, h);
133+
drawContext.drawTexture(RenderLayer::getGuiTextured, BACKGROUND_TEXTURE, 0, 0, 0.0f, 0.0f, w, h, w, h);
133134
}
134135
}

0 commit comments

Comments
 (0)