Skip to content
This repository was archived by the owner on Jun 7, 2022. It is now read-only.

Commit f3a2568

Browse files
author
Dytanic
committed
added * alias in /cperms command to add or remove permissions
1 parent fad7d45 commit f3a2568

File tree

1 file changed

+97
-48
lines changed
  • cloudnet-api/cloudnet-api-bridge/src/main/java/de/dytanic/cloudnet/bridge/internal/command/proxied

1 file changed

+97
-48
lines changed

cloudnet-api/cloudnet-api-bridge/src/main/java/de/dytanic/cloudnet/bridge/internal/command/proxied/CommandPermissions.java

Lines changed: 97 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.text.SimpleDateFormat;
2121
import java.util.*;
2222
import java.util.concurrent.TimeUnit;
23+
import java.util.function.Consumer;
2324

2425
/**
2526
* Created by Tareko on 23.08.2017.
@@ -170,80 +171,128 @@ public void execute(CommandSender sender, String[] args)
170171
{
171172
if (args[2].equalsIgnoreCase("add") && args[3].equalsIgnoreCase("permission"))
172173
{
173-
if (permissionPool.getGroups().containsKey(args[1]))
174+
if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*"))
174175
{
175-
PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]);
176176
String permission = args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING);
177177
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
184200
{
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);
186203
}
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");
191206
}
192207

193208
if (args[2].equalsIgnoreCase("remove") && args[3].equalsIgnoreCase("permission"))
194209
{
195-
if (permissionPool.getGroups().containsKey(args[1]))
210+
if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*"))
196211
{
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");
205231
}
206232
}
207233

208234
if (args.length == 6)
209235
{
210236
if (args[2].equalsIgnoreCase("add") && args[3].equalsIgnoreCase("permission"))
211237
{
212-
if (permissionPool.getGroups().containsKey(args[1]))
238+
if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*"))
213239
{
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);
215249

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
217259
{
218-
permissionGroup.getServerGroupPermissions().put(args[5], new ArrayList<>());
260+
PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]);
261+
consumer.accept(permissionGroup);
219262
}
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");
227265
}
228266

229267
if (args[2].equalsIgnoreCase("remove") && args[3].equalsIgnoreCase("permission"))
230268
{
231-
if (permissionPool.getGroups().containsKey(args[1]))
269+
if (permissionPool.getGroups().containsKey(args[1]) || args[1].equals("*"))
232270
{
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+
}
234279

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
236290
{
237-
permissionGroup.getServerGroupPermissions().put(args[5], new ArrayList<>());
291+
PermissionGroup permissionGroup = permissionPool.getGroups().get(args[1]);
292+
consumer.accept(permissionGroup);
238293
}
239294

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");
247296
}
248297
}
249298

@@ -435,10 +484,10 @@ public void execute(CommandSender sender, String[] args)
435484
CloudAPI.getInstance().getPrefix() + "/cperms CREATE <groupName>",
436485
CloudAPI.getInstance().getPrefix() + "/cperms GROUP",
437486
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>",
442491
CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> setDisplay <display>",
443492
CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> setJoinPower <joinPower>",
444493
CloudAPI.getInstance().getPrefix() + "/cperms GROUP <name> setSuffix <suffix>",

0 commit comments

Comments
 (0)