Skip to content

Commit d3fec11

Browse files
committed
Fix up "Show in inventory" setting
1 parent cba51ae commit d3fec11

File tree

14 files changed

+128
-28
lines changed

14 files changed

+128
-28
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import org.spongepowered.asm.mixin.Mixin;
1717
import org.spongepowered.asm.mixin.injection.At;
1818

19-
@Mixin(value = EntityRenderer.class, priority = 999)
20-
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
19+
@Mixin(EntityRenderer.class)
20+
public abstract class Mixin_ReplaceBackgroundRendering {
2121
@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(
2323
TextRenderer instance,

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import net.minecraft.client.render.VertexConsumerProvider;
1111
import net.minecraft.client.render.entity.EntityRenderer;
1212
import net.minecraft.client.util.math.MatrixStack;
13-
import net.minecraft.entity.Entity;
1413
import net.minecraft.text.Text;
1514
import net.minecraft.util.math.Matrix4f;
1615
import org.polyfrost.polynametag.client.NametagRenderer;
@@ -19,7 +18,7 @@
1918
import org.spongepowered.asm.mixin.injection.At;
2019

2120
@Mixin(EntityRenderer.class)
22-
public abstract class Mixin_ReplaceTextRendering<T extends Entity> {
21+
public abstract class Mixin_ReplaceTextRendering {
2322
@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))
2423
private int polynametag$renderCustomText(
2524
TextRenderer instance,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import org.spongepowered.asm.mixin.Mixin;
1717
import org.spongepowered.asm.mixin.injection.At;
1818

19-
@Mixin(value = EntityRenderer.class, priority = 999)
20-
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
19+
@Mixin(EntityRenderer.class)
20+
public abstract class Mixin_ReplaceBackgroundRendering {
2121
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", 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", ordinal = 0))
2222
private int polynametag$renderCustomBackground(
2323
TextRenderer instance,

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import net.minecraft.client.render.VertexConsumerProvider;
1111
import net.minecraft.client.render.entity.EntityRenderer;
1212
import net.minecraft.client.util.math.MatrixStack;
13-
import net.minecraft.entity.Entity;
1413
import net.minecraft.text.Text;
1514
import org.joml.Matrix4f;
1615
import org.polyfrost.polynametag.client.NametagRenderer;
@@ -19,7 +18,7 @@
1918
import org.spongepowered.asm.mixin.injection.At;
2019

2120
@Mixin(EntityRenderer.class)
22-
public abstract class Mixin_ReplaceTextRendering<T extends Entity> {
21+
public abstract class Mixin_ReplaceTextRendering {
2322
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", 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", ordinal = 1))
2423
private int polynametag$renderCustomText(
2524
TextRenderer instance,
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package org.polyfrost.polynametag.mixin.client;
2+
3+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
5+
import dev.deftu.omnicore.api.client.OmniClient;
6+
import dev.deftu.omnicore.api.client.screen.OmniScreens;
7+
import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
8+
import net.minecraft.client.render.entity.EntityRenderDispatcher;
9+
import net.minecraft.client.render.entity.EntityRenderer;
10+
import net.minecraft.entity.Entity;
11+
import org.polyfrost.polynametag.client.PolyNametagConfig;
12+
import org.spongepowered.asm.mixin.Mixin;
13+
import org.spongepowered.asm.mixin.injection.At;
14+
15+
@Mixin(EntityRenderer.class)
16+
public abstract class Mixin_ShowInInventory {
17+
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/EntityRenderDispatcher;getSquaredDistanceToCamera(Lnet/minecraft/entity/Entity;)D"))
18+
private double polynametag$hideNametagInInventory(EntityRenderDispatcher instance, Entity entity, Operation<Double> original) {
19+
if (PolyNametagConfig.isEnabled() &&
20+
!PolyNametagConfig.isShowInInventory() &&
21+
OmniScreens.getCurrentScreen() instanceof AbstractInventoryScreen &&
22+
entity == OmniClient.getPlayer()) {
23+
return Integer.MAX_VALUE;
24+
} else {
25+
return original.call(instance, entity);
26+
}
27+
}
28+
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import net.minecraft.client.render.VertexConsumerProvider;
88
import net.minecraft.client.render.command.LabelCommandRenderer;
99
import net.minecraft.client.render.command.OrderedRenderCommandQueueImpl;
10-
import net.minecraft.client.render.entity.state.EntityRenderState;
11-
import net.minecraft.entity.Entity;
1210
import net.minecraft.text.Text;
1311
import org.joml.Matrix4f;
1412
import org.polyfrost.polynametag.LabelCommandMatrix;
@@ -18,7 +16,7 @@
1816
import org.spongepowered.asm.mixin.injection.At;
1917

2018
@Mixin(LabelCommandRenderer.class)
21-
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity, S extends EntityRenderState> {
19+
public abstract class Mixin_ReplaceBackgroundRendering {
2220
@WrapOperation(method = "render", at = @At(value = "INVOKE", 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)V", ordinal = 0))
2321
private void polynametag$renderCustomBackground(
2422
TextRenderer instance,

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import net.minecraft.client.render.VertexConsumerProvider;
1010
import net.minecraft.client.render.command.LabelCommandRenderer;
1111
import net.minecraft.client.render.command.OrderedRenderCommandQueueImpl;
12-
import net.minecraft.client.render.entity.state.EntityRenderState;
13-
import net.minecraft.entity.Entity;
1412
import net.minecraft.text.Text;
1513
import org.joml.Matrix4f;
1614
import org.polyfrost.polynametag.LabelCommandMatrix;
@@ -20,7 +18,7 @@
2018
import org.spongepowered.asm.mixin.injection.At;
2119

2220
@Mixin(LabelCommandRenderer.class)
23-
public abstract class Mixin_ReplaceTextRendering<T extends Entity, S extends EntityRenderState> {
21+
public abstract class Mixin_ReplaceTextRendering {
2422
@WrapOperation(method = "render", at = @At(value = "INVOKE", 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)V", ordinal = 1))
2523
private void polynametag$renderCustomText(
2624
TextRenderer instance,
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.polyfrost.polynametag.mixin.client;
2+
3+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
5+
import dev.deftu.omnicore.api.client.OmniClient;
6+
import dev.deftu.omnicore.api.client.screen.OmniScreens;
7+
import net.minecraft.client.gui.screen.Screen;
8+
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
9+
import net.minecraft.client.gui.screen.ingame.InventoryScreen;
10+
import net.minecraft.client.render.entity.EntityRenderer;
11+
import net.minecraft.client.render.entity.state.EntityRenderState;
12+
import net.minecraft.client.render.entity.state.PlayerEntityRenderState;
13+
import net.minecraft.text.Text;
14+
import org.polyfrost.polynametag.client.PolyNametagConfig;
15+
import org.spongepowered.asm.mixin.Mixin;
16+
import org.spongepowered.asm.mixin.injection.At;
17+
18+
@Mixin(EntityRenderer.class)
19+
public abstract class Mixin_ShowInInventory {
20+
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/entity/state/EntityRenderState;displayName:Lnet/minecraft/text/Text;"))
21+
private Text polynametag$hideNametagInInventory(EntityRenderState instance, Operation<Text> original) {
22+
final Screen screen = OmniScreens.getCurrentScreen();
23+
if (PolyNametagConfig.isEnabled() &&
24+
!PolyNametagConfig.isShowInInventory() &&
25+
(screen instanceof InventoryScreen || screen instanceof CreativeInventoryScreen) &&
26+
instance instanceof PlayerEntityRenderState playerEntityRenderState &&
27+
playerEntityRenderState.id == OmniClient.getPlayer().getId()) {
28+
return null;
29+
} else {
30+
return original.call(instance);
31+
}
32+
}
33+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.polyfrost.polynametag.mixin.client;
2+
3+
import net.minecraft.client.render.entity.EntityRenderer;
4+
import org.polyfrost.polynametag.client.PolyNametagConfig;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import org.spongepowered.asm.mixin.injection.At;
7+
import org.spongepowered.asm.mixin.injection.ModifyArg;
8+
9+
@Mixin(EntityRenderer.class)
10+
public abstract class Mixin_OffsetRendering {
11+
@ModifyArg(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/util/math/MatrixStack;translate(DDD)V", ordinal = 0), index = 1)
12+
private double polynametag$modifyTranslateY(double original) {
13+
if (PolyNametagConfig.isEnabled()) {
14+
original += PolyNametagConfig.getHeightOffset();
15+
}
16+
17+
return original;
18+
}
19+
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@
88
import net.minecraft.client.render.VertexConsumerProvider;
99
import net.minecraft.client.render.entity.EntityRenderer;
1010
import net.minecraft.client.util.math.MatrixStack;
11-
import net.minecraft.entity.Entity;
1211
import net.minecraft.text.Text;
1312
import org.joml.Matrix4f;
1413
import org.polyfrost.polynametag.client.NametagRenderer;
1514
import org.polyfrost.polynametag.client.PolyNametagConfig;
1615
import org.spongepowered.asm.mixin.Mixin;
1716
import org.spongepowered.asm.mixin.injection.At;
1817

19-
@Mixin(value = EntityRenderer.class, priority = 999)
20-
public abstract class Mixin_ReplaceBackgroundRendering<T extends Entity> {
18+
@Mixin(EntityRenderer.class)
19+
public abstract class Mixin_ReplaceBackgroundRendering {
2120
@WrapOperation(method = "renderLabelIfPresent", at = @At(value = "INVOKE", 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", ordinal = 0))
2221
private int polynametag$renderCustomBackground(
2322
TextRenderer instance,

0 commit comments

Comments
 (0)