Skip to content

Commit 27ba842

Browse files
committed
Hide annotations in comments
1 parent d554229 commit 27ba842

2 files changed

Lines changed: 29 additions & 11 deletions

File tree

src/main/java/gdavid/psionicutilities/mixin/SpellPieceMixin.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import com.mojang.blaze3d.vertex.*;
44
import com.mojang.math.Matrix4f;
55
import gdavid.psionicutilities.PsionicUtilities;
6+
import net.minecraft.client.gui.screens.Screen;
67
import net.minecraft.client.renderer.MultiBufferSource;
78
import net.minecraft.client.resources.model.Material;
9+
import net.minecraft.network.chat.Component;
810
import net.minecraft.network.chat.TextColor;
911
import net.minecraft.resources.ResourceLocation;
1012
import org.spongepowered.asm.mixin.Mixin;
11-
import org.spongepowered.asm.mixin.injection.At;
12-
import org.spongepowered.asm.mixin.injection.Inject;
13-
import org.spongepowered.asm.mixin.injection.Redirect;
13+
import org.spongepowered.asm.mixin.injection.*;
1414

1515
import gdavid.psionicutilities.Util;
1616
import net.minecraftforge.api.distmarker.Dist;
@@ -23,6 +23,7 @@
2323

2424
import java.util.Arrays;
2525
import java.util.Optional;
26+
import java.util.List;
2627

2728
@Mixin(value = SpellPiece.class, remap = false)
2829
public abstract class SpellPieceMixin {
@@ -56,6 +57,26 @@ private void drawBackground(PoseStack ms, MultiBufferSource buffers, int light,
5657
}
5758
}
5859

60+
@OnlyIn(Dist.CLIENT)
61+
@Inject(method = "drawComment", at = @At("HEAD"), cancellable = true)
62+
private void drawComment(PoseStack ms, MultiBufferSource buffers, int light, CallbackInfo callback) {
63+
SpellPiece self = (SpellPiece) (Object) this;
64+
if (self.comment != null) {
65+
String prefix = "@color=";
66+
if (Arrays.stream(self.comment.split(";")).allMatch(ln ->
67+
ln.startsWith(prefix) && TextColor.parseColor(ln.substring(prefix.length())) != null
68+
)) callback.cancel();
69+
}
70+
}
71+
72+
@OnlyIn(Dist.CLIENT)
73+
@Inject(method = "drawCommentText", at = @At("HEAD"))
74+
private void visibleCommentText(PoseStack ms, int tooltipX, int tooltipY, List<Component> commentText, Screen screen, CallbackInfo callback) {
75+
String prefix = "@color=";
76+
commentText.stream().filter(ln -> ln.getString().startsWith(prefix)).findFirst().ifPresent(commentText::remove);
77+
}
78+
79+
@OnlyIn(Dist.CLIENT)
5980
private void drawHighlight(PoseStack ms, MultiBufferSource buffers, int light, int value) {
6081
int r = (value >> 16) & 0xFF;
6182
int g = (value >> 8) & 0xFF;

src/main/resources/psionicutilities.mixins.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,16 @@
44
"package": "gdavid.psionicutilities.mixin",
55
"compatibilityLevel": "JAVA_17",
66
"refmap": "psionicutilities.refmap.json",
7-
"mixins": [],
7+
"mixins": [ ],
88
"client": [
9-
"SpellPieceMixin",
10-
11-
"StatWidgetMixin",
12-
139
"ConnectorMixin",
1410
"CrossConnectorMixin",
15-
"NumberConstantMixin",
1611
"ExtractXMixin",
1712
"ExtractYMixin",
1813
"ExtractZMixin",
19-
20-
"PhiMixin"
14+
"PhiMixin",
15+
"NumberConstantMixin",
16+
"SpellPieceMixin",
17+
"StatWidgetMixin"
2118
]
2219
}

0 commit comments

Comments
 (0)