Skip to content

Commit 1163371

Browse files
committed
3.0.1
1 parent ba7b636 commit 1163371

33 files changed

+1756
-548
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>svar.ajneb97</groupId>
88
<artifactId>ServerVariables</artifactId>
9-
<version>2.8.1</version>
9+
<version>3.0.1</version>
1010
<packaging>jar</packaging>
1111

1212
<properties>

src/main/java/svar/ajneb97/ServerVariables.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.bukkit.plugin.java.JavaPlugin;
77
import svar.ajneb97.api.ServerVariablesAPI;
88
import svar.ajneb97.api.ServerVariablesExpansion;
9+
import svar.ajneb97.commands.MainCommand;
910
import svar.ajneb97.config.ConfigsManager;
1011
import svar.ajneb97.database.MySQLConnection;
1112
import svar.ajneb97.listeners.PlayerListener;
@@ -15,8 +16,6 @@
1516
import svar.ajneb97.tasks.DataSaveTask;
1617
import svar.ajneb97.utils.ServerVersion;
1718

18-
import java.io.File;
19-
2019

2120
public class ServerVariables extends JavaPlugin {
2221

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package svar.ajneb97.api;
2+
3+
import org.bukkit.entity.Player;
4+
import svar.ajneb97.model.structure.Variable;
5+
6+
import java.util.List;
7+
8+
public class ListVariableChangeEvent extends VariableChangeEvent {
9+
private List<String> newValue;
10+
private List<String> oldValue;
11+
private int indexModified;
12+
13+
public ListVariableChangeEvent(Player player, Variable variable, List<String> newValue, List<String> oldValue, int indexModified) {
14+
super(player, variable);
15+
this.newValue = newValue;
16+
this.oldValue = oldValue;
17+
this.indexModified = indexModified;
18+
}
19+
20+
@Override
21+
public List<String> getNewValue() {
22+
return newValue;
23+
}
24+
25+
@Override
26+
public List<String> getOldValue() {
27+
return oldValue;
28+
}
29+
30+
public int getIndexModified() {
31+
return indexModified;
32+
}
33+
}
Lines changed: 111 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package svar.ajneb97.api;
22

33
import svar.ajneb97.ServerVariables;
4-
import svar.ajneb97.managers.VariablesManager;
5-
import svar.ajneb97.model.VariableResult;
4+
import svar.ajneb97.model.ListVariableResult;
5+
import svar.ajneb97.model.StringVariableResult;
66
import svar.ajneb97.model.ServerVariablesPlayer;
7-
import svar.ajneb97.model.structure.Variable;
7+
import svar.ajneb97.model.structure.ListVariable;
8+
import svar.ajneb97.model.structure.StringVariable;
89

10+
import java.util.List;
911
import java.util.UUID;
1012

1113
public class ServerVariablesAPI {
@@ -15,43 +17,108 @@ public ServerVariablesAPI(ServerVariables plugin) {
1517
this.plugin = plugin;
1618
}
1719

18-
public static String getServerVariableValue(String variableName){
19-
VariableResult result = plugin.getServerVariablesManager().getVariableValue(variableName,false);
20-
return result.getResultValue();
20+
public static StringVariableResult getVariableValue(UUID uuid, String variableName){
21+
return plugin.getPlayerVariablesManager().getVariableValue(uuid, variableName, false);
22+
}
23+
24+
public static StringVariableResult getVariableValue(String playerName, String variableName){
25+
return plugin.getPlayerVariablesManager().getVariableValue(playerName, variableName, false);
2126
}
2227

23-
public static String getServerVariableDisplay(String variableName){
24-
VariableResult result = plugin.getServerVariablesManager().getVariableValue(variableName,false);
28+
public static StringVariableResult getVariableValue(String variableName){
29+
return plugin.getVariablesManager().getVariableValue(null, variableName, false);
30+
}
31+
32+
public static String getVariableDisplay(String playerName, String variableName){
33+
StringVariableResult result = plugin.getVariablesManager().getVariableValue(playerName,variableName,false);
2534
if(result.getVariable() != null){
2635
return plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(),result.getResultValue());
2736
}
2837
return result.getResultValue();
2938
}
3039

31-
public static String getPlayerVariableValue(UUID uuid, String variableName){
32-
VariableResult result = plugin.getPlayerVariablesManager().getVariableValue(uuid, variableName, false);
40+
public static String getVariableDisplay(String variableName){
41+
StringVariableResult result = plugin.getVariablesManager().getVariableValue(null,variableName,false);
42+
if(result.getVariable() != null){
43+
return plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(),result.getResultValue());
44+
}
3345
return result.getResultValue();
3446
}
3547

36-
public static String getPlayerVariableValue(String playerName, String variableName){
37-
VariableResult result = plugin.getPlayerVariablesManager().getVariableValue(playerName, variableName, false);
48+
public static StringVariableResult setVariableValue(String variableName, String value){
49+
return plugin.getVariablesManager().setVariableValue(null,variableName,value);
50+
}
51+
52+
public static StringVariableResult setVariableValue(UUID uuid, String variableName, String value){
53+
return plugin.getPlayerVariablesManager().setVariable(uuid,variableName,value);
54+
}
55+
56+
public static StringVariableResult setVariableValue(String playerName, String variableName, String value){
57+
return plugin.getPlayerVariablesManager().setVariable(playerName,variableName,value);
58+
}
59+
60+
public static StringVariableResult getListVariableValueAtIndex(UUID uuid, String variableName, int index){
61+
return plugin.getPlayerVariablesManager().getListVariableValueAtIndex(uuid, variableName, index);
62+
}
63+
64+
public static StringVariableResult getListVariableValueAtIndex(String playerName, String variableName, int index){
65+
return plugin.getPlayerVariablesManager().getListVariableValueAtIndex(playerName, variableName, index);
66+
}
67+
68+
public static StringVariableResult getListVariableValueAtIndex(String variableName, int index){
69+
return plugin.getVariablesManager().getListVariablesManager().getListVariableValueAtIndex(null, variableName, index);
70+
}
71+
72+
public static String getListVariableDisplayAtIndex(String playerName, String variableName, int index){
73+
StringVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValueAtIndex(playerName,variableName,index);
74+
if(result.getVariable() != null){
75+
return plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(),result.getResultValue());
76+
}
3877
return result.getResultValue();
3978
}
4079

41-
public static String getPlayerVariableDisplay(String playerName, String variableName){
42-
VariableResult result = plugin.getPlayerVariablesManager().getVariableValue(playerName, variableName, false);
80+
public static String getListVariableDisplayAtIndex(String variableName, int index){
81+
StringVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValueAtIndex(null,variableName,index);
4382
if(result.getVariable() != null){
4483
return plugin.getVariablesManager().getDisplayFromVariableValue(result.getVariable(),result.getResultValue());
4584
}
4685
return result.getResultValue();
4786
}
4887

49-
public static VariableResult setPlayerVariableValue(UUID uuid, String variableName, String value){
50-
return plugin.getPlayerVariablesManager().setVariable(uuid,variableName,value);
88+
public static StringVariableResult setListVariableValueAtIndex(String variableName, int index, String value){
89+
return plugin.getVariablesManager().getListVariablesManager().setListVariableValue(null,variableName,index,value,false);
5190
}
5291

53-
public static VariableResult setPlayerVariableValue(String playerName, String variableName, String value){
54-
return plugin.getPlayerVariablesManager().setVariable(playerName,variableName,value);
92+
public static StringVariableResult setListVariableValueAtIndex(UUID uuid, String variableName, int index, String value){
93+
return plugin.getPlayerVariablesManager().setListVariableAtIndex(uuid,variableName,index,value);
94+
}
95+
96+
public static StringVariableResult setListVariableValueAtIndex(String playerName, String variableName, int index, String value){
97+
return plugin.getPlayerVariablesManager().setListVariableAtIndex(playerName,variableName,index,value);
98+
}
99+
100+
public static int getListVariableLength(UUID uuid, String variableName){
101+
ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(uuid, variableName);
102+
if(result.isError() || result.getResultValue() == null){
103+
return 0;
104+
}
105+
return result.getResultValue().size();
106+
}
107+
108+
public static int getListVariableLength(String playerName, String variableName){
109+
ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(playerName, variableName);
110+
if(result.isError() || result.getResultValue() == null){
111+
return 0;
112+
}
113+
return result.getResultValue().size();
114+
}
115+
116+
public static int getListVariableLength(String variableName){
117+
ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false);
118+
if(result.isError() || result.getResultValue() == null){
119+
return 0;
120+
}
121+
return result.getResultValue().size();
55122
}
56123

57124
public static ServerVariablesPlayer getPlayerByName(String playerName){
@@ -62,11 +129,35 @@ public static ServerVariablesPlayer getPlayerByUUID(UUID uuid){
62129
return plugin.getPlayerVariablesManager().getPlayerByUUID(uuid);
63130
}
64131

65-
public static String getVariableInitialValue(String variableName){
66-
Variable variable = plugin.getVariablesManager().getVariable(variableName);
132+
public static String getStringVariableInitialValue(String variableName){
133+
StringVariable variable = (StringVariable) plugin.getVariablesManager().getVariable(variableName);
67134
if(variable == null){
68135
return null;
69136
}
70137
return variable.getInitialValue();
71138
}
139+
140+
public static List<String> getListVariableInitialValue(String variableName){
141+
ListVariable variable = (ListVariable) plugin.getVariablesManager().getVariable(variableName);
142+
if(variable == null){
143+
return null;
144+
}
145+
return variable.getInitialValue();
146+
}
147+
148+
public static boolean listVariableContainsValue(String playerName, String variableName,String value){
149+
ListVariableResult result = plugin.getPlayerVariablesManager().getListVariableValue(playerName, variableName);
150+
if(result.isError() || result.getResultValue() == null){
151+
return false;
152+
}
153+
return result.getResultValue().contains(value);
154+
}
155+
156+
public static boolean listVariableContainsValue(String variableName,String value){
157+
ListVariableResult result = plugin.getVariablesManager().getListVariablesManager().getListVariableValue(null, variableName, false);
158+
if(result.isError() || result.getResultValue() == null){
159+
return false;
160+
}
161+
return result.getResultValue().contains(value);
162+
}
72163
}

src/main/java/svar/ajneb97/api/ServerVariablesExpansion.java

Lines changed: 80 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.bukkit.entity.Player;
44
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
55
import svar.ajneb97.ServerVariables;
6+
import svar.ajneb97.model.StringVariableResult;
67

78
public class ServerVariablesExpansion extends PlaceholderExpansion {
89

@@ -40,47 +41,118 @@ public String getVersion(){
4041

4142
@Override
4243
public String onPlaceholderRequest(Player player, String identifier){
44+
StringVariableResult result;
45+
if(identifier.startsWith("list_")){
46+
// %servervariables_list_globalvalue_<index>_<variable>%
47+
// %servervariables_list_globaldisplay_<index>_<variable>%
48+
// %servervariables_list_value_<index>_<variable>%
49+
// %servervariables_list_display_<index>_<variable>%
50+
// %servervariables_list_globallength_<variable>%
51+
// %servervariables_list_length_<variable>%
52+
// %servervariables_list_globalcontains_<variable>:<value>%
53+
// %servervariables_list_contains_<variable>:<value>%
54+
String identifierM = identifier.replace("list_","");
55+
String[] sep = identifierM.split("_");
56+
String subIdentifier = sep[0];
4357

44-
if(identifier.startsWith("globalvalue_")){
58+
switch(subIdentifier){
59+
case "globalvalue": {
60+
int index = Integer.parseInt(sep[1]);
61+
String variableName = identifierM.substring(identifierM.indexOf(index + "_") + (index + "_").length());
62+
result = ServerVariablesAPI.getListVariableValueAtIndex(variableName, index);
63+
return result.getResultValue() != null ? result.getResultValue() : result.getErrorKey();
64+
}
65+
case "globaldisplay": {
66+
int index = Integer.parseInt(sep[1]);
67+
String variableName = identifierM.substring(identifierM.indexOf(index + "_") + (index + "_").length());
68+
return ServerVariablesAPI.getListVariableDisplayAtIndex(variableName, index);
69+
}
70+
case "value": {
71+
if (player == null) {
72+
return "";
73+
}
74+
int index = Integer.parseInt(sep[1]);
75+
String variableName = identifierM.substring(identifierM.indexOf(index + "_") + (index + "_").length());
76+
77+
result = ServerVariablesAPI.getListVariableValueAtIndex(player.getName(), variableName, index);
78+
return result.getResultValue() != null ? result.getResultValue() : result.getErrorKey();
79+
}
80+
case "display": {
81+
if (player == null) {
82+
return "";
83+
}
84+
int index = Integer.parseInt(sep[1]);
85+
String variableName = identifierM.substring(identifierM.indexOf(index + "_") + (index + "_").length());
86+
return ServerVariablesAPI.getListVariableDisplayAtIndex(player.getName(), variableName, index);
87+
}
88+
case "globallength": {
89+
String variableName = identifierM.replace("globallength_", "");
90+
return ServerVariablesAPI.getListVariableLength(variableName) + "";
91+
}
92+
case "length": {
93+
if (player == null) {
94+
return "";
95+
}
96+
String variableName = identifierM.replace("length_", "");
97+
return ServerVariablesAPI.getListVariableLength(player.getName(), variableName) + "";
98+
}
99+
case "globalcontains": {
100+
String variableName = identifierM.replace("globalcontains_", "");
101+
String[] sep2 = variableName.split(":");
102+
return ServerVariablesAPI.listVariableContainsValue(sep2[0], sep2[1]) + "";
103+
}
104+
case "contains": {
105+
if (player == null) {
106+
return "";
107+
}
108+
String variableName = identifierM.replace("contains_", "");
109+
String[] sep2 = variableName.split(":");
110+
return ServerVariablesAPI.listVariableContainsValue(player.getName(), sep2[0], sep2[1]) + "";
111+
}
112+
}
113+
}else if(identifier.startsWith("globalvalue_")){
45114
// %servervariables_globalvalue_<variable>%
46115
String variableName = identifier.replace("globalvalue_", "");
47-
return ServerVariablesAPI.getServerVariableValue(variableName);
116+
result = ServerVariablesAPI.getVariableValue(variableName);
117+
return result.getResultValue() != null ? result.getResultValue() : result.getErrorKey();
48118
}else if(identifier.startsWith("globaldisplay_")){
49119
// %servervariables_globaldisplay_<variable>%
50120
String variableName = identifier.replace("globaldisplay_", "");
51-
return ServerVariablesAPI.getServerVariableDisplay(variableName);
121+
return ServerVariablesAPI.getVariableDisplay(variableName);
52122
}else if(identifier.startsWith("value_otherplayer_")){
53123
// %servervariables_value_otherplayer_<player>:<variable>%
54124
String var = identifier.replace("value_otherplayer_", "");
55125
int index = var.indexOf(":");
56126
String playerName = var.substring(0,index);
57127
String variable = var.substring(index+1);
58-
return ServerVariablesAPI.getPlayerVariableValue(playerName,variable);
128+
result = ServerVariablesAPI.getVariableValue(playerName,variable);
129+
return result.getResultValue() != null ? result.getResultValue() : result.getErrorKey();
59130
}else if(identifier.startsWith("display_otherplayer_")){
60131
// %servervariables_display_otherplayer_<player>:<variable>%
61132
String var = identifier.replace("display_otherplayer_", "");
62133
int index = var.indexOf(":");
63134
String playerName = var.substring(0,index);
64135
String variable = var.substring(index+1);
65-
return ServerVariablesAPI.getPlayerVariableDisplay(playerName,variable);
136+
return ServerVariablesAPI.getVariableValue(playerName,variable).getResultValue();
66137
}else if(identifier.startsWith("value_")){
67138
// %servervariables_value_<variable>%
68139
if(player == null){
69140
return "";
70141
}
71142
String variableName = identifier.replace("value_", "");
72-
return ServerVariablesAPI.getPlayerVariableValue(player.getName(),variableName);
143+
result = ServerVariablesAPI.getVariableValue(player.getName(),variableName);
144+
return result.getResultValue() != null ? result.getResultValue() : result.getErrorKey();
73145
}else if(identifier.startsWith("display_")) {
74146
// %servervariables_display_<variable>%
75147
if(player == null){
76148
return "";
77149
}
78150
String variableName = identifier.replace("display_", "");
79-
return ServerVariablesAPI.getPlayerVariableDisplay(player.getName(),variableName);
151+
return ServerVariablesAPI.getVariableDisplay(player.getName(),variableName);
80152
}else if(identifier.startsWith("initial_value_")){
81153
// %servervariables_initial_value_<variable>%
82154
String variableName = identifier.replace("initial_value_", "");
83-
return ServerVariablesAPI.getVariableInitialValue(variableName);
155+
return ServerVariablesAPI.getStringVariableInitialValue(variableName);
84156
}
85157

86158
return null;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package svar.ajneb97.api;
2+
3+
import org.bukkit.entity.Player;
4+
import svar.ajneb97.model.structure.Variable;
5+
6+
public class StringVariableChangeEvent extends VariableChangeEvent {
7+
private String newValue;
8+
private String oldValue;
9+
10+
public StringVariableChangeEvent(Player player, Variable variable, String newValue, String oldValue) {
11+
super(player, variable);
12+
this.newValue = newValue;
13+
this.oldValue = oldValue;
14+
}
15+
16+
@Override
17+
public String getNewValue() {
18+
return newValue;
19+
}
20+
21+
@Override
22+
public String getOldValue() {
23+
return oldValue;
24+
}
25+
}

0 commit comments

Comments
 (0)