Skip to content

Commit fc139e5

Browse files
committed
Finish 1.21.10 and refactor prior mixins to be better
1 parent 9181f89 commit fc139e5

File tree

23 files changed

+277
-164
lines changed

23 files changed

+277
-164
lines changed

src/main/kotlin/org/polyfrost/polynametag/client/NametagRenderer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ object NametagRenderer {
9292
//$$ @JvmStatic
9393
//$$ fun drawBackground(
9494
//$$ matrices: OmniMatrixStack,
95-
//$$ entityRenderState: net.minecraft.client.render.entity.state.EntityRenderState,
95+
//$$ displayName: net.minecraft.text.Text?,
9696
//$$ ) {
97-
//$$ val displayName = entityRenderState.displayName ?: return
97+
//$$ val displayName = displayName ?: return
9898
//$$ val halfWidth = OmniTextRenderer.width(displayName.string) / 2 + 1.0
9999
//$$ drawBackground(matrices, -halfWidth, halfWidth, 0.0F)
100100
//$$ }

versions/1.12.2-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ReplaceBackgroundRendering.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
@Mixin(EntityRenderer.class)
1414
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
1515
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/GameRenderer;method_13427(Lnet/minecraft/client/font/TextRenderer;Ljava/lang/String;FFFIFFZZ)V", shift = At.Shift.BEFORE))
16-
private void polynametag$cancelBegin(T entity, String text, double x, double y, double z, int maxDistance, Operation<Void> original) {
16+
private void polynametag$renderCustomBackground(T entity, String text, double x, double y, double z, int maxDistance, Operation<Void> original) {
1717
if (PolyNametagConfig.isEnabled()) {
1818
NametagRenderer.drawBackground(OmniMatrixStacks.create(), entity);
1919
} else {

versions/1.12.2-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ReplaceTextRendering.java

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,10 @@
1515
@Mixin(EntityRenderer.class)
1616
public abstract class Mixin_ReplaceTextRendering<T extends Entity> {
1717
@Inject(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/GameRenderer;method_13427(Lnet/minecraft/client/font/TextRenderer;Ljava/lang/String;FFFIFFZZ)V"))
18-
private void polynametag$replaceTextRendering(T entity, String text, double x, double y, double z, int maxDistance, CallbackInfo ci) {
18+
private void polynametag$renderCustomText(T entity, String text, double x, double y, double z, int maxDistance, CallbackInfo ci) {
1919
if (PolyNametagConfig.isEnabled()) {
20-
OmniColor color = OmniColors.WHITE;
21-
if (entity.isSneaking()) {
22-
color = color.withAlpha(32);
23-
}
24-
25-
NametagRenderer.drawNametagString(
26-
OmniMatrixStacks.create(),
27-
text,
28-
(float) x,
29-
(float) y,
30-
color
31-
);
20+
final OmniColor color = OmniColors.WHITE.withAlpha(entity.isSneaking() ? 32 : 255);
21+
NametagRenderer.drawNametagString(OmniMatrixStacks.create(), text, (float) x, (float) y, color);
3222
}
3323
}
3424
}

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ReplaceBackgroundRendering.java

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,53 +18,39 @@
1818

1919
@Mixin(value = EntityRenderer.class, priority = 999)
2020
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
21-
@WrapOperation(
22-
method = "renderNameTag",
23-
at = @At(
24-
value = "INVOKE",
25-
//#if MC >= 1.20.1
26-
//$$ target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)I",
27-
//#else
28-
target = "Lnet/minecraft/client/gui/Font;drawInBatch(Lnet/minecraft/network/chat/Component;FFIZLcom/mojang/math/Matrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;ZII)I",
29-
//#endif
30-
ordinal = 0
31-
)
32-
)
33-
private int polynametag$cancelBegin(
21+
@WrapOperation(method = "renderNameTag", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Font;drawInBatch(Lnet/minecraft/network/chat/Component;FFIZLcom/mojang/math/Matrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;ZII)I", ordinal = 0))
22+
private int polynametag$renderCustomBackground(
3423
Font instance,
35-
Component arg,
36-
float f,
37-
float g,
38-
int i,
39-
boolean bl,
24+
Component text,
25+
float x,
26+
float y,
27+
int color,
28+
boolean shadow,
4029
Matrix4f matrix4f,
41-
MultiBufferSource bufferSource,
42-
//#if MC >=1.20.1
43-
//$$ TextRenderer.TextLayerType displayMode,
44-
//#else
45-
boolean displayMode,
46-
//#endif
47-
int x,
48-
int y,
30+
MultiBufferSource multiBufferSource,
31+
boolean unknownArgument,
32+
int backgroundColor,
33+
int light,
4934
Operation<Integer> original,
50-
@Local(argsOnly = true) PoseStack pose,
35+
@Local(argsOnly = true) PoseStack poseStack,
5136
@Local(argsOnly = true) Entity entity
5237
) {
5338
if (PolyNametagConfig.isEnabled()) {
54-
NametagRenderer.drawBackground(OmniMatrixStacks.vanilla(pose), entity);
39+
NametagRenderer.drawBackground(OmniMatrixStacks.vanilla(poseStack), entity);
5540
return 0;
5641
} else {
5742
return original.call(
5843
instance,
59-
arg,
60-
f,
61-
g,
62-
i,
63-
bl,
44+
text,
45+
x,
46+
y,
47+
color,
48+
shadow,
6449
matrix4f,
65-
bufferSource,
66-
displayMode,
67-
x, y
50+
multiBufferSource,
51+
unknownArgument,
52+
backgroundColor,
53+
light
6854
);
6955
}
7056
}

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ReplaceTextRendering.java

Lines changed: 18 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.polyfrost.polynametag.mixin.client;
22

3+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
5+
import com.llamalad7.mixinextras.sugar.Local;
36
import com.mojang.blaze3d.vertex.PoseStack;
47
import com.mojang.math.Matrix4f;
58
import dev.deftu.omnicore.api.client.render.stack.OmniMatrixStacks;
@@ -14,67 +17,38 @@
1417
import org.polyfrost.polynametag.client.PolyNametagConfig;
1518
import org.spongepowered.asm.mixin.Mixin;
1619
import org.spongepowered.asm.mixin.injection.At;
17-
import org.spongepowered.asm.mixin.injection.Redirect;
1820

1921
@Mixin(EntityRenderer.class)
2022
public abstract class Mixin_ReplaceTextRendering<T extends Entity> {
21-
@Redirect(
22-
method = "renderNameTag",
23-
at = @At(
24-
value = "INVOKE",
25-
//#if MC >=1.21.6
26-
//$$ target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;L;II)V"
27-
//#elseif MC >= 1.20.1
28-
//$$ target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)I"
29-
//#else
30-
target = "Lnet/minecraft/client/gui/Font;drawInBatch(Lnet/minecraft/network/chat/Component;FFIZLcom/mojang/math/Matrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;ZII)I"
31-
//#endif
32-
)
33-
)
34-
private int polynametag$replaceTextRendering(
23+
@WrapOperation(method = "renderNameTag", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Font;drawInBatch(Lnet/minecraft/network/chat/Component;FFIZLcom/mojang/math/Matrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;ZII)I"))
24+
private int polynametag$renderCustomText(
3525
Font instance,
36-
Component content,
26+
Component text,
3727
float x,
3828
float y,
3929
int color,
4030
boolean shadow,
41-
Matrix4f matrix,
42-
MultiBufferSource buffer,
43-
//#if MC >= 1.20.1
44-
//$$ TextRenderer.TextLayerType textLayerType,
45-
//#else
46-
boolean seeThrough,
47-
//#endif
31+
Matrix4f matrix4f,
32+
MultiBufferSource multiBufferSource,
33+
boolean unknownArgument,
4834
int backgroundColor,
4935
int light,
50-
T entity,
51-
Component displayName,
52-
PoseStack matrices,
53-
MultiBufferSource outerBuffers,
54-
int outerPackedLight
36+
Operation<Integer> original,
37+
@Local(argsOnly = true) PoseStack poseStack
5538
) {
5639
if (PolyNametagConfig.isEnabled()) {
57-
return NametagRenderer.drawNametagString(
58-
OmniMatrixStacks.vanilla(matrices),
59-
content.getString(),
60-
x,
61-
y,
62-
new OmniColor(ColorFormat.ARGB, color)
63-
);
40+
return NametagRenderer.drawNametagString(OmniMatrixStacks.vanilla(poseStack), text.getString(), x, y, new OmniColor(ColorFormat.ARGB, color));
6441
} else {
65-
return instance.drawInBatch(
66-
content,
42+
return original.call(
43+
instance,
44+
text,
6745
x,
6846
y,
6947
color,
7048
shadow,
71-
matrix,
72-
buffer,
73-
//#if MC >= 1.20.1
74-
//$$ textLayerType,
75-
//#else
76-
seeThrough,
77-
//#endif
49+
matrix4f,
50+
multiBufferSource,
51+
unknownArgument,
7852
backgroundColor,
7953
light
8054
);

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ShowInInventory.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
import net.minecraft.world.entity.Entity;
1212
import org.polyfrost.polynametag.client.PolyNametagConfig;
1313
import org.spongepowered.asm.mixin.Mixin;
14-
import org.spongepowered.asm.mixin.injection.At;
15-
import org.spongepowered.asm.mixin.injection.Inject;
16-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1714

1815
@Mixin(EntityRenderer.class)
1916
public abstract class Mixin_ShowInInventory<T extends Entity> {

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/levelhead/Mixin_FixLevelheadRendering.java

Lines changed: 0 additions & 3 deletions
This file was deleted.

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/levelhead/Mixin_LevelHeadTagCompatibility.java

Lines changed: 0 additions & 3 deletions
This file was deleted.

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/levelhead/Mixin_UseCustomConfigArgs.java

Lines changed: 0 additions & 3 deletions
This file was deleted.

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/patcher/Mixin_OverwritePatcherNametagTextRendering.java

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)