Skip to content

Commit 6b9a8a1

Browse files
committed
Render entity vertex buffer at the end of screen rendering
Fixes issues with mods which use the wrong buffer for GUI rendering Fixes #329
1 parent 90e8caa commit 6b9a8a1

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

common/src/main/java/net/raphimc/immediatelyfast/injection/mixins/core/MixinGameRenderer.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@
1717
*/
1818
package net.raphimc.immediatelyfast.injection.mixins.core;
1919

20+
import net.minecraft.client.MinecraftClient;
2021
import net.minecraft.client.render.BufferBuilderStorage;
2122
import net.minecraft.client.render.GameRenderer;
23+
import net.minecraft.client.render.RenderTickCounter;
2224
import net.minecraft.client.render.VertexConsumerProvider;
2325
import net.raphimc.immediatelyfast.feature.batching.BatchingBuffers;
2426
import org.spongepowered.asm.mixin.Mixin;
2527
import org.spongepowered.asm.mixin.injection.At;
28+
import org.spongepowered.asm.mixin.injection.Inject;
2629
import org.spongepowered.asm.mixin.injection.Redirect;
30+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2731

2832
@Mixin(GameRenderer.class)
2933
public abstract class MixinGameRenderer {
@@ -33,4 +37,9 @@ private VertexConsumerProvider.Immediate returnNonBatchingVertexConsumer(BufferB
3337
return BatchingBuffers.getNonBatchingEntityVertexConsumers();
3438
}
3539

40+
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;draw()V", shift = At.Shift.AFTER))
41+
private void drawDataFromModsWhichRenderIntoTheWrongBuffer(RenderTickCounter tickCounter, boolean tick, CallbackInfo ci) {
42+
MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers().draw();
43+
}
44+
3645
}

0 commit comments

Comments
 (0)