1818import com .llamalad7 .mixinextras .sugar .Local ;
1919import io .github .communityradargg .fabric .accessors .PlayerEntityRenderStateAccessor ;
2020import io .github .communityradargg .fabric .utils .Utils ;
21- import net .minecraft .client .network .AbstractClientPlayerEntity ;
2221import net .minecraft .client .render .entity .PlayerEntityRenderer ;
2322import net .minecraft .client .render .entity .state .PlayerEntityRenderState ;
23+ import net .minecraft .entity .PlayerLikeEntity ;
2424import net .minecraft .text .Text ;
2525import org .spongepowered .asm .mixin .Mixin ;
2626import org .spongepowered .asm .mixin .injection .At ;
2727import org .spongepowered .asm .mixin .injection .Inject ;
28- import org .spongepowered .asm .mixin .injection .ModifyVariable ;
28+ import org .spongepowered .asm .mixin .injection .ModifyArg ;
2929import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
3030import java .util .UUID ;
3131
@@ -41,7 +41,15 @@ public abstract class PlayerEntityRendererMixin {
4141 * @param playerEntityRenderState The needed local variable of the player entity render state.
4242 * @return Returns the modified local variable.
4343 */
44- @ ModifyVariable (method = "renderLabelIfPresent(Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;Lnet/minecraft/text/Text;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V" , at = @ At (value = "HEAD" ), index = 2 , argsOnly = true )
44+ @ ModifyArg (
45+ method = "renderLabelIfPresent(Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V" ,
46+ at = @ At (
47+ value = "INVOKE" ,
48+ target = "Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;submitLabel(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/text/Text;ZIDLnet/minecraft/client/render/state/CameraRenderState;)V" ,
49+ ordinal = 1
50+ ),
51+ index = 2
52+ )
4553 private Text modifyPlayerNameTag (final Text text , final @ Local (index = 1 , argsOnly = true ) PlayerEntityRenderState playerEntityRenderState ) {
4654 final UUID uuid = ((PlayerEntityRenderStateAccessor ) playerEntityRenderState ).communityradar_fabric$getPlayerUuid ();
4755
@@ -54,13 +62,13 @@ private Text modifyPlayerNameTag(final Text text, final @Local(index = 1, argsOn
5462 /**
5563 * Modifies the player entity render state to set the self added uuid field.
5664 *
57- * @param abstractClientPlayerEntity The abstract client player entity as the uuid source.
65+ * @param playerLikeEntity The player like entity as the source for the uuid .
5866 * @param playerEntityRenderState The player entity render state to set the uuid.
5967 * @param f The float f.
6068 * @param ci The callback info.
6169 */
62- @ Inject (method = "updateRenderState(Lnet/minecraft/client/network/AbstractClientPlayerEntity ;Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;F)V" , at = @ At (value = "TAIL" ))
63- private void modifyUpdateRenderState (final AbstractClientPlayerEntity abstractClientPlayerEntity , final PlayerEntityRenderState playerEntityRenderState , final float f , final CallbackInfo ci ) {
64- ((PlayerEntityRenderStateAccessor ) playerEntityRenderState ).communityradar_fabric$setPlayerUuid (abstractClientPlayerEntity .getUuid ());
70+ @ Inject (method = "updateRenderState(Lnet/minecraft/entity/PlayerLikeEntity ;Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;F)V" , at = @ At (value = "TAIL" ))
71+ private void modifyUpdateRenderState (final PlayerLikeEntity playerLikeEntity , final PlayerEntityRenderState playerEntityRenderState , final float f , final CallbackInfo ci ) {
72+ ((PlayerEntityRenderStateAccessor ) playerEntityRenderState ).communityradar_fabric$setPlayerUuid (playerLikeEntity .getUuid ());
6573 }
6674}
0 commit comments