|
5 | 5 | import io.github.axolotlclient.modules.hypixel.nickhider.NickHider; |
6 | 6 | import net.minecraft.client.MinecraftClient; |
7 | 7 | import net.minecraft.client.gui.hud.ChatHud; |
| 8 | +import net.minecraft.client.network.AbstractClientPlayerEntity; |
| 9 | +import net.minecraft.text.MutableText; |
8 | 10 | import net.minecraft.text.Text; |
9 | 11 | import org.spongepowered.asm.mixin.Mixin; |
10 | 12 | import org.spongepowered.asm.mixin.injection.At; |
|
13 | 15 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
14 | 16 |
|
15 | 17 | @Mixin(ChatHud.class) |
16 | | -public class MixinChatHud { |
| 18 | +public abstract class MixinChatHud { |
17 | 19 |
|
18 | 20 | @Inject(method = "addMessage(Lnet/minecraft/text/Text;IIZ)V", at = @At("HEAD")) |
19 | | - public void autoGG(Text message, int messageId, int timestamp, boolean bl, CallbackInfo ci){ |
| 21 | + public void autoThings(Text message, int messageId, int timestamp, boolean bl, CallbackInfo ci){ |
20 | 22 | AutoGG.Instance.onMessage(message); |
21 | 23 | AutoBoop.Instance.onMessage(message); |
22 | 24 | } |
23 | 25 |
|
24 | 26 | @ModifyArg(method = "addMessage(Lnet/minecraft/text/Text;I)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/ChatHud;addMessage(Lnet/minecraft/text/Text;IIZ)V")) |
25 | 27 | public Text editChat(Text message) { |
26 | 28 |
|
27 | | - String msg = message.getString(); |
28 | | - String newMsg; |
| 29 | + if(NickHider.Instance.hideOwnName.get() || NickHider.Instance.hideOtherNames.get()) { |
| 30 | + String msg = message.getString(); |
29 | 31 |
|
30 | | - String playerName = MinecraftClient.getInstance().player.getName().getString(); |
31 | | - if (NickHider.Instance.hideOwnName.get() && msg.contains(playerName)){ |
32 | | - newMsg = msg.replace(playerName, NickHider.Instance.hiddenNameSelf.get()); |
33 | | - return Text.literal(newMsg); |
34 | | - } |
35 | | - /*|| AxolotlClient.CONFIG.NickHider.hideOtherNames) { |
36 | | - assert MinecraftClient.getInstance().player != null; |
| 32 | + String playerName = MinecraftClient.getInstance().player.getDisplayName().getString(); |
| 33 | + if (NickHider.Instance.hideOwnName.get() && msg.contains(playerName)) { |
| 34 | + msg = msg.replaceAll(playerName, NickHider.Instance.hiddenNameSelf.get()); |
37 | 35 |
|
38 | | - LiteralText name = new LiteralText(""); |
| 36 | + } |
39 | 37 |
|
40 | | - LiteralText editedMessage = new LiteralText(""); |
41 | | - String sender; |
| 38 | + if (NickHider.Instance.hideOtherNames.get()) { |
| 39 | + for (AbstractClientPlayerEntity player : MinecraftClient.getInstance().world.getPlayers()) { |
| 40 | + if (msg.contains(player.getDisplayName().getString())) { |
| 41 | + msg = msg.replaceAll(player.getDisplayName().getString(), NickHider.Instance.hiddenNameOthers.get()); |
| 42 | + } |
| 43 | + } |
| 44 | + } |
42 | 45 |
|
43 | | - if (message.getString().contains(">")) { |
44 | | - sender = message.getString().split(">")[0].split("<")[1]; |
45 | | - } else if (message.getString().contains(":")) { |
46 | | - sender = message.getString().split(":")[0]; |
47 | | - if (sender.contains("]")) { |
48 | | - String[] send = sender.split("] "); |
49 | | - sender = send[send.length - 1]; |
50 | | - }if (sender.contains("[NPC]"))return message; |
51 | | - if (sender.contains(" ")) return message; |
52 | | - } else {return message;} |
53 | 46 |
|
54 | | - if (Objects.equals(sender, MinecraftClient.getInstance().player.getName().getString())) { |
55 | | - name.append(Axolotlclient.CONFIG.NickHider.hideOwnName ? new LiteralText(Axolotlclient.CONFIG.NickHider.OwnName) : MinecraftClient.getInstance().player.getName()).setStyle(message.getStyle()); |
56 | | - } else { |
57 | | - name.append(new LiteralText(Axolotlclient.CONFIG.NickHider.hideOtherNames ? Axolotlclient.CONFIG.NickHider.otherName : sender).setStyle(message.getStyle())); |
58 | | - } |
59 | | -
|
60 | | - String[] msg = message.getString().split(sender); |
61 | | - for (String s : msg) { |
62 | | - editedMessage.append(s); |
63 | | - if (!Objects.equals(s, msg[msg.length - 1])) { |
64 | | - editedMessage.append(name); |
65 | | - } |
66 | | - } |
67 | | -
|
68 | | -
|
69 | | - if (!editedMessage.getString().split(":")[0].contains("<") && editedMessage.getString().split(":")[0].contains("] " ) && !editedMessage.getString().contains("[NPC]")){ |
70 | | - editedMessage = new LiteralText(editedMessage.getString().split("] ")[editedMessage.getString().split("] ").length-1]); |
71 | | - } |
72 | | -
|
73 | | -
|
74 | | - return editedMessage.setStyle(message.getStyle().withFont(Axolotlclient.FONT)); |
75 | | - }*/ |
76 | | - return message; |
| 47 | + return Text.literal(msg).copy().setStyle(message.getStyle()); |
| 48 | + } |
| 49 | + return message; |
77 | 50 | } |
78 | 51 |
|
| 52 | + @ModifyArg(method = "addMessage(Lnet/minecraft/text/Text;I)V", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;info(Ljava/lang/String;Ljava/lang/Object;)V"), index = 1, remap = false) |
| 53 | + public Object noNamesInLogIfHidden(Object o){ |
| 54 | + return editChat((Text.of((String) o))).getString(); |
| 55 | + } |
79 | 56 | } |
0 commit comments