Skip to content

Commit

Permalink
Fixed a render bug with goggles item
Browse files Browse the repository at this point in the history
  • Loading branch information
Edivad99 committed Feb 16, 2024
1 parent 22f1bb3 commit 02a209a
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 12 deletions.
4 changes: 3 additions & 1 deletion src/main/java/mods/railcraft/client/ClientManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,9 @@ static void handleClientTick(TickEvent.ClientTickEvent event) {

@SubscribeEvent
static void handleRenderWorldLast(RenderLevelStageEvent event) {
shuntingAuraRenderer.render(event.getPoseStack(), event.getCamera(), event.getPartialTick());
if (event.getStage() == RenderLevelStageEvent.Stage.AFTER_ENTITIES) {
shuntingAuraRenderer.render(event.getPoseStack(), event.getCamera(), event.getPartialTick());
}
}

@SubscribeEvent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,15 @@ public void render(PoseStack poseStack, Camera mainCamera, float partialTick) {
var projectedView = mainCamera.getPosition();
poseStack.translate(-projectedView.x, -projectedView.y, -projectedView.z);

var level = player.level();
var bufferSource = Minecraft.getInstance().renderBuffers().bufferSource();
for (var linkedCart : this.linkedCarts) {
var entity = player.level().getEntity(linkedCart.entityId());
var entity = level.getEntity(linkedCart.entityId());
if (!(entity instanceof AbstractMinecart cart) || linkedCart.trainId() == null) {
continue;
}

var consumer =
Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.lines());
var consumer = bufferSource.getBuffer(RenderType.lines());
var pose = poseStack.last();

final int color = linkedCart.trainId().hashCode();
Expand All @@ -60,24 +61,25 @@ public void render(PoseStack poseStack, Camera mainCamera, float partialTick) {
final float cartY = (float) cartPosition.y();
final float cartZ = (float) cartPosition.z();

var matrix4f = pose.pose();
var matrix3f = pose.normal();
consumer
.vertex(pose.pose(), cartX, cartY, cartZ)
.vertex(matrix4f, cartX, cartY, cartZ)
.color(red, green, blue, 1)
.normal(pose.normal(), 0, 0, 0)
.normal(matrix3f, 0, 0, 0)
.endVertex();

consumer
.vertex(pose.pose(), cartX, cartY + 2, cartZ)
.vertex(matrix4f, cartX, cartY + 2, cartZ)
.color(red, green, blue, 1)
.normal(pose.normal(), 0, 0, 0)
.normal(matrix3f, 0, 0, 0)
.endVertex();

this.renderLink(player.level(), cartX, cartY, cartZ, linkedCart.linkAId(), red,
this.renderLink(level, cartX, cartY, cartZ, linkedCart.linkAId(), red,
green, blue, partialTick, consumer, pose);
this.renderLink(player.level(), cartX, cartY, cartZ, linkedCart.linkBId(), red,
this.renderLink(level, cartX, cartY, cartZ, linkedCart.linkBId(), red,
green, blue, partialTick, consumer, pose);

Minecraft.getInstance().renderBuffers().bufferSource().endBatch();
bufferSource.endBatch();
}
poseStack.popPose();
}
Expand Down

0 comments on commit 02a209a

Please sign in to comment.