From 6fbfd3c620872b1467809652ba92223b35817951 Mon Sep 17 00:00:00 2001 From: Technofied <40795318+Technofied@users.noreply.github.com> Date: Fri, 2 Jan 2026 16:36:57 +0800 Subject: [PATCH 1/3] feat: new placeholder to return values and display values of list variables --- .../svar/ajneb97/api/ServerVariablesAPI.java | 129 ++++++++++++++++++ .../ajneb97/api/ServerVariablesExpansion.java | 26 ++++ 2 files changed, 155 insertions(+) diff --git a/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java b/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java index 7331538..047a721 100644 --- a/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java +++ b/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java @@ -161,6 +161,135 @@ public static boolean listVariableContainsValue(String variableName,String value return result.getResultValue().contains(value); } + public static String getListVariableAllValues(UUID uuid, String variableName){ + ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(uuid, variableName); + if(result.isError() || result.getResultValue() == null){ + return ""; + } + List list = result.getResultValue(); + if(list.isEmpty()){ + return ""; + } + StringBuilder values = new StringBuilder(); + for(int i = 0; i < list.size(); i++){ + if(i > 0){ + values.append(","); + } + values.append(list.get(i)); + } + return values.toString(); + } + + public static String getListVariableAllValues(String playerName, String variableName){ + ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(playerName, variableName); + if(result.isError() || result.getResultValue() == null){ + return ""; + } + List list = result.getResultValue(); + if(list.isEmpty()){ + return ""; + } + StringBuilder values = new StringBuilder(); + for(int i = 0; i < list.size(); i++){ + if(i > 0){ + values.append(","); + } + values.append(list.get(i)); + } + return values.toString(); + } + + public static String getListVariableAllValues(String variableName){ + ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false); + if(result.isError() || result.getResultValue() == null){ + return ""; + } + List list = result.getResultValue(); + if(list.isEmpty()){ + return ""; + } + StringBuilder values = new StringBuilder(); + for(int i = 0; i < list.size(); i++){ + if(i > 0){ + values.append(","); + } + values.append(list.get(i)); + } + return values.toString(); + } + + public static String getListVariableAllValuesDisplay(UUID uuid, String variableName){ + ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(uuid, variableName); + if(result.isError() || result.getResultValue() == null){ + return ""; + } + List list = result.getResultValue(); + if(list.isEmpty()){ + return ""; + } + StringBuilder values = new StringBuilder(); + for(int i = 0; i < list.size(); i++){ + if(i > 0){ + values.append(","); + } + String value = list.get(i); + if(result.getVariable() != null){ + values.append(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + }else{ + values.append(value); + } + } + return values.toString(); + } + + public static String getListVariableAllValuesDisplay(String playerName, String variableName){ + ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(playerName, variableName); + if(result.isError() || result.getResultValue() == null){ + return ""; + } + List list = result.getResultValue(); + if(list.isEmpty()){ + return ""; + } + StringBuilder values = new StringBuilder(); + for(int i = 0; i < list.size(); i++){ + if(i > 0){ + values.append(","); + } + String value = list.get(i); + if(result.getVariable() != null){ + values.append(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + }else{ + values.append(value); + } + } + return values.toString(); + } + + public static String getListVariableAllValuesDisplay(String variableName){ + ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false); + if(result.isError() || result.getResultValue() == null){ + return ""; + } + List list = result.getResultValue(); + if(list.isEmpty()){ + return ""; + } + StringBuilder values = new StringBuilder(); + for(int i = 0; i < list.size(); i++){ + if(i > 0){ + values.append(","); + } + String value = list.get(i); + if(result.getVariable() != null){ + values.append(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + }else{ + values.append(value); + } + } + return values.toString(); + } + public static ServerVariables getPlugin() { return plugin; } diff --git a/src/main/java/svar/ajneb97/api/ServerVariablesExpansion.java b/src/main/java/svar/ajneb97/api/ServerVariablesExpansion.java index 96b9cd5..b6403f3 100644 --- a/src/main/java/svar/ajneb97/api/ServerVariablesExpansion.java +++ b/src/main/java/svar/ajneb97/api/ServerVariablesExpansion.java @@ -51,6 +51,10 @@ public String onPlaceholderRequest(Player player, String identifier){ // %servervariables_list_length_% // %servervariables_list_globalcontains_:% // %servervariables_list_contains_:% + // %servervariables_list_globalallvalues_% + // %servervariables_list_allvalues_% + // %servervariables_list_globalalldisplay_% + // %servervariables_list_alldisplay_% String identifierM = identifier.replace("list_",""); String[] sep = identifierM.split("_"); String subIdentifier = sep[0]; @@ -109,6 +113,28 @@ public String onPlaceholderRequest(Player player, String identifier){ String[] sep2 = variableName.split(":"); return ServerVariablesAPI.listVariableContainsValue(player.getName(), sep2[0], sep2[1]) + ""; } + case "globalallvalues": { + String variableName = identifierM.replace("globalallvalues_", ""); + return ServerVariablesAPI.getListVariableAllValues(variableName); + } + case "allvalues": { + if (player == null) { + return ""; + } + String variableName = identifierM.replace("allvalues_", ""); + return ServerVariablesAPI.getListVariableAllValues(player.getName(), variableName); + } + case "globalalldisplay": { + String variableName = identifierM.replace("globalalldisplay_", ""); + return ServerVariablesAPI.getListVariableAllValuesDisplay(variableName); + } + case "alldisplay": { + if (player == null) { + return ""; + } + String variableName = identifierM.replace("alldisplay_", ""); + return ServerVariablesAPI.getListVariableAllValuesDisplay(player.getName(), variableName); + } } }else if(identifier.startsWith("globalvalue_")){ // %servervariables_globalvalue_% From 03563036d16f43aa43b6bcb22b858d75547325b1 Mon Sep 17 00:00:00 2001 From: Technofied <40795318+Technofied@users.noreply.github.com> Date: Fri, 2 Jan 2026 16:49:07 +0800 Subject: [PATCH 2/3] refactor: use StringJoiner for list value concatenation --- .../svar/ajneb97/api/ServerVariablesAPI.java | 64 +++++++------------ 1 file changed, 22 insertions(+), 42 deletions(-) diff --git a/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java b/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java index 047a721..33ca6d3 100644 --- a/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java +++ b/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java @@ -8,6 +8,7 @@ import svar.ajneb97.model.structure.StringVariable; import java.util.List; +import java.util.StringJoiner; import java.util.UUID; public class ServerVariablesAPI { @@ -170,12 +171,9 @@ public static String getListVariableAllValues(UUID uuid, String variableName){ if(list.isEmpty()){ return ""; } - StringBuilder values = new StringBuilder(); - for(int i = 0; i < list.size(); i++){ - if(i > 0){ - values.append(","); - } - values.append(list.get(i)); + StringJoiner values = new StringJoiner(","); + for(String value : list){ + values.add(value); } return values.toString(); } @@ -189,12 +187,9 @@ public static String getListVariableAllValues(String playerName, String variable if(list.isEmpty()){ return ""; } - StringBuilder values = new StringBuilder(); - for(int i = 0; i < list.size(); i++){ - if(i > 0){ - values.append(","); - } - values.append(list.get(i)); + StringJoiner values = new StringJoiner(","); + for(String value : list){ + values.add(value); } return values.toString(); } @@ -208,12 +203,9 @@ public static String getListVariableAllValues(String variableName){ if(list.isEmpty()){ return ""; } - StringBuilder values = new StringBuilder(); - for(int i = 0; i < list.size(); i++){ - if(i > 0){ - values.append(","); - } - values.append(list.get(i)); + StringJoiner values = new StringJoiner(","); + for(String value : list){ + values.add(value); } return values.toString(); } @@ -227,16 +219,12 @@ public static String getListVariableAllValuesDisplay(UUID uuid, String variableN if(list.isEmpty()){ return ""; } - StringBuilder values = new StringBuilder(); - for(int i = 0; i < list.size(); i++){ - if(i > 0){ - values.append(","); - } - String value = list.get(i); + StringJoiner values = new StringJoiner(","); + for(String value : list){ if(result.getVariable() != null){ - values.append(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + values.add(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); }else{ - values.append(value); + values.add(value); } } return values.toString(); @@ -251,16 +239,12 @@ public static String getListVariableAllValuesDisplay(String playerName, String v if(list.isEmpty()){ return ""; } - StringBuilder values = new StringBuilder(); - for(int i = 0; i < list.size(); i++){ - if(i > 0){ - values.append(","); - } - String value = list.get(i); + StringJoiner values = new StringJoiner(","); + for(String value : list){ if(result.getVariable() != null){ - values.append(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + values.add(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); }else{ - values.append(value); + values.add(value); } } return values.toString(); @@ -275,16 +259,12 @@ public static String getListVariableAllValuesDisplay(String variableName){ if(list.isEmpty()){ return ""; } - StringBuilder values = new StringBuilder(); - for(int i = 0; i < list.size(); i++){ - if(i > 0){ - values.append(","); - } - String value = list.get(i); + StringJoiner values = new StringJoiner(","); + for(String value : list){ if(result.getVariable() != null){ - values.append(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + values.add(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); }else{ - values.append(value); + values.add(value); } } return values.toString(); From fc075dbaaf91a2184d78d3f8e6829466abbb76cd Mon Sep 17 00:00:00 2001 From: Technofied <40795318+Technofied@users.noreply.github.com> Date: Fri, 2 Jan 2026 17:01:59 +0800 Subject: [PATCH 3/3] refactor: extract common list value joining logic into helper methods --- .../svar/ajneb97/api/ServerVariablesAPI.java | 80 +++++-------------- 1 file changed, 19 insertions(+), 61 deletions(-) diff --git a/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java b/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java index 33ca6d3..15f0a61 100644 --- a/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java +++ b/src/main/java/svar/ajneb97/api/ServerVariablesAPI.java @@ -6,6 +6,7 @@ import svar.ajneb97.model.ServerVariablesPlayer; import svar.ajneb97.model.structure.ListVariable; import svar.ajneb97.model.structure.StringVariable; +import svar.ajneb97.model.structure.Variable; import java.util.List; import java.util.StringJoiner; @@ -164,74 +165,35 @@ public static boolean listVariableContainsValue(String variableName,String value public static String getListVariableAllValues(UUID uuid, String variableName){ ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(uuid, variableName); - if(result.isError() || result.getResultValue() == null){ - return ""; - } - List list = result.getResultValue(); - if(list.isEmpty()){ - return ""; - } - StringJoiner values = new StringJoiner(","); - for(String value : list){ - values.add(value); - } - return values.toString(); + return joinListValues(result); } public static String getListVariableAllValues(String playerName, String variableName){ ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(playerName, variableName); - if(result.isError() || result.getResultValue() == null){ - return ""; - } - List list = result.getResultValue(); - if(list.isEmpty()){ - return ""; - } - StringJoiner values = new StringJoiner(","); - for(String value : list){ - values.add(value); - } - return values.toString(); + return joinListValues(result); } public static String getListVariableAllValues(String variableName){ ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false); - if(result.isError() || result.getResultValue() == null){ - return ""; - } - List list = result.getResultValue(); - if(list.isEmpty()){ - return ""; - } - StringJoiner values = new StringJoiner(","); - for(String value : list){ - values.add(value); - } - return values.toString(); + return joinListValues(result); } public static String getListVariableAllValuesDisplay(UUID uuid, String variableName){ ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(uuid, variableName); - if(result.isError() || result.getResultValue() == null){ - return ""; - } - List list = result.getResultValue(); - if(list.isEmpty()){ - return ""; - } - StringJoiner values = new StringJoiner(","); - for(String value : list){ - if(result.getVariable() != null){ - values.add(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); - }else{ - values.add(value); - } - } - return values.toString(); + return joinListValuesDisplay(result); } public static String getListVariableAllValuesDisplay(String playerName, String variableName){ ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(playerName, variableName); + return joinListValuesDisplay(result); + } + + public static String getListVariableAllValuesDisplay(String variableName){ + ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false); + return joinListValuesDisplay(result); + } + + private static String joinListValues(ListVariableResult result){ if(result.isError() || result.getResultValue() == null){ return ""; } @@ -241,17 +203,12 @@ public static String getListVariableAllValuesDisplay(String playerName, String v } StringJoiner values = new StringJoiner(","); for(String value : list){ - if(result.getVariable() != null){ - values.add(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); - }else{ - values.add(value); - } + values.add(value); } return values.toString(); } - public static String getListVariableAllValuesDisplay(String variableName){ - ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false); + private static String joinListValuesDisplay(ListVariableResult result){ if(result.isError() || result.getResultValue() == null){ return ""; } @@ -260,9 +217,10 @@ public static String getListVariableAllValuesDisplay(String variableName){ return ""; } StringJoiner values = new StringJoiner(","); + Variable variable = result.getVariable(); for(String value : list){ - if(result.getVariable() != null){ - values.add(plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(), value)); + if(variable != null){ + values.add(plugin.getVariablesManager().getDisplayFromVariableValue(variable, value)); }else{ values.add(value); }