mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-14 21:22:09 +00:00
Cleanup: Comment and simplify /list code - More to do.
This commit is contained in:
parent
5b55fd97e6
commit
984eca9723
2 changed files with 39 additions and 60 deletions
|
@ -130,24 +130,20 @@ public class Commandlist extends EssentialsCommand
|
||||||
final StringBuilder outputString = new StringBuilder();
|
final StringBuilder outputString = new StringBuilder();
|
||||||
Set<String> configGroups = ess.getSettings().getListGroupConfig().keySet();
|
Set<String> configGroups = ess.getSettings().getListGroupConfig().keySet();
|
||||||
List<String> usedGroups = new ArrayList<String>();
|
List<String> usedGroups = new ArrayList<String>();
|
||||||
List<String> usedGroupsAsterisk = new ArrayList<String>();
|
List<String> asterisk = new ArrayList<String>();
|
||||||
Map<String, Boolean> asterisk = new HashMap<String, Boolean>();
|
|
||||||
boolean hasAsterisk = false;
|
|
||||||
|
|
||||||
for (String group : configGroups)
|
for (String group : configGroups)
|
||||||
{
|
{
|
||||||
boolean userLimit = false;
|
|
||||||
String groupValue = ess.getSettings().getListGroupConfig().get(group).toString().trim();
|
String groupValue = ess.getSettings().getListGroupConfig().get(group).toString().trim();
|
||||||
|
group = group.toLowerCase();
|
||||||
|
|
||||||
// If the group value is an asterisk, then skip it, and handle it later
|
// If the group value is an asterisk, then skip it, and handle it later
|
||||||
if (groupValue.equals("*"))
|
if (groupValue.equals("*"))
|
||||||
{
|
{
|
||||||
asterisk.put(group, true);
|
asterisk.add(group);
|
||||||
hasAsterisk = true;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
group = group.toLowerCase();
|
|
||||||
usedGroups.add(group);
|
usedGroups.add(group);
|
||||||
|
|
||||||
// If the group value is hidden, we don't need to display it
|
// If the group value is hidden, we don't need to display it
|
||||||
|
@ -156,18 +152,13 @@ public class Commandlist extends EssentialsCommand
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (Util.isInt(groupValue))
|
|
||||||
{
|
|
||||||
userLimit = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
final List<User> users = new ArrayList<User>();
|
final List<User> users = new ArrayList<User>();
|
||||||
List<User> u = playerList.get(group);
|
List<User> u = playerList.get(group);
|
||||||
if (u != null && !u.isEmpty())
|
|
||||||
{
|
|
||||||
|
|
||||||
if (userLimit)
|
// If the group value is an int, then we might need to truncate it
|
||||||
|
if (Util.isInt(groupValue))
|
||||||
|
{
|
||||||
|
if (u != null && !u.isEmpty())
|
||||||
{
|
{
|
||||||
users.addAll(u);
|
users.addAll(u);
|
||||||
int limit = Integer.parseInt(groupValue);
|
int limit = Integer.parseInt(groupValue);
|
||||||
|
@ -181,8 +172,10 @@ public class Commandlist extends EssentialsCommand
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the group value is a list, we need to merge groups together.
|
||||||
if (groupValue.contains(",") || playerList.containsKey(groupValue.toLowerCase()))
|
if (groupValue.contains(",") || playerList.containsKey(groupValue.toLowerCase()))
|
||||||
{
|
{
|
||||||
if (playerList.containsKey(groupValue))
|
if (playerList.containsKey(groupValue))
|
||||||
|
@ -193,7 +186,6 @@ public class Commandlist extends EssentialsCommand
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
users.addAll(u);
|
users.addAll(u);
|
||||||
usedGroupsAsterisk.add(groupValue);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -211,18 +203,16 @@ public class Commandlist extends EssentialsCommand
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
users.addAll(u);
|
users.addAll(u);
|
||||||
usedGroupsAsterisk.add(g);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we have no users, than we don't need to continue parsing this group
|
||||||
if (users == null || users.isEmpty())
|
if (users == null || users.isEmpty())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (ess.getPermissionsHandler().getName().equals("ConfigPermissions"))
|
|
||||||
{
|
|
||||||
group = _("connectedPlayers");
|
|
||||||
}
|
|
||||||
outputString.append(_("listGroupTag", Util.replaceFormat(group)));
|
outputString.append(_("listGroupTag", Util.replaceFormat(group)));
|
||||||
outputString.append(listUsers(users));
|
outputString.append(listUsers(users));
|
||||||
outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0)));
|
outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0)));
|
||||||
|
@ -230,61 +220,50 @@ public class Commandlist extends EssentialsCommand
|
||||||
outputString.setLength(0);
|
outputString.setLength(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] groups = playerList.keySet().toArray(new String[0]);
|
String[] onlineGroups = playerList.keySet().toArray(new String[0]);
|
||||||
Arrays.sort(groups, String.CASE_INSENSITIVE_ORDER);
|
Arrays.sort(onlineGroups, String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
|
|
||||||
|
if (!asterisk.isEmpty())
|
||||||
|
{
|
||||||
List<User> asteriskUsers = new ArrayList<User>();
|
List<User> asteriskUsers = new ArrayList<User>();
|
||||||
String asteriskGroup = "";
|
|
||||||
if (hasAsterisk)
|
for (String group : onlineGroups)
|
||||||
{
|
|
||||||
for (String key : asterisk.keySet())
|
|
||||||
{
|
|
||||||
if (asterisk.get(key) == true)
|
|
||||||
{
|
|
||||||
asteriskGroup = key.toLowerCase();
|
|
||||||
for (String group : groups)
|
|
||||||
{
|
|
||||||
group = group.toLowerCase().trim();
|
|
||||||
if (usedGroups.contains(group) || usedGroupsAsterisk.contains(group))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
asteriskUsers.addAll(playerList.get(group));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (String group : groups)
|
|
||||||
{
|
{
|
||||||
group = group.toLowerCase().trim();
|
group = group.toLowerCase().trim();
|
||||||
if (usedGroups.contains(group))
|
if (usedGroups.contains(group))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
asteriskUsers.addAll(playerList.get(group));
|
||||||
|
}
|
||||||
|
for (String key : asterisk)
|
||||||
|
{
|
||||||
|
playerList.put(key, asteriskUsers);
|
||||||
|
}
|
||||||
|
onlineGroups = asterisk.toArray(new String[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (String group : onlineGroups)
|
||||||
|
{
|
||||||
|
group = group.toLowerCase().trim();
|
||||||
|
if (usedGroups.contains(group))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
List<User> users = playerList.get(group);
|
List<User> users = playerList.get(group);
|
||||||
|
|
||||||
if (ess.getPermissionsHandler().getName().equals("ConfigPermissions"))
|
if (ess.getPermissionsHandler().getName().equals("ConfigPermissions"))
|
||||||
{
|
{
|
||||||
group = _("connectedPlayers");
|
group = _("connectedPlayers");
|
||||||
}
|
}
|
||||||
if (hasAsterisk)
|
|
||||||
{
|
|
||||||
if (asteriskUsers == null || asteriskUsers.isEmpty())
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
users = asteriskUsers;
|
|
||||||
group = asteriskGroup;
|
|
||||||
}
|
|
||||||
outputString.append(_("listGroupTag", Util.replaceFormat(group)));
|
|
||||||
|
|
||||||
|
outputString.append(_("listGroupTag", Util.replaceFormat(group)));
|
||||||
outputString.append(listUsers(users));
|
outputString.append(listUsers(users));
|
||||||
outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0)));
|
outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0)));
|
||||||
sender.sendMessage(outputString.toString());
|
sender.sendMessage(outputString.toString());
|
||||||
outputString.setLength(0);
|
outputString.setLength(0);
|
||||||
if (hasAsterisk)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -294,7 +294,7 @@ list:
|
||||||
#builder: 20
|
#builder: 20
|
||||||
# To hide groups, set the group as hidden
|
# To hide groups, set the group as hidden
|
||||||
#default: hidden
|
#default: hidden
|
||||||
Players: *
|
Players: '*'
|
||||||
|
|
||||||
# More output to the console.
|
# More output to the console.
|
||||||
debug: false
|
debug: false
|
||||||
|
|
Loading…
Reference in a new issue