Skip to content

Commit cb5f12e

Browse files
committed
Fixed issue#4
1 parent 0fb178f commit cb5f12e

File tree

3 files changed

+19
-17
lines changed

3 files changed

+19
-17
lines changed

src/main/java/com/jeremiahbl/bfcmod/config/PermissionsHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class PermissionsHandler {
4242
public static PermissionNode<Boolean> nickCommand =
4343
ezyPermission("commands.nick", true, "Nickname", "Enables/Disables the \"/nick <nickname>\" command");
4444
public static PermissionNode<Boolean> nickOthersCommand =
45-
ezyPermission("commands.nick.others", true, "Modify nicknames", "Enables/Disables the \"/nick <username> <nickname>\" command");
45+
ezyPermission("commands.nick.others", false, "Modify nicknames", "Enables/Disables the \"/nick <username> <nickname>\" command");
4646

4747
@SubscribeEvent public void registerPermissionNodes(Nodes pge) {
4848
for(Field fld : PermissionsHandler.class.getDeclaredFields()) {

src/main/java/com/jeremiahbl/bfcmod/events/ChatEventHandler.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import java.util.Date;
55
import java.util.UUID;
66

7-
import com.jeremiahbl.bfcmod.BetterForgeChat;
87
import com.jeremiahbl.bfcmod.MarkdownFormatter;
98
import com.jeremiahbl.bfcmod.TextFormatter;
109
import com.jeremiahbl.bfcmod.config.ConfigHandler;
@@ -14,12 +13,7 @@
1413
import com.mojang.authlib.GameProfile;
1514

1615
import net.minecraft.ChatFormatting;
17-
import net.minecraft.network.chat.ChatType;
18-
import net.minecraft.network.chat.ClickEvent;
19-
import net.minecraft.network.chat.Component;
20-
import net.minecraft.network.chat.HoverEvent;
21-
import net.minecraft.network.chat.TextComponent;
22-
import net.minecraft.network.chat.TranslatableComponent;
16+
import net.minecraft.network.chat.*;
2317
import net.minecraft.server.level.ServerPlayer;
2418
import net.minecraftforge.event.ServerChatEvent;
2519
import net.minecraftforge.eventbus.api.SubscribeEvent;
@@ -40,15 +34,19 @@ public void reloadConfigOptions() {
4034
loaded = true;
4135
}
4236

43-
public TextComponent getEventComponent(Component old) {
37+
private Style getSpecialStyleComponents(Component old) {
4438
if(old != null && old instanceof TranslatableComponent) {
4539
TranslatableComponent tcmp = (TranslatableComponent) old;
4640
Object[] args = tcmp.getArgs();
47-
for(Object arg : args)
48-
if(arg != null && arg instanceof TextComponent)
49-
return (TextComponent) arg;
41+
for(Object arg : args) {
42+
if(arg != null && arg instanceof TextComponent) {
43+
Style sty = ((TextComponent) arg).getStyle();
44+
if(sty != null && sty.getHoverEvent() != null)
45+
return sty;
46+
}
47+
}
5048
}
51-
return new TextComponent("");
49+
return null;
5250
}
5351

5452
@SubscribeEvent
@@ -81,7 +79,9 @@ public void onServerChat(ServerChatEvent e) {
8179
if(markdownEnabled && enableStyle && PermissionsHandler.playerHasPermission(uuid, PermissionsHandler.markdownChatNode))
8280
msg = MarkdownFormatter.markdownStringToFormattedString(msg);
8381
TextComponent msgComp = TextFormatter.stringToFormattedText(msg, enableColor, enableStyle);
84-
TextComponent eventComp = getEventComponent(e.getComponent());
85-
e.setComponent(eventComp.append(beforeMsg.append(msgComp.append(afterMsg))));
82+
Style sty = getSpecialStyleComponents(e.getComponent());
83+
TextComponent pfx = new TextComponent("");
84+
if(sty != null) pfx.setStyle(sty);
85+
e.setComponent(pfx.append(beforeMsg.append(msgComp.append(afterMsg))));
8686
}
8787
}

src/main/java/com/jeremiahbl/bfcmod/events/PlayerEventHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ public void onTabListNameFormatEvent(TabListNameFormat e) {
3030
if(ConfigHandler.config.enableTabListIntegration.get() && e.getPlayer() != null && e.getPlayer() instanceof ServerPlayer) {
3131
GameProfile player = e.getPlayer().getGameProfile();
3232
e.setDisplayName(BetterForgeChatUtilities.getFormattedPlayerName(player,
33-
enableNicknamesInTabList && PermissionsHandler.playerHasPermission(player.getId(), PermissionsHandler.tabListNicknameNode),
34-
enableMetadataInTabList && PermissionsHandler.playerHasPermission(player.getId(), PermissionsHandler.tabListMetadataNode)));
33+
enableNicknamesInTabList &&
34+
PermissionsHandler.playerHasPermission(player.getId(), PermissionsHandler.tabListNicknameNode),
35+
enableMetadataInTabList &&
36+
PermissionsHandler.playerHasPermission(player.getId(), PermissionsHandler.tabListMetadataNode)));
3537
}
3638
}
3739
@SubscribeEvent

0 commit comments

Comments
 (0)