1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-24 21:46:16 +00:00
Files
Residence/src/main/java/com/bekvon/bukkit/residence/commandsub/CommandKick.java
502647092 d69743404f Recovery static method in Residence class...
Signed-off-by: 502647092 <jtb1@163.com>
2015-09-29 11:10:32 +08:00

59 lines
2.0 KiB
Java

package com.bekvon.bukkit.residence.commandsub;
import org.bukkit.Bukkit;
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.permissions.PermissionGroup;
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 CommandKick extends BaseCommand {
ResidenceMain plugin;
public CommandKick(final ResidenceMain plugin) {
super("kick");
this.plugin = plugin;
setMinimumArguments(1);
setOnlyPlayerExecutable();
setPossibleArguments("<目标玩家>");
setDescription("把玩家T出当前领地!");
}
@Override
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
final Player player = (Player) sender;
final ResidenceManager rmanager = plugin.getResidenceManager();
final Language language = plugin.getLanguage();
final PermissionGroup group = plugin.getPermissionManager().getGroup(player);
final Player targetplayer = Bukkit.getPlayer(args[0]);
if (targetplayer == null) {
return;
}
if (!group.hasKickAccess()) {
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
return;
}
final ClaimedResidence res = rmanager.getByLoc(targetplayer.getLocation());
if (res == null) {
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
return;
}
if (res.getOwner().equals(player.getName())) {
if (res.getPlayersInResidence().contains(targetplayer)) {
targetplayer.teleport(res.getOutsideFreeLoc(player.getLocation()));
targetplayer.sendMessage(ChatColor.RED + language.getPhrase("Kicked") + "!");
}
}
}
}