22
33import net .fabricmc .loader .api .FabricLoader ;
44import net .minecraft .client .MinecraftClient ;
5- import net .minecraft .client .font .TextRenderer ;
6- import net .minecraft .client .render .VertexConsumerProvider ;
7- import net .minecraft .client .render .entity .EntityRenderDispatcher ;
5+ import net .minecraft .client .render .command .OrderedRenderCommandQueue ;
86import net .minecraft .client .render .entity .EntityRenderer ;
97import net .minecraft .client .render .entity .state .EntityRenderState ;
8+ import net .minecraft .client .render .state .CameraRenderState ;
109import net .minecraft .client .util .math .MatrixStack ;
1110import net .minecraft .entity .Entity ;
1211import net .minecraft .entity .EntityAttachmentType ;
1312import net .minecraft .text .Text ;
14- import net .minecraft .util .Colors ;
1513import net .minecraft .util .Formatting ;
16- import net .minecraft .util .math .Vec3d ;
17- import org .spongepowered .asm .mixin .Final ;
1814import org .spongepowered .asm .mixin .Mixin ;
19- import org .spongepowered .asm .mixin .Shadow ;
2015import org .spongepowered .asm .mixin .injection .At ;
2116import org .spongepowered .asm .mixin .injection .Inject ;
2217import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
2318import us .potatoboy .petowner .client .PetOwnerClient ;
24- import org .joml .Matrix4f ;
2519import us .potatoboy .petowner .client .PetRenderState ;
2620import us .potatoboy .petowner .client .config .PetOwnerConfig ;
2721
3125
3226@ Mixin (EntityRenderer .class )
3327public abstract class OwnerNameTagRendering <T extends Entity , S extends EntityRenderState > {
34- @ Final
35- @ Shadow
36- protected EntityRenderDispatcher dispatcher ;
3728
38- @ Shadow public abstract TextRenderer getTextRenderer ();
39-
40- @ Inject (method = "render" , at = @ At ("HEAD" ))
41- private void render (S state , MatrixStack matrices , VertexConsumerProvider vertexConsumers , int light , CallbackInfo ci ) {
29+ @ Inject (method = "render" , at = @ At ("HEAD" ))
30+ private void render (S state , MatrixStack matrices , OrderedRenderCommandQueue queue , CameraRenderState cameraState , CallbackInfo ci ) {
4231 PetRenderState petRenderState = (PetRenderState ) state ;
4332
4433 //If HUD is hidden
@@ -65,28 +54,7 @@ private void render(S state, MatrixStack matrices, VertexConsumerProvider vertex
6554 PetOwnerClient .LOGGER .error ("If you're trying to figure out why the mod doesn't work, it's cause you're in a dev env" );
6655 }
6756
68- double d = state .squaredDistanceToCamera ;
69- if (d <= 4096.0D ) {
70- Vec3d vec3d = state .nameLabelPos ;
71- if (vec3d != null ) {
72- int y = 10 + (10 * i );
73- matrices .push ();
74- matrices .translate (vec3d .x , vec3d .y + 0.5 , vec3d .z );
75- matrices .multiply (this .dispatcher .getRotation ());
76- matrices .scale (0.025F , -0.025F , 0.025F );
77- Matrix4f matrix4f = matrices .peek ().getPositionMatrix ();
78- TextRenderer textRenderer = this .getTextRenderer ();
79- float x = (float ) (-textRenderer .getWidth (text ) / 2 );
80-
81- float backgroundOpacity = MinecraftClient .getInstance ().options .getTextBackgroundOpacity (0.25F );
82- int backgroundColor = (int ) (backgroundOpacity * 255.0F ) << 24 ;
83-
84- textRenderer .draw (text , x , (float ) y , 553648127 , false , matrix4f , vertexConsumers , TextRenderer .TextLayerType .SEE_THROUGH , backgroundColor , light );
85- textRenderer .draw (text , x , (float ) y , Colors .WHITE , false , matrix4f , vertexConsumers , TextRenderer .TextLayerType .NORMAL , 0 , light );
86-
87- matrices .pop ();
88- }
89- }
57+ queue .submitLabel (matrices , state .nameLabelPos , 10 + (10 *i ), text , !state .sneaking , state .light , state .squaredDistanceToCamera , cameraState );
9058 }
9159 }
9260
0 commit comments