|
20 | 20 | import java.text.SimpleDateFormat;
|
21 | 21 | import java.util.*;
|
22 | 22 | import java.util.concurrent.TimeUnit;
|
| 23 | +import java.util.function.Consumer; |
23 | 24 |
|
24 | 25 | /**
|
25 | 26 | * Created by Tareko on 23.08.2017.
|
@@ -170,80 +171,128 @@ public void execute(CommandSender sender, String[] args)
|
170 | 171 | {
|
171 | 172 | if (args[2].equalsIgnoreCase("add") && args[3].equalsIgnoreCase("permission"))
|
172 | 173 | {
|
173 |
| - if (permissionPool.getGroups().containsKey(args[1])) |
| 174 | + if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*")) |
174 | 175 | {
|
175 |
| - PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
176 | 176 | String permission = args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING);
|
177 | 177 | boolean value = !args[4].startsWith("-");
|
178 |
| - if (!permissionIsSet(permissionGroup.getPermissions(), permission, value)) |
179 |
| - { |
180 |
| - permissionGroup.getPermissions().put(permission, value); |
181 |
| - CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
182 |
| - sender.sendMessage("You added the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\""); |
183 |
| - } else |
| 178 | + |
| 179 | + Consumer<PermissionGroup> consumer = new Consumer<PermissionGroup>() { |
| 180 | + |
| 181 | + @Override |
| 182 | + public void accept(PermissionGroup permissionGroup) |
| 183 | + { |
| 184 | + if (!permissionIsSet(permissionGroup.getPermissions(), permission, value)) |
| 185 | + { |
| 186 | + permissionGroup.getPermissions().put(permission, value); |
| 187 | + CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
| 188 | + sender.sendMessage("You added the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\""); |
| 189 | + } else |
| 190 | + { |
| 191 | + sender.sendMessage("The permission " + permission + " with the value " + String.valueOf(value).toLowerCase() + " is already set for the permission group " + permissionGroup.getName()); |
| 192 | + } |
| 193 | + } |
| 194 | + }; |
| 195 | + |
| 196 | + if (args[1].equals("*")) |
| 197 | + for (PermissionGroup permissionGroup : permissionPool.getGroups().values()) |
| 198 | + consumer.accept(permissionGroup); |
| 199 | + else |
184 | 200 | {
|
185 |
| - sender.sendMessage("The permission " + permission + " with the value " + String.valueOf(value).toLowerCase() + " is already set for the permission group " + permissionGroup.getName()); |
| 201 | + PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
| 202 | + consumer.accept(permissionGroup); |
186 | 203 | }
|
187 |
| - } else |
188 |
| - { |
189 |
| - sender.sendMessage("The specified permission group doesn't exist"); |
190 |
| - } |
| 204 | + |
| 205 | + } else sender.sendMessage("The specified permission group doesn't exist"); |
191 | 206 | }
|
192 | 207 |
|
193 | 208 | if (args[2].equalsIgnoreCase("remove") && args[3].equalsIgnoreCase("permission"))
|
194 | 209 | {
|
195 |
| - if (permissionPool.getGroups().containsKey(args[1])) |
| 210 | + if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*")) |
196 | 211 | {
|
197 |
| - PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
198 |
| - permissionGroup.getPermissions().remove(args[4]); |
199 |
| - CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
200 |
| - sender.sendMessage("You removed the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\""); |
201 |
| - } else |
202 |
| - { |
203 |
| - sender.sendMessage("The specified permission group doesn't exist"); |
204 |
| - } |
| 212 | + Consumer<PermissionGroup> consumer = new Consumer<PermissionGroup>() { |
| 213 | + @Override |
| 214 | + public void accept(PermissionGroup permissionGroup) |
| 215 | + { |
| 216 | + permissionGroup.getPermissions().remove(args[4]); |
| 217 | + CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
| 218 | + sender.sendMessage("You removed the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\""); |
| 219 | + } |
| 220 | + }; |
| 221 | + |
| 222 | + if (args[1].equals("*")) |
| 223 | + for (PermissionGroup permissionGroup : permissionPool.getGroups().values()) |
| 224 | + consumer.accept(permissionGroup); |
| 225 | + else |
| 226 | + { |
| 227 | + PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
| 228 | + consumer.accept(permissionGroup); |
| 229 | + } |
| 230 | + } else sender.sendMessage("The specified permission group doesn't exist"); |
205 | 231 | }
|
206 | 232 | }
|
207 | 233 |
|
208 | 234 | if (args.length == 6)
|
209 | 235 | {
|
210 | 236 | if (args[2].equalsIgnoreCase("add") && args[3].equalsIgnoreCase("permission"))
|
211 | 237 | {
|
212 |
| - if (permissionPool.getGroups().containsKey(args[1])) |
| 238 | + if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*")) |
213 | 239 | {
|
214 |
| - PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
| 240 | + Consumer<PermissionGroup> consumer = new Consumer<PermissionGroup>() { |
| 241 | + @Override |
| 242 | + public void accept(PermissionGroup permissionGroup) |
| 243 | + { |
| 244 | + if (!permissionGroup.getServerGroupPermissions().containsKey(args[5])) |
| 245 | + permissionGroup.getServerGroupPermissions().put(args[5], new ArrayList<>()); |
| 246 | + |
| 247 | + permissionGroup.getServerGroupPermissions().get(args[5]).add(args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING)); |
| 248 | + CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
215 | 249 |
|
216 |
| - if (!permissionGroup.getServerGroupPermissions().containsKey(args[5])) |
| 250 | + sender.sendMessage("You added the permission " + args[4] + " for the permission group \"" |
| 251 | + + permissionGroup.getName() + "\" on server group " + args[5]); |
| 252 | + } |
| 253 | + }; |
| 254 | + |
| 255 | + if (args[1].equals("*")) |
| 256 | + for (PermissionGroup permissionGroup : permissionPool.getGroups().values()) |
| 257 | + consumer.accept(permissionGroup); |
| 258 | + else |
217 | 259 | {
|
218 |
| - permissionGroup.getServerGroupPermissions().put(args[5], new ArrayList<>()); |
| 260 | + PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
| 261 | + consumer.accept(permissionGroup); |
219 | 262 | }
|
220 |
| - permissionGroup.getServerGroupPermissions().get(args[5]).add(args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING)); |
221 |
| - CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
222 |
| - sender.sendMessage("You added the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\" on server group " + args[5]); |
223 |
| - } else |
224 |
| - { |
225 |
| - sender.sendMessage("The specified permission group doesn't exist"); |
226 |
| - } |
| 263 | + |
| 264 | + } else sender.sendMessage("The specified permission group doesn't exist"); |
227 | 265 | }
|
228 | 266 |
|
229 | 267 | if (args[2].equalsIgnoreCase("remove") && args[3].equalsIgnoreCase("permission"))
|
230 | 268 | {
|
231 |
| - if (permissionPool.getGroups().containsKey(args[1])) |
| 269 | + if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*")) |
232 | 270 | {
|
233 |
| - PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
| 271 | + Consumer<PermissionGroup> consumer = new Consumer<PermissionGroup>() { |
| 272 | + @Override |
| 273 | + public void accept(PermissionGroup permissionGroup) |
| 274 | + { |
| 275 | + if (!permissionGroup.getServerGroupPermissions().containsKey(args[5])) |
| 276 | + { |
| 277 | + permissionGroup.getServerGroupPermissions().put(args[5], new ArrayList<>()); |
| 278 | + } |
234 | 279 |
|
235 |
| - if (!permissionGroup.getServerGroupPermissions().containsKey(args[5])) |
| 280 | + permissionGroup.getServerGroupPermissions().get(args[5]).remove(args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING)); |
| 281 | + CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
| 282 | + sender.sendMessage("You removed the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\" on server group " + args[5]); |
| 283 | + } |
| 284 | + }; |
| 285 | + |
| 286 | + if (args[1].equals("*")) |
| 287 | + for (PermissionGroup permissionGroup : permissionPool.getGroups().values()) |
| 288 | + consumer.accept(permissionGroup); |
| 289 | + else |
236 | 290 | {
|
237 |
| - permissionGroup.getServerGroupPermissions().put(args[5], new ArrayList<>()); |
| 291 | + PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]); |
| 292 | + consumer.accept(permissionGroup); |
238 | 293 | }
|
239 | 294 |
|
240 |
| - permissionGroup.getServerGroupPermissions().get(args[5]).remove(args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING)); |
241 |
| - CloudAPI.getInstance().updatePermissionGroup(permissionGroup); |
242 |
| - sender.sendMessage("You removed the permission " + args[4] + " for the permission group \"" + permissionGroup.getName() + "\" on server group " + args[5]); |
243 |
| - } else |
244 |
| - { |
245 |
| - sender.sendMessage("The specified permission group doesn't exist"); |
246 |
| - } |
| 295 | + } else sender.sendMessage("The specified permission group doesn't exist"); |
247 | 296 | }
|
248 | 297 | }
|
249 | 298 |
|
@@ -435,10 +484,10 @@ public void execute(CommandSender sender, String[] args)
|
435 | 484 | CloudAPI.getInstance().getPrefix() + "/cperms CREATE <groupName>",
|
436 | 485 | CloudAPI.getInstance().getPrefix() + "/cperms GROUP",
|
437 | 486 | CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name>",
|
438 |
| - CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> add permission <permission>", |
439 |
| - CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> remove permission <permission>", |
440 |
| - CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> add permission <permission> <group>", |
441 |
| - CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> remove permission <permission> <group>", |
| 487 | + CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name | *> add permission <permission>", |
| 488 | + CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name | *> remove permission <permission>", |
| 489 | + CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name | *> add permission <permission> <group>", |
| 490 | + CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name | *> remove permission <permission> <group>", |
442 | 491 | CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> setDisplay <display>",
|
443 | 492 | CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> setJoinPower <joinPower>",
|
444 | 493 | CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> setSuffix <suffix>",
|
|
0 commit comments