Skip to content

Commit cba51ae

Browse files
committed
Cleanup & Working on fixing "Show nametag in inventory" setting + fix 1.16.5 mixin code
1 parent 944bd56 commit cba51ae

File tree

12 files changed

+73
-177
lines changed

12 files changed

+73
-177
lines changed
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
package org.polyfrost.polynametag.mixin.client;
22

3-
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
43
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
5+
import dev.deftu.omnicore.api.client.OmniClient;
56
import dev.deftu.omnicore.api.client.screen.OmniScreens;
6-
import net.minecraft.client.gui.inventory.GuiInventory;
7+
import net.minecraft.client.renderer.InventoryEffectRenderer;
78
import net.minecraft.client.renderer.entity.Render;
89
import net.minecraft.entity.Entity;
910
import org.polyfrost.polynametag.client.PolyNametagConfig;
1011
import org.spongepowered.asm.mixin.Mixin;
12+
import org.spongepowered.asm.mixin.injection.At;
1113

1214
@Mixin(Render.class)
1315
public abstract class Mixin_ShowInInventory<T extends Entity> {
14-
@WrapMethod(method = "renderLivingLabel")
15-
private void polynametag$checkInventory(T entity, String str, double x, double y, double z, int maxDistance, Operation<Void> original) {
16-
if (!PolyNametagConfig.isEnabled() || PolyNametagConfig.isShowInInventory() || !OmniScreens.isCurrentScreen(GuiInventory.class)) {
17-
original.call(entity, str, x, y, z, maxDistance);
16+
@WrapOperation(method = "renderLivingLabel", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;getDistanceSqToEntity(Lnet/minecraft/entity/Entity;)D"))
17+
private double polynametag$hideNametagInInventory(Entity instance, Entity entityIn, Operation<Double> original) {
18+
if (PolyNametagConfig.isEnabled() &&
19+
!PolyNametagConfig.isShowInInventory() &&
20+
OmniScreens.getCurrentScreen() instanceof InventoryEffectRenderer &&
21+
instance == OmniClient.getPlayer()) {
22+
return Integer.MAX_VALUE;
23+
} else {
24+
return original.call(instance, entityIn);
1825
}
1926
}
2027
}

src/main/resources/fabric.mod.json

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
{
2-
"schemaVersion": 1,
3-
"id": "${mod_id}",
4-
"name": "${mod_name}",
5-
"version": "${mod_version}",
6-
"description": "",
7-
"authors": [
8-
"Polyfrost"
9-
],
10-
"contact": {
11-
"homepage": "https://github.com/Polyfrost/PolyNametag",
12-
"sources": "https://github.com/Polyfrost/PolyNametag",
13-
"issues": "https://github.com/Polyfrost/PolyNametag/issues"
14-
},
15-
"license": "GPL-3.0",
16-
"environment": "client",
17-
"entrypoints": {
18-
"client": [
19-
{
20-
"value": "org.polyfrost.polynametag.PolyNametagEntrypoint"
21-
}
22-
]
23-
},
24-
"mixins": [
25-
"mixins.${mod_id}.json"
26-
]
2+
"schemaVersion": 1,
3+
"id": "${mod_id}",
4+
"name": "${mod_name}",
5+
"version": "${mod_version}",
6+
"description": "",
7+
"authors": [
8+
"Polyfrost"
9+
],
10+
"contact": {
11+
"homepage": "https://github.com/Polyfrost/PolyNametag",
12+
"sources": "https://github.com/Polyfrost/PolyNametag",
13+
"issues": "https://github.com/Polyfrost/PolyNametag/issues"
14+
},
15+
"license": "GPL-3.0",
16+
"environment": "client",
17+
"entrypoints": {
18+
"client": [
19+
{
20+
"value": "org.polyfrost.polynametag.PolyNametagEntrypoint"
21+
}
22+
]
23+
},
24+
"mixins": [
25+
"mixins.${mod_id}.json"
26+
]
2727
}

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ApplyScaling.java renamed to versions/1.16.5-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ApplyScaling.java

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

3-
import net.minecraft.client.renderer.entity.EntityRenderer;
3+
import net.minecraft.client.render.entity.EntityRenderer;
44
import org.polyfrost.polynametag.client.PolyNametagConfig;
55
import org.spongepowered.asm.mixin.Mixin;
66
import org.spongepowered.asm.mixin.injection.At;
@@ -9,7 +9,7 @@
99

1010
@Mixin(EntityRenderer.class)
1111
public abstract class Mixin_ApplyScaling {
12-
@ModifyArgs(method = "renderNameTag", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack;scale(FFF)V"))
12+
@ModifyArgs(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/util/math/MatrixStack;scale(FFF)V"))
1313
private void polynametag$applyScaling(Args args) {
1414
if (PolyNametagConfig.isEnabled()) {
1515
final float scale = PolyNametagConfig.getScale();

versions/1.16.5-forge/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_EnableSelfNametag.java renamed to versions/1.16.5-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_EnableSelfNametag.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
44
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
5-
import net.minecraft.client.Minecraft;
6-
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
7-
import net.minecraft.world.entity.Entity;
5+
import net.minecraft.client.MinecraftClient;
6+
import net.minecraft.client.render.entity.LivingEntityRenderer;
7+
import net.minecraft.entity.Entity;
88
import org.polyfrost.polynametag.client.PolyNametagConfig;
99
import org.spongepowered.asm.mixin.Mixin;
1010
import org.spongepowered.asm.mixin.injection.At;
1111

1212
@Mixin(LivingEntityRenderer.class)
1313
public abstract class Mixin_EnableSelfNametag {
14-
@WrapOperation(method = "shouldShowName(Lnet/minecraft/world/entity/LivingEntity;)Z", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getCameraEntity()Lnet/minecraft/world/entity/Entity;"))
15-
private Entity polynametag$checkOwnInvisibility(Minecraft instance, Operation<Entity> original) {
14+
@WrapOperation(method = "hasLabel(Lnet/minecraft/entity/LivingEntity;)Z", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;getCameraEntity()Lnet/minecraft/entity/Entity;"))
15+
private Entity polynametag$checkOwnInvisibility(MinecraftClient instance, Operation<Entity> original) {
1616
if (PolyNametagConfig.isEnabled() && PolyNametagConfig.isShowOwnNametag()) {
1717
return null;
1818
} else {

versions/1.21.1-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_OffsetRendering.java renamed to versions/1.16.5-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_OffsetRendering.java

File renamed without changes.

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,40 @@
33
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
44
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
55
import com.llamalad7.mixinextras.sugar.Local;
6-
import com.mojang.blaze3d.vertex.PoseStack;
7-
import com.mojang.math.Matrix4f;
86
import dev.deftu.omnicore.api.client.render.stack.OmniMatrixStacks;
9-
import net.minecraft.client.gui.Font;
10-
import net.minecraft.client.renderer.MultiBufferSource;
11-
import net.minecraft.client.renderer.entity.EntityRenderer;
12-
import net.minecraft.network.chat.Component;
13-
import net.minecraft.world.entity.Entity;
7+
import net.minecraft.client.font.TextRenderer;
8+
import net.minecraft.client.render.VertexConsumerProvider;
9+
import net.minecraft.client.render.entity.EntityRenderer;
10+
import net.minecraft.client.util.math.MatrixStack;
11+
import net.minecraft.entity.Entity;
12+
import net.minecraft.text.Text;
13+
import net.minecraft.util.math.Matrix4f;
1414
import org.polyfrost.polynametag.client.NametagRenderer;
1515
import org.polyfrost.polynametag.client.PolyNametagConfig;
1616
import org.spongepowered.asm.mixin.Mixin;
1717
import org.spongepowered.asm.mixin.injection.At;
1818

1919
@Mixin(value = EntityRenderer.class, priority = 999)
2020
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
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))
21+
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLnet/minecraft/util/math/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;ZII)I", ordinal = 0))
2222
private int polynametag$renderCustomBackground(
23-
Font instance,
24-
Component text,
23+
TextRenderer instance,
24+
Text text,
2525
float x,
2626
float y,
2727
int color,
2828
boolean shadow,
2929
Matrix4f matrix4f,
30-
MultiBufferSource multiBufferSource,
30+
VertexConsumerProvider vertexConsumerProvider,
3131
boolean unknownArgument,
3232
int backgroundColor,
3333
int light,
3434
Operation<Integer> original,
35-
@Local(argsOnly = true) PoseStack poseStack,
35+
@Local(argsOnly = true) MatrixStack matrixStack,
3636
@Local(argsOnly = true) Entity entity
3737
) {
3838
if (PolyNametagConfig.isEnabled()) {
39-
NametagRenderer.drawBackground(OmniMatrixStacks.vanilla(poseStack), entity);
39+
NametagRenderer.drawBackground(OmniMatrixStacks.vanilla(matrixStack), entity);
4040
return 0;
4141
} else {
4242
return original.call(
@@ -47,7 +47,7 @@ public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
4747
color,
4848
shadow,
4949
matrix4f,
50-
multiBufferSource,
50+
vertexConsumerProvider,
5151
unknownArgument,
5252
backgroundColor,
5353
light

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,41 @@
33
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
44
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
55
import com.llamalad7.mixinextras.sugar.Local;
6-
import com.mojang.blaze3d.vertex.PoseStack;
7-
import com.mojang.math.Matrix4f;
86
import dev.deftu.omnicore.api.client.render.stack.OmniMatrixStacks;
97
import dev.deftu.omnicore.api.color.ColorFormat;
108
import dev.deftu.omnicore.api.color.OmniColor;
11-
import net.minecraft.client.gui.Font;
12-
import net.minecraft.client.renderer.MultiBufferSource;
13-
import net.minecraft.client.renderer.entity.EntityRenderer;
14-
import net.minecraft.network.chat.Component;
15-
import net.minecraft.world.entity.Entity;
9+
import net.minecraft.client.font.TextRenderer;
10+
import net.minecraft.client.render.VertexConsumerProvider;
11+
import net.minecraft.client.render.entity.EntityRenderer;
12+
import net.minecraft.client.util.math.MatrixStack;
13+
import net.minecraft.entity.Entity;
14+
import net.minecraft.text.Text;
15+
import net.minecraft.util.math.Matrix4f;
1616
import org.polyfrost.polynametag.client.NametagRenderer;
1717
import org.polyfrost.polynametag.client.PolyNametagConfig;
1818
import org.spongepowered.asm.mixin.Mixin;
1919
import org.spongepowered.asm.mixin.injection.At;
2020

2121
@Mixin(EntityRenderer.class)
2222
public abstract class Mixin_ReplaceTextRendering<T extends Entity> {
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"))
23+
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLnet/minecraft/util/math/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;ZII)I", ordinal = 1))
2424
private int polynametag$renderCustomText(
25-
Font instance,
26-
Component text,
25+
TextRenderer instance,
26+
Text text,
2727
float x,
2828
float y,
2929
int color,
3030
boolean shadow,
3131
Matrix4f matrix4f,
32-
MultiBufferSource multiBufferSource,
32+
VertexConsumerProvider vertexConsumerProvider,
3333
boolean unknownArgument,
3434
int backgroundColor,
3535
int light,
3636
Operation<Integer> original,
37-
@Local(argsOnly = true) PoseStack poseStack
37+
@Local(argsOnly = true) MatrixStack matrixStack
3838
) {
3939
if (PolyNametagConfig.isEnabled()) {
40-
return NametagRenderer.drawNametagString(OmniMatrixStacks.vanilla(poseStack), text.getString(), x, y, new OmniColor(ColorFormat.ARGB, color));
40+
return NametagRenderer.drawNametagString(OmniMatrixStacks.vanilla(matrixStack), text.getString(), x, y, new OmniColor(ColorFormat.ARGB, color));
4141
} else {
4242
return original.call(
4343
instance,
@@ -47,7 +47,7 @@ public abstract class Mixin_ReplaceTextRendering<T extends Entity> {
4747
color,
4848
shadow,
4949
matrix4f,
50-
multiBufferSource,
50+
vertexConsumerProvider,
5151
unknownArgument,
5252
backgroundColor,
5353
light

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

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

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

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

versions/1.21.1-fabric/src/main/java/org/polyfrost/polynametag/mixin/client/Mixin_ShowInInventory.java

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

0 commit comments

Comments
 (0)