1414import org .jetbrains .annotations .Nullable ;
1515import org .spongepowered .asm .mixin .Final ;
1616import org .spongepowered .asm .mixin .Mixin ;
17- import org .spongepowered .asm .mixin .Overwrite ;
1817import org .spongepowered .asm .mixin .Shadow ;
1918import org .spongepowered .asm .mixin .injection .At ;
19+ import org .spongepowered .asm .mixin .injection .Inject ;
2020import org .spongepowered .asm .mixin .injection .Redirect ;
21+ import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
2122
2223@ Mixin (GuiRenderer .class )
2324public abstract class GuiRendererMixin {
2425
2526 @ Shadow @ Final private GuiRenderState renderState ;
2627 @ Shadow private @ Nullable GpuTextureView itemsAtlasView ;
2728
28- @ Overwrite
29- private void submitBlitFromItemAtlas (GuiItemRenderState guiItemRenderState , float u , float v , int size , int atlasSize ) {
29+ @ Inject (method = "submitBlitFromItemAtlas" , at = @ At ("HEAD" ), cancellable = true )
30+ private void submitBlitFromItemAtlas (GuiItemRenderState guiItemRenderState , float u , float v , int size , int atlasSize ,
31+ CallbackInfo ci ) {
3032 v = 1.0f - v ;
3133 float u1 = u + (float )size / atlasSize ;
3234 float v1 = v + (float )(size ) / atlasSize ;
@@ -49,6 +51,8 @@ private void submitBlitFromItemAtlas(GuiItemRenderState guiItemRenderState, floa
4951 null
5052 )
5153 );
54+
55+ ci .cancel ();
5256 }
5357
5458 @ Redirect (method = "executeDraw" , at = @ At (value = "INVOKE" , target = "Lcom/mojang/blaze3d/systems/RenderPass;setIndexBuffer(Lcom/mojang/blaze3d/buffers/GpuBuffer;Lcom/mojang/blaze3d/vertex/VertexFormat$IndexType;)V" ))
0 commit comments