@@ -74,18 +74,41 @@ public void help(CommandSender sender, String[] args, FileConfiguration config,
74
74
public void set (CommandSender sender , String [] args , FileConfiguration config , MessagesManager msgManager ){
75
75
//servervariables set <variable> <value> (Set global variable)
76
76
//servervariables set <variable> <value> <player> (Set player variable)
77
+ //servervariables set <variable> "<value with spaces>" <player>
77
78
if (args .length <= 2 ){
78
79
msgManager .sendMessage (sender ,config .getString ("messages.commandSetError" ),true );
79
80
return ;
80
81
}
81
82
82
83
String variableName = args [1 ];
83
84
String newValue = args [2 ];
85
+
86
+ int valueExtraArgs = 0 ;
87
+ if (newValue .startsWith ("\" " )){
88
+ String newValueWithSpaces = newValue ; // "value with spaces"
89
+ for (int i =3 ;i <args .length ;i ++){
90
+ String arg = args [i ];
91
+ newValueWithSpaces =newValueWithSpaces +" " +arg ;
92
+ valueExtraArgs ++;
93
+ if (arg .endsWith ("\" " )){
94
+ break ;
95
+ }
96
+ }
97
+
98
+ if (!newValueWithSpaces .startsWith ("\" " ) || !newValueWithSpaces .endsWith ("\" " )){
99
+ msgManager .sendMessage (sender ,config .getString ("messages.commandSetError" ),true );
100
+ return ;
101
+ }
102
+
103
+ newValue = newValueWithSpaces .replace ("\" " ,"" );
104
+ }
105
+
106
+
84
107
String playerName = null ;
85
108
86
109
VariableResult result = null ;
87
- if (args .length >= 4 && !args [3 ].equals ("silent:true" )){
88
- playerName = args [3 ];
110
+ if (args .length >= 4 + valueExtraArgs && !args [3 + valueExtraArgs ].equals ("silent:true" )){
111
+ playerName = args [3 + valueExtraArgs ];
89
112
result = plugin .getPlayerVariablesManager ().setVariable (playerName ,variableName ,newValue );
90
113
}else {
91
114
result = plugin .getServerVariablesManager ().setVariable (variableName ,newValue );
@@ -220,7 +243,11 @@ public void reset(CommandSender sender, String[] args, FileConfiguration config,
220
243
221
244
private void sendMessageSet (CommandSender sender ,VariableResult result ,MessagesManager msgManager ,FileConfiguration config ,
222
245
String variableName ,String playerName ,boolean silent ){
246
+ boolean silentCommandsHideErrors = plugin .getConfigsManager ().getMainConfigManager ().isSilentCommandsHideErrors ();
223
247
if (result .isError ()){
248
+ if (silent && silentCommandsHideErrors ){
249
+ return ;
250
+ }
224
251
msgManager .sendMessage (sender ,result .getErrorMessage (),true );
225
252
}else {
226
253
if (silent ){
0 commit comments