Skip to content

Commit 79e8a58

Browse files
committed
Fix chat formatting for missing groups
1 parent 760fefc commit 79e8a58

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

API/src/main/java/me/innectic/permissify/api/util/ChatFormatter.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,16 @@ public static String formatChat(UUID uuid, String username, String message) {
5252
DatabaseHandler handler = PermissifyAPI.get().get().getDatabaseHandler().get();
5353

5454
Optional<PermissionGroup> group = handler.getPrimaryGroup(uuid);
55-
if (!group.isPresent()) return username + ": " + message;
55+
if (!group.isPresent()) return username + ": " + message; // TODO: Should be configurable
56+
String prefix = group.map(PermissionGroup::getPrefix).orElse("");
57+
String name = group.map(PermissionGroup::getName).orElse("");
58+
String suffix = group.map(PermissionGroup::getSuffix).orElse("");
59+
String chatColor = "&" + group.map(PermissionGroup::getChatColor);
60+
5661
String formatter = handler.getChatFormat(false);
57-
String finalGroup = group.get().getPrefix() + group.get().getName() + group.get().getSuffix();
58-
String color = "&" + group.get().getChatColor();
62+
String finalGroup = prefix + name + suffix;
5963
return formatter.replace("{group}", finalGroup)
60-
.replace("{username}", username).replace("{message}", color + message);
64+
.replace("{username}", username).replace("{message}", chatColor + message);
6165
}
6266

6367
/**

Spigot/src/main/java/me/innectic/permissify/spigot/events/PlayerChat.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,8 @@ public void onPlayerChat(AsyncPlayerChatEvent e) {
4949
if (!plugin.getPermissifyAPI().getDatabaseHandler().isPresent()) return;
5050
Player player = e.getPlayer();
5151
if (player == null) return;
52-
Optional<PermissionGroup> group = plugin.getPermissifyAPI().getDatabaseHandler().get().getGroups().stream()
53-
.filter(permissionGroup -> permissionGroup.hasPlayer(player.getUniqueId()))
54-
.filter(permissionGroup -> permissionGroup.isPrimaryGroup(player.getUniqueId())).findFirst();
55-
group.ifPresent(permissionGroup -> {
56-
e.setCancelled(true);
57-
Bukkit.broadcastMessage(ColorUtil.makeReadable(ChatFormatter.formatChat(player.getUniqueId(), player.getName(), e.getMessage())));
58-
});
52+
e.setCancelled(true);
53+
String formatted = ChatFormatter.formatChat(player.getUniqueId(), player.getName(), e.getMessage());
54+
Bukkit.broadcastMessage(ColorUtil.makeReadable(formatted));
5955
}
6056
}

0 commit comments

Comments
 (0)