123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package com.gmail.nossr50.commands.party;
- import com.gmail.nossr50.datatypes.party.Party;
- import com.gmail.nossr50.mcMMO;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- public class PartyLockCommand implements CommandExecutor {
- private final mcMMO pluginRef;
- public PartyLockCommand(mcMMO pluginRef) {
- this.pluginRef = pluginRef;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- switch (args.length) {
- case 1:
- if (args[0].equalsIgnoreCase("lock")) {
- togglePartyLock(sender, true);
- } else if (args[0].equalsIgnoreCase("unlock")) {
- togglePartyLock(sender, false);
- }
- return true;
- case 2:
- if (!args[0].equalsIgnoreCase("lock")) {
- sendUsageStrings(sender);
- return true;
- }
- if (pluginRef.getCommandTools().shouldEnableToggle(args[1])) {
- togglePartyLock(sender, true);
- } else if (pluginRef.getCommandTools().shouldDisableToggle(args[1])) {
- togglePartyLock(sender, false);
- } else {
- sendUsageStrings(sender);
- }
- return true;
- default:
- sendUsageStrings(sender);
- return true;
- }
- }
- private void sendUsageStrings(CommandSender sender) {
- sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Usage.2", "party", "lock", "[on|off]"));
- sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Usage.1", "party", "unlock"));
- }
- private void togglePartyLock(CommandSender sender, boolean lock) {
- if (pluginRef.getUserManager().getPlayer((Player) sender) == null) {
- sender.sendMessage(pluginRef.getLocaleManager().getString("Profile.PendingLoad"));
- return;
- }
- Party party = pluginRef.getUserManager().getPlayer((Player) sender).getParty();
- if (!pluginRef.getPermissionTools().partySubcommand(sender, lock ? PartySubcommandType.LOCK : PartySubcommandType.UNLOCK)) {
- sender.sendMessage(pluginRef.getLocaleManager().getString("mcMMO.NoPermission"));
- return;
- }
- if (lock ? party.isLocked() : !party.isLocked()) {
- sender.sendMessage(pluginRef.getLocaleManager().getString("Party." + (lock ? "IsLocked" : "IsntLocked")));
- return;
- }
- party.setLocked(lock);
- sender.sendMessage(pluginRef.getLocaleManager().getString("Party." + (lock ? "Locked" : "Unlocked")));
- }
- }
|