Skip to content

Commit 11eceb2

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 899c978 commit 11eceb2

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)