package com.bekvon.bukkit.residence.commandsub; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandException; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.bekvon.bukkit.residence.ResidenceMain; import com.bekvon.bukkit.residence.protection.ClaimedResidence; import com.bekvon.bukkit.residence.protection.ResidenceManager; import com.bekvon.bukkit.residence.text.Language; import cn.citycraft.PluginHelper.commands.BaseCommand; public class CommandGset extends BaseCommand { ResidenceMain plugin; public CommandGset(final ResidenceMain plugin) { super("gset"); this.plugin = plugin; setOnlyPlayerExecutable(); setMinimumArguments(3); setPossibleArguments("<领地名称(不写则为所在领地)> <组名称> <权限> <权限状态>"); } @Override public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException { final Player player = (Player) sender; final boolean resadmin = (command != null); final ResidenceManager rmanager = plugin.getResidenceManager(); final Language language = plugin.getLanguage(); if (args.length == 3) { final ClaimedResidence area = rmanager.getByLoc(player.getLocation()); if (area != null) { area.getPermissions().setGroupFlag(player, args[0], args[1], args[2], resadmin); } else { player.sendMessage(ChatColor.RED + language.getPhrase("InvalidArea")); } return; } else if (args.length == 4) { final ClaimedResidence area = rmanager.getByName(args[0]); if (area != null) { area.getPermissions().setGroupFlag(player, args[1], args[2], args[3], resadmin); } else { player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence")); } return; } } }