Skip to content

Commit

Permalink
Implemented permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
Brambles-cat committed Mar 2, 2023
1 parent 60b22ff commit 74b3c92
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
Player player = (Player) sender;
env = player.getWorld().getEnvironment();
List<String> permissions = PluginData.getPermissions(player.getUniqueId());
if(!(permissions.contains("listing") || permissions.contains("all"))) {
if(!(sender.isOp() || permissions.contains("listing") || permissions.contains("all"))) {
sender.sendMessage("Missing permissions");
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,58 +11,60 @@

public class RemoveWarp implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender instanceof Player && !PluginData.getPermissions(((Player) sender).getUniqueId()).contains("remove_warps")) {
sender.sendMessage("Missing permissions");
return true;
} else {
if (args.length != 0) {
int i = 0;
Environment env;
if (sender instanceof Player) {
env = ((Player)sender).getWorld().getEnvironment();
} else {
if (args.length < 2) {
sender.sendMessage("Required dimension as argument, use /removelocation Overworld/Nether/End (location name)");
if (!sender.isOp()) {
if(sender instanceof Player && PluginData
.getPermissions(((Player) sender).getUniqueId()).stream()
.noneMatch(p -> p.equals("remove_warps") || p.equals("all"))) {
sender.sendMessage("Missing permissions");
return false;
}
}
if (args.length != 0) {
int i = 0;
Environment env;
if (sender instanceof Player) {
env = ((Player)sender).getWorld().getEnvironment();
} else {
if (args.length < 2) {
sender.sendMessage("Required dimension as argument, use /removelocation Overworld/Nether/End (location name)");
return false;
}
String data = args[0].toLowerCase();
switch(data) {
case "overworld":
env = Environment.NORMAL;
break;
case "nether":
env = Environment.NETHER;
break;
case "end":
env = Environment.THE_END;
break;
default:
sender.sendMessage("This dimension doesn't exist, use /removelocation Overworld/Nether/End (location name)");
return false;
}
String data = args[0].toLowerCase();
switch(data) {
case "overworld":
env = Environment.NORMAL;
break;
case "nether":
env = Environment.NETHER;
break;
case "end":
env = Environment.THE_END;
break;
default:
sender.sendMessage("This dimension doesn't exist, use /removelocation Overworld/Nether/End (location name)");
return false;
}
i = 1;
}
PluginData data = PluginData.getData();
Map<String, String> locations = data.dimensions.get(env);
i = 1;
}
PluginData data = PluginData.getData();
Map<String, String> locations = data.dimensions.get(env);

StringBuilder argLocName;
for(argLocName = new StringBuilder(); i < args.length; ++i) {
argLocName.append(args[i]).append(" ");
}
StringBuilder argLocName;
for(argLocName = new StringBuilder(); i < args.length; ++i) {
argLocName.append(args[i]).append(" ");
}

if (locations.containsKey(argLocName.toString().trim())) {
locations.remove(argLocName.toString().trim());
data.dimensions.replace(env, locations);
PluginData.writeData(data);
sender.sendMessage(argLocName.append("has been removed").toString());
} else {
sender.sendMessage("No warp point found with name '" + argLocName.toString().trim() + "'");
}
if (locations.containsKey(argLocName.toString().trim())) {
locations.remove(argLocName.toString().trim());
data.dimensions.replace(env, locations);
PluginData.writeData(data);
sender.sendMessage(argLocName.append("has been removed").toString());
} else {
sender.sendMessage("Nothing removed; Warp point name required");
sender.sendMessage("No warp point found with name '" + argLocName.toString().trim() + "'");
}

return true;
} else {
sender.sendMessage("Nothing removed; Warp point name required");
}
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ public void onItemBurn(EntityCombustByBlockEvent event) {
boolean permitted = false;
for(Entity e : eye.getNearbyEntities(4.0, 4.0, 4.0)) {
if(!(e instanceof Player)) continue;
if (PluginData.getPermissions(e.getUniqueId()).stream().noneMatch(p -> p.equals("all") || p.equals("set_warps"))) {
e.sendMessage("Missing operator permissions");
if (!e.isOp() && PluginData.getPermissions(e.getUniqueId()).stream().noneMatch(p -> p.equals("all") || p.equals("set_warps"))) {
e.sendMessage("Missing permissions");
} else permitted = true;
}
if(!permitted) return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public void onItemConsumed(PlayerItemConsumeEvent event) {
if (meta.getLore() != null && meta.getLore().contains("warp")) {
Player consumer = event.getPlayer();
List<String> permissions = PluginData.getPermissions(consumer.getUniqueId());
if (!permissions.contains("no_warping"))
if (!permissions.contains("no_warping") || consumer.isOp())
consumers.put(event.getPlayer().getUniqueId(), meta.getDisplayName());
else consumer.sendMessage("Missing permission");
}
Expand Down

0 comments on commit 74b3c92

Please sign in to comment.