将 ArrayList 项目分隔为常规关键字组
Seperating ArrayList items to a regular keyword group
我开始 Java 在 minecraft 中编写插件代码。现在我正在尝试添加角色名称作为前缀并在聊天中显示它。
ArrayList<String> userRoles = new ArrayList<String>();
if(player.hasPermission("chat.rank.admin")){
userRoles.add("[Admin]");
} if(player.hasPermission("chat.rank.vip")) {
userRoles.add("[VIP]");
}
event.setFormat(userRoles<>(1) + " " + player.getDisplayName() + "§7: " + msg);
// In this line, the expected output is "[Admin] user: msg" or both [Admin] [VIP] user: msg"
// But it gives "([Admin],[VIP]) user: msg"
// I'm sure it has a simple solution but as I said, I'm new here. thanks from now
您似乎正在尝试创建一个仅存储一个值的列表。
您可能想尝试创建一个函数,在 PlayerChatEvent
侦听器之外获取玩家的排名名称。
这是一个演示代码:
public String getPlayerRankName(Player p){
if (p.hasPermission("chat.rank.admin"))
return "[Admin]";
else if (p.hasPermission("chat.rank.vip"))
return "[VIP]";
else
return "";
}
然后在您的 PlayerChatEvent
事件侦听器中,在您的聊天行中调用此函数:
event.setFormat(getPlayerRankName(event.getPlayer()) + " " + player.getDisplayName() + "§7: " + msg);
我开始 Java 在 minecraft 中编写插件代码。现在我正在尝试添加角色名称作为前缀并在聊天中显示它。
ArrayList<String> userRoles = new ArrayList<String>();
if(player.hasPermission("chat.rank.admin")){
userRoles.add("[Admin]");
} if(player.hasPermission("chat.rank.vip")) {
userRoles.add("[VIP]");
}
event.setFormat(userRoles<>(1) + " " + player.getDisplayName() + "§7: " + msg);
// In this line, the expected output is "[Admin] user: msg" or both [Admin] [VIP] user: msg"
// But it gives "([Admin],[VIP]) user: msg"
// I'm sure it has a simple solution but as I said, I'm new here. thanks from now
您似乎正在尝试创建一个仅存储一个值的列表。
您可能想尝试创建一个函数,在 PlayerChatEvent
侦听器之外获取玩家的排名名称。
这是一个演示代码:
public String getPlayerRankName(Player p){
if (p.hasPermission("chat.rank.admin"))
return "[Admin]";
else if (p.hasPermission("chat.rank.vip"))
return "[VIP]";
else
return "";
}
然后在您的 PlayerChatEvent
事件侦听器中,在您的聊天行中调用此函数:
event.setFormat(getPlayerRankName(event.getPlayer()) + " " + player.getDisplayName() + "§7: " + msg);