Add basic support for hover objects in prefixes
This commit is contained in:
parent
aebb1b83a5
commit
b0ae7e66d1
|
|
@ -158,6 +158,7 @@ public final class Config {
|
||||||
|
|
||||||
/** ONLY EDIT ANYTHING BELOW THIS LINE **/
|
/** ONLY EDIT ANYTHING BELOW THIS LINE **/
|
||||||
public static List<String> PREFIXGROUPS = new ArrayList<>();
|
public static List<String> PREFIXGROUPS = new ArrayList<>();
|
||||||
|
public static List<String> CONFLICTINGPREFIXGROUPS = new ArrayList<>();
|
||||||
public static List<String> STAFFGROUPS = new ArrayList<>();
|
public static List<String> STAFFGROUPS = new ArrayList<>();
|
||||||
public static String MINIMIUMSTAFFRANK = "trainee";
|
public static String MINIMIUMSTAFFRANK = "trainee";
|
||||||
public static String CONSOLENAME = "Console";
|
public static String CONSOLENAME = "Console";
|
||||||
|
|
@ -165,6 +166,9 @@ public final class Config {
|
||||||
private static void settings() {
|
private static void settings() {
|
||||||
PREFIXGROUPS = getList("settings.prefix-groups",
|
PREFIXGROUPS = getList("settings.prefix-groups",
|
||||||
Lists.newArrayList("discord", "socialmedia", "eventteam", "eventleader", "youtube", "twitch", "developer"));
|
Lists.newArrayList("discord", "socialmedia", "eventteam", "eventleader", "youtube", "twitch", "developer"));
|
||||||
|
CONFLICTINGPREFIXGROUPS = getList("settings.prefix-conflicts-groups",
|
||||||
|
Lists.newArrayList("eventteam", "eventleader"));
|
||||||
|
|
||||||
STAFFGROUPS = getList("settings.staff-groups",
|
STAFFGROUPS = getList("settings.staff-groups",
|
||||||
Lists.newArrayList("trainee", "moderator", "headmod", "admin", "manager", "owner"));
|
Lists.newArrayList("trainee", "moderator", "headmod", "admin", "manager", "owner"));
|
||||||
CONSOLENAME = getString("settings.console-name", CONSOLENAME);
|
CONSOLENAME = getString("settings.console-name", CONSOLENAME);
|
||||||
|
|
|
||||||
|
|
@ -62,13 +62,16 @@ public class Utility {
|
||||||
StringBuilder prefix = new StringBuilder();
|
StringBuilder prefix = new StringBuilder();
|
||||||
LuckPerms luckPerms = ChatAPI.get().getLuckPerms();
|
LuckPerms luckPerms = ChatAPI.get().getLuckPerms();
|
||||||
User user = luckPerms.getUserManager().getUser(uuid);
|
User user = luckPerms.getUserManager().getUser(uuid);
|
||||||
|
List<String> prefixGroups = Config.PREFIXGROUPS;
|
||||||
|
if(prefixGroups.containsAll(Config.CONFLICTINGPREFIXGROUPS))
|
||||||
|
prefixGroups.remove("eventteam"); // hardcoded for now, new prefix system would load this from config
|
||||||
if(user == null) return Component.empty();
|
if(user == null) return Component.empty();
|
||||||
if(!single) {
|
if(!single) {
|
||||||
Collection<Group> inheritedGroups = user.getInheritedGroups(user.getQueryOptions());
|
Collection<Group> inheritedGroups = user.getInheritedGroups(user.getQueryOptions());
|
||||||
inheritedGroups.stream()
|
inheritedGroups.stream()
|
||||||
.sorted(Comparator.comparingInt(o -> o.getWeight().orElse(0)))
|
.sorted(Comparator.comparingInt(o -> o.getWeight().orElse(0)))
|
||||||
.forEach(group -> {
|
.forEach(group -> {
|
||||||
if (Config.PREFIXGROUPS.contains(group.getName())) {
|
if (prefixGroups.contains(group.getName())) {
|
||||||
prefix.append(getGroupPrefix(group));
|
prefix.append(getGroupPrefix(group));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -92,8 +95,22 @@ public class Utility {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getGroupPrefix(Group group) {
|
public static String getGroupPrefix(Group group) {
|
||||||
|
switch (group.getName()) { // hardcoded for now, new prefix system would load this from config
|
||||||
return group.getCachedData().getMetaData().getPrefix();
|
case "discord":
|
||||||
|
return "<hover:show_text:'&dNitro Booster in our discord'>" + group.getCachedData().getMetaData().getPrefix() + "</hover>";
|
||||||
|
case "socialmedia":
|
||||||
|
return "<hover:show_text:'&6Social Media, this person manages our Socials'>" + group.getCachedData().getMetaData().getPrefix() + "</hover>";
|
||||||
|
case "eventteam":
|
||||||
|
return "<hover:show_text:'&6Event Team, this person is part of the event team'>" + group.getCachedData().getMetaData().getPrefix() + "</hover>";
|
||||||
|
case "eventleader":
|
||||||
|
return "<hover:show_text:'&6Event Leader, this person is an event leader'>" + group.getCachedData().getMetaData().getPrefix() + "</hover>";
|
||||||
|
case "youtube":
|
||||||
|
return "<hover:show_text:'&6This person creates Altitude content on YouTube'>" + group.getCachedData().getMetaData().getPrefix() + "</hover>";
|
||||||
|
case "twitch":
|
||||||
|
return "<hover:show_text:'&6This person creates Altitude content on Twitch'>" + group.getCachedData().getMetaData().getPrefix() + "</hover>";
|
||||||
|
default:
|
||||||
|
return group.getCachedData().getMetaData().getPrefix();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getDisplayName(UUID uuid, String playerName) {
|
public static String getDisplayName(UUID uuid, String playerName) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user