mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-11 01:51:32 +01:00
More anchor permissions (as suggested in #831)
This commit is contained in:
parent
49eb93af2e
commit
fd9464ced1
@ -11,6 +11,7 @@ import com.onarandombox.MultiverseCore.MultiverseCore;
|
|||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.permissions.Permission;
|
||||||
import org.bukkit.permissions.PermissionDefault;
|
import org.bukkit.permissions.PermissionDefault;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -34,7 +35,11 @@ public class AnchorCommand extends PaginatedCoreCommand<String> {
|
|||||||
this.addCommandExample("/mv anchor " + ChatColor.GREEN + "otherthing");
|
this.addCommandExample("/mv anchor " + ChatColor.GREEN + "otherthing");
|
||||||
this.addCommandExample("/mv anchor " + ChatColor.GREEN + "awesomething " + ChatColor.RED + "-d");
|
this.addCommandExample("/mv anchor " + ChatColor.GREEN + "awesomething " + ChatColor.RED + "-d");
|
||||||
this.addCommandExample("/mv anchors ");
|
this.addCommandExample("/mv anchors ");
|
||||||
this.setPermission("multiverse.core.anchor", "Allows management of Anchor Destinations.", PermissionDefault.OP);
|
this.setPermission("multiverse.core.anchor.list", "Allows a player to list all anchors.", PermissionDefault.OP);
|
||||||
|
this.addAdditonalPermission(new Permission("multiverse.core.anchor.create",
|
||||||
|
"Allows a player to create anchors.", PermissionDefault.OP));
|
||||||
|
this.addAdditonalPermission(new Permission("multiverse.core.anchor.delete",
|
||||||
|
"Allows a player to delete anchors.", PermissionDefault.OP));
|
||||||
this.setItemsPerPage(8); // SUPPRESS CHECKSTYLE: MagicNumberCheck
|
this.setItemsPerPage(8); // SUPPRESS CHECKSTYLE: MagicNumberCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,6 +54,11 @@ public class AnchorCommand extends PaginatedCoreCommand<String> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void showList(CommandSender sender, List<String> args) {
|
private void showList(CommandSender sender, List<String> args) {
|
||||||
|
if (!this.plugin.getMVPerms().hasPermission(sender, "multiverse.core.anchor.list", true)) {
|
||||||
|
sender.sendMessage(ChatColor.RED + "You don't have the permission to list anchors!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "====[ Multiverse Anchor List ]====");
|
sender.sendMessage(ChatColor.LIGHT_PURPLE + "====[ Multiverse Anchor List ]====");
|
||||||
Player p = null;
|
Player p = null;
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
@ -105,10 +115,14 @@ public class AnchorCommand extends PaginatedCoreCommand<String> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (args.size() == 2 && args.get(1).equalsIgnoreCase("-d")) {
|
if (args.size() == 2 && args.get(1).equalsIgnoreCase("-d")) {
|
||||||
if (this.plugin.getAnchorManager().deleteAnchor(args.get(0))) {
|
if (!this.plugin.getMVPerms().hasPermission(sender, "multiverse.core.anchor.delete", true)) {
|
||||||
sender.sendMessage("Anchor '" + args.get(0) + "' was successfully " + ChatColor.RED + "deleted!");
|
sender.sendMessage(ChatColor.RED + "You don't have the permission to delete anchors!");
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Anchor '" + args.get(0) + "' was " + ChatColor.RED + " NOT " + ChatColor.WHITE + "deleted!");
|
if (this.plugin.getAnchorManager().deleteAnchor(args.get(0))) {
|
||||||
|
sender.sendMessage("Anchor '" + args.get(0) + "' was successfully " + ChatColor.RED + "deleted!");
|
||||||
|
} else {
|
||||||
|
sender.sendMessage("Anchor '" + args.get(0) + "' was " + ChatColor.RED + " NOT " + ChatColor.WHITE + "deleted!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -118,13 +132,16 @@ public class AnchorCommand extends PaginatedCoreCommand<String> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player player = (Player) sender;
|
if (!this.plugin.getMVPerms().hasPermission(sender, "multiverse.core.anchor.create", true)) {
|
||||||
if (this.plugin.getAnchorManager().saveAnchorLocation(args.get(0), player.getLocation())) {
|
sender.sendMessage(ChatColor.RED + "You don't have the permission to create anchors!");
|
||||||
sender.sendMessage("Anchor '" + args.get(0) + "' was successfully " + ChatColor.GREEN + "created!");
|
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Anchor '" + args.get(0) + "' was " + ChatColor.RED + " NOT " + ChatColor.WHITE + "created!");
|
Player player = (Player) sender;
|
||||||
|
if (this.plugin.getAnchorManager().saveAnchorLocation(args.get(0), player.getLocation())) {
|
||||||
|
sender.sendMessage("Anchor '" + args.get(0) + "' was successfully " + ChatColor.GREEN + "created!");
|
||||||
|
} else {
|
||||||
|
sender.sendMessage("Anchor '" + args.get(0) + "' was " + ChatColor.RED + " NOT " + ChatColor.WHITE + "created!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user