mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-26 22:06:07 +00:00
@@ -0,0 +1,93 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.CuboidArea;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.selection.SelectionManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandArea extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandArea(final Residence plugin) {
|
||||||
|
super("area");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(3);
|
||||||
|
setPossibleArguments("<list|listall|add|remove|replace> <领地名称> [区域名称]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
final SelectionManager smanager = plugin.getSelectionManager();
|
||||||
|
final WorldEditPlugin wep = (WorldEditPlugin) Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
|
||||||
|
final String subcmd = args[0];
|
||||||
|
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[1]);
|
||||||
|
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (wep != null) {
|
||||||
|
if (wep.getConfig().getInt("wand-item") == plugin.getConfigManager().getSelectionTooldID()) {
|
||||||
|
smanager.worldEdit(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (args.length == 2) {
|
||||||
|
switch (subcmd) {
|
||||||
|
case "list":
|
||||||
|
res.printAreaList(player, page);
|
||||||
|
return;
|
||||||
|
case "listall":
|
||||||
|
res.printAdvancedAreaList(player, page);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (args.length == 3) {
|
||||||
|
switch (subcmd) {
|
||||||
|
case "add":
|
||||||
|
if (smanager.hasPlacedBoth(player.getName())) {
|
||||||
|
res.addArea(player, new CuboidArea(smanager.getPlayerLoc1(player.getName()), smanager.getPlayerLoc2(player.getName())), args[2], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectPoints"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "remove":
|
||||||
|
res.removeArea(player, args[2], resadmin);
|
||||||
|
return;
|
||||||
|
case "replace":
|
||||||
|
if (smanager.hasPlacedBoth(player.getName())) {
|
||||||
|
res.replaceArea(player, new CuboidArea(smanager.getPlayerLoc1(player.getName()), smanager.getPlayerLoc2(player.getName())), args[2], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectPoints"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandBank extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandBank(final Residence plugin) {
|
||||||
|
super("bank");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
setPossibleArguments("[deposit(存入)|withdraw(取出)] 金额");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
final ClaimedResidence res = rmanager.getByName(plugin.getPlayerListener().getCurrentResidenceName(player.getName()));
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NotInResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int amount = 0;
|
||||||
|
try {
|
||||||
|
amount = Integer.parseInt(args[1]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidAmount"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String subcmd = args[0];
|
||||||
|
switch (subcmd) {
|
||||||
|
case "deposit":
|
||||||
|
res.getBank().deposit(player, amount, resadmin);
|
||||||
|
case "withdraw":
|
||||||
|
res.getBank().withdraw(player, amount, resadmin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandCheck extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandCheck(final Residence plugin) {
|
||||||
|
super("check");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
setPossibleArguments("<领地名称> <权限> [玩家]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
|
||||||
|
final Player player = (Player) sender;
|
||||||
|
String pname = player.getName();
|
||||||
|
final ResidenceManager rmanager = plugin.getResidenceManager();
|
||||||
|
final Language language = plugin.getLanguage();
|
||||||
|
|
||||||
|
if (args.length == 2 || args.length == 3) {
|
||||||
|
if (args.length == 3) {
|
||||||
|
pname = args[2];
|
||||||
|
}
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!res.getPermissions().hasApplicableFlag(pname, args[1])) {
|
||||||
|
player.sendMessage(language.getPhrase("FlagCheckFalse",
|
||||||
|
ChatColor.YELLOW + args[0] + ChatColor.RED + "." + ChatColor.YELLOW + pname + ChatColor.RED + "." + ChatColor.YELLOW + args[0] + ChatColor.RED));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(
|
||||||
|
language.getPhrase("FlagCheckTrue", ChatColor.GREEN + args[0] + ChatColor.YELLOW + "." + ChatColor.GREEN + pname + ChatColor.YELLOW + "." + ChatColor.YELLOW + args[0]
|
||||||
|
+ ChatColor.RED + "." + (res.getPermissions().playerHas(pname, res.getPermissions().getWorld(), args[1], false) ? ChatColor.GREEN + "TRUE" : ChatColor.RED + "FALSE")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandClearFlags extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandClearFlags(final Residence plugin) {
|
||||||
|
super("clearflags");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
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 (!resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final ClaimedResidence area = rmanager.getByName(args[1]);
|
||||||
|
if (area != null) {
|
||||||
|
area.getPermissions().clearFlags();
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("FlagsCleared"));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandCompass extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandCompass(final Residence plugin) {
|
||||||
|
super("compass", "cp");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setDescription("切换指南针方向");
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
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 ResidenceManager rmanager = plugin.getResidenceManager();
|
||||||
|
final Language language = plugin.getLanguage();
|
||||||
|
|
||||||
|
if (args.length != 1) {
|
||||||
|
player.setCompassTarget(player.getWorld().getSpawnLocation());
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("CompassTargetReset"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String resname = args[0];
|
||||||
|
|
||||||
|
if (rmanager.getByName(resname) != null) {
|
||||||
|
if (rmanager.getByName(resname).getWorld().equalsIgnoreCase(player.getWorld().getName())) {
|
||||||
|
final Location low = rmanager.getByName(resname).getArea("main").getLowLoc();
|
||||||
|
final Location high = rmanager.getByName(resname).getArea("main").getHighLoc();
|
||||||
|
final Location mid = new Location(low.getWorld(), (low.getBlockX() + high.getBlockX()) / 2, (low.getBlockY() + high.getBlockY()) / 2, (low.getBlockZ() + high.getBlockZ()) / 2);
|
||||||
|
player.setCompassTarget(mid);
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("CompassTargetSet", ChatColor.YELLOW + resname + ChatColor.GREEN));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.selection.SelectionManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandCreate extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandCreate(final Residence plugin) {
|
||||||
|
super("create", "new");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
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();
|
||||||
|
final SelectionManager smanager = plugin.getSelectionManager();
|
||||||
|
final WorldEditPlugin wep = (WorldEditPlugin) plugin.getServer().getPluginManager().getPlugin("WorldEdit");
|
||||||
|
if (wep != null) {
|
||||||
|
if (wep.getConfig().getInt("wand-item") == plugin.getConfigManager().getSelectionTooldID()) {
|
||||||
|
smanager.worldEdit(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (smanager.hasPlacedBoth(player.getName())) {
|
||||||
|
rmanager.addResidence(player, args[0], smanager.getPlayerLoc1(player.getName()), smanager.getPlayerLoc2(player.getName()), resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectPoints"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandCurrent extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandCurrent(final Residence plugin) {
|
||||||
|
super("current");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 String res = rmanager.getNameByLoc(player.getLocation());
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NotInResidence"));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("InResidence", ChatColor.YELLOW + res + ChatColor.GREEN));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandDefault extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandDefault(final Residence plugin) {
|
||||||
|
super("default");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
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 ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
res.getPermissions().applyDefaultFlags(player, resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandGive extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandGive(final Residence plugin) {
|
||||||
|
super("give");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
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();
|
||||||
|
|
||||||
|
rmanager.giveResidence(player, args[1], args[0], resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandGset(final Residence plugin) {
|
||||||
|
super("gset");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandInfo extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandInfo(final Residence plugin) {
|
||||||
|
super("info");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
if (args.length == 0) {
|
||||||
|
final String area = rmanager.getNameByLoc(player.getLocation());
|
||||||
|
if (area != null) {
|
||||||
|
rmanager.printAreaInfo(area, player);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (args.length == 1) {
|
||||||
|
rmanager.printAreaInfo(args[0], player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandKick(final Residence plugin) {
|
||||||
|
super("kick");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setMinimumArguments(1);
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
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") + "!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.LeaseManager;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandLease extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandLease(final Residence plugin) {
|
||||||
|
super("?");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
setPossibleArguments("[renew/cost] [领地名]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
final LeaseManager leasemanager = plugin.getLeaseManager();
|
||||||
|
|
||||||
|
if (args.length == 1 || args.length == 2) {
|
||||||
|
if (args[0].equals("renew")) {
|
||||||
|
if (args.length == 2) {
|
||||||
|
leasemanager.renewArea(args[1], player);
|
||||||
|
} else {
|
||||||
|
leasemanager.renewArea(rmanager.getNameByLoc(player.getLocation()), player);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("cost")) {
|
||||||
|
if (args.length == 2) {
|
||||||
|
final ClaimedResidence res = plugin.getResidenceManager().getByName(args[1]);
|
||||||
|
if (res == null || leasemanager.leaseExpires(args[1])) {
|
||||||
|
final int cost = leasemanager.getRenewCost(res);
|
||||||
|
player.sendMessage(ChatColor.YELLOW + language.getPhrase("LeaseRenewalCost", ChatColor.RED + args[1] + ChatColor.YELLOW + "." + ChatColor.RED + cost + ChatColor.YELLOW));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("LeaseNotExpire"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
final String area = rmanager.getNameByLoc(player.getLocation());
|
||||||
|
final ClaimedResidence res = rmanager.getByName(area);
|
||||||
|
if (area == null || res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidArea"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (leasemanager.leaseExpires(area)) {
|
||||||
|
final int cost = leasemanager.getRenewCost(res);
|
||||||
|
player.sendMessage(ChatColor.YELLOW + language.getPhrase("LeaseRenewalCost", ChatColor.RED + area + ChatColor.YELLOW + "." + ChatColor.RED + cost + ChatColor.YELLOW));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("LeaseNotExpire"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (args.length == 3) {
|
||||||
|
if (args[0].equals("set")) {
|
||||||
|
if (!resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (args[2].equals("infinite")) {
|
||||||
|
if (leasemanager.leaseExpires(args[1])) {
|
||||||
|
leasemanager.removeExpireTime(args[1]);
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("LeaseInfinite"));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("LeaseNotExpire"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
int days;
|
||||||
|
try {
|
||||||
|
days = Integer.parseInt(args[2]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidDays"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
leasemanager.setExpireTime(player, args[1], days);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.permissions.PermissionManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandLimits extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandLimits(final Residence plugin) {
|
||||||
|
super("limits");
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
|
||||||
|
final Player player = (Player) sender;
|
||||||
|
final PermissionManager gmanager = plugin.getPermissionManager();
|
||||||
|
gmanager.getGroup(player).printLimits(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandList extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandList(final Residence plugin) {
|
||||||
|
super("list");
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
switch (args.length) {
|
||||||
|
case 0:
|
||||||
|
rmanager.listResidences(player);
|
||||||
|
return;
|
||||||
|
case 1:
|
||||||
|
try {
|
||||||
|
Integer.parseInt(args[1]);
|
||||||
|
rmanager.listResidences(player, page);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
rmanager.listResidences(player, args[1]);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case 2:
|
||||||
|
rmanager.listResidences(player, args[1], page);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandListAll extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandListAll(final Residence plugin) {
|
||||||
|
super("listall");
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
rmanager.listAllResidences(player, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandListAllHidden extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandListAllHidden(final Residence plugin) {
|
||||||
|
super("listallhidden");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
rmanager.listAllResidences(player, page, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandListHidden extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandListHidden(final Residence plugin) {
|
||||||
|
super("listhidden");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (args.length) {
|
||||||
|
case 0:
|
||||||
|
rmanager.listResidences(player, 1, true);
|
||||||
|
return;
|
||||||
|
case 2:
|
||||||
|
rmanager.listResidences(player, args[1], page, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.FlagPermissions;
|
||||||
|
import com.bekvon.bukkit.residence.protection.PermissionListManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandLists extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandLists(final Residence plugin) {
|
||||||
|
super("lists");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
setPossibleArguments("用法: /res lists ? 查看帮助");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 Language language = plugin.getLanguage();
|
||||||
|
final PermissionListManager pmanager = plugin.getPermissionListManager();
|
||||||
|
final String listname = args[1];
|
||||||
|
|
||||||
|
switch (args[0]) {
|
||||||
|
case "list":
|
||||||
|
pmanager.printLists(player);
|
||||||
|
return;
|
||||||
|
case "add":
|
||||||
|
if (args.length != 2) {
|
||||||
|
pmanager.makeList(player, listname);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "remove":
|
||||||
|
if (args.length != 2) {
|
||||||
|
pmanager.removeList(player, listname);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "apply":
|
||||||
|
if (args.length == 3) {
|
||||||
|
pmanager.applyListToResidence(player, listname, args[2], resadmin);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "set":
|
||||||
|
if (args.length == 4) {
|
||||||
|
pmanager.getList(player.getName(), listname).setFlag(args[3], FlagPermissions.stringToFlagState(args[4]));
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("FlagSet"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "pset":
|
||||||
|
if (args.length != 5) {
|
||||||
|
pmanager.getList(player.getName(), listname).setGroupFlag(args[3], args[4], FlagPermissions.stringToFlagState(args[5]));
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("FlagSet"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
case "gset":
|
||||||
|
if (args.length != 5) {
|
||||||
|
pmanager.getList(player.getName(), listname).setPlayerFlag(args[3], args[4], FlagPermissions.stringToFlagState(args[5]));
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("FlagSet"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "view":
|
||||||
|
if (args.length != 2) {
|
||||||
|
pmanager.printList(player, listname);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
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.Residence;
|
||||||
|
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 CommandLset extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandLset(final Residence plugin) {
|
||||||
|
super("lset");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
setPossibleArguments("<领地名称> [blacklist(bl)/ignorelist(il)||info] [material]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Material mat = null;
|
||||||
|
|
||||||
|
if (args.length == 3) {
|
||||||
|
try {
|
||||||
|
mat = Material.valueOf(args[3].toUpperCase());
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidMaterial"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final String subcmd = args[1];
|
||||||
|
|
||||||
|
switch (subcmd) {
|
||||||
|
|
||||||
|
case "info":
|
||||||
|
player.sendMessage(ChatColor.RED + "Blacklist:");
|
||||||
|
res.getItemBlacklist().printList(player);
|
||||||
|
player.sendMessage(ChatColor.GREEN + "Ignorelist:");
|
||||||
|
res.getItemIgnoreList().printList(player);
|
||||||
|
return;
|
||||||
|
case "bl":
|
||||||
|
case "blacklist":
|
||||||
|
res.getItemBlacklist().playerListChange(player, mat, resadmin);
|
||||||
|
return;
|
||||||
|
case "il":
|
||||||
|
case "ignorelist":
|
||||||
|
res.getItemIgnoreList().playerListChange(player, mat, resadmin);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,223 @@
|
|||||||
|
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.ConfigManager;
|
||||||
|
import com.bekvon.bukkit.residence.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.economy.TransactionManager;
|
||||||
|
import com.bekvon.bukkit.residence.economy.rent.RentManager;
|
||||||
|
import com.bekvon.bukkit.residence.permissions.PermissionManager;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.selection.SelectionManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandMarket extends BaseCommand {
|
||||||
|
ConfigManager cmanager;
|
||||||
|
PermissionManager gmanager;
|
||||||
|
Language language;
|
||||||
|
Residence plugin;
|
||||||
|
RentManager rentmanager;
|
||||||
|
ResidenceManager rmanager;
|
||||||
|
SelectionManager smanager;
|
||||||
|
TransactionManager tmanager;
|
||||||
|
|
||||||
|
public CommandMarket(final Residence plugin) {
|
||||||
|
super("market");
|
||||||
|
this.plugin = plugin;
|
||||||
|
rmanager = plugin.getResidenceManager();
|
||||||
|
language = plugin.getLanguage();
|
||||||
|
smanager = plugin.getSelectionManager();
|
||||||
|
gmanager = plugin.getPermissionManager();
|
||||||
|
rentmanager = plugin.getRentManager();
|
||||||
|
cmanager = plugin.getConfigManager();
|
||||||
|
tmanager = plugin.getTransactionManager();
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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);
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
|
||||||
|
final String cmd = args[0].toLowerCase();
|
||||||
|
if (cmd.equals("list")) {
|
||||||
|
commandResMarketList(args, resadmin, player, page);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("autorenew")) {
|
||||||
|
commandResMarketAutorenew(args, resadmin, player, page);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("rentable")) {
|
||||||
|
commandResMarketRentable(args, resadmin, player, page);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("rent")) {
|
||||||
|
commandResMarketRent(args, resadmin, player, page);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmd.equals("release")) {
|
||||||
|
if (args.length != 3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (rentmanager.isRented(args[2])) {
|
||||||
|
rentmanager.removeFromForRent(player, args[2], resadmin);
|
||||||
|
} else {
|
||||||
|
rentmanager.unrent(player, args[2], resadmin);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("info")) {
|
||||||
|
if (args.length == 2) {
|
||||||
|
final String areaname = rmanager.getNameByLoc(player.getLocation());
|
||||||
|
tmanager.viewSaleInfo(areaname, player);
|
||||||
|
if (cmanager.enabledRentSystem() && rentmanager.isForRent(areaname)) {
|
||||||
|
rentmanager.printRentInfo(player, areaname);
|
||||||
|
}
|
||||||
|
} else if (args.length == 3) {
|
||||||
|
tmanager.viewSaleInfo(args[2], player);
|
||||||
|
if (cmanager.enabledRentSystem() && rentmanager.isForRent(args[2])) {
|
||||||
|
rentmanager.printRentInfo(player, args[2]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("buy")) {
|
||||||
|
if (args.length != 3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
tmanager.buyPlot(args[2], player, resadmin);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("unsell")) {
|
||||||
|
if (args.length != 3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
tmanager.removeFromSale(player, args[2], resadmin);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.equals("sell")) {
|
||||||
|
if (args.length != 4) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int amount;
|
||||||
|
try {
|
||||||
|
amount = Integer.parseInt(args[3]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidAmount"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
tmanager.putForSale(args[2], player, amount, resadmin);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean commandResMarketAutorenew(final String[] args, final boolean resadmin, final Player player, final int page) {
|
||||||
|
if (!cmanager.enableEconomy()) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("MarketDisabled"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (args.length != 4) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
boolean value;
|
||||||
|
if (args[3].equalsIgnoreCase("true") || args[3].equalsIgnoreCase("t")) {
|
||||||
|
value = true;
|
||||||
|
} else if (args[3].equalsIgnoreCase("false") || args[3].equalsIgnoreCase("f")) {
|
||||||
|
value = false;
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidBoolean"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (rentmanager.isRented(args[2]) && rentmanager.getRentingPlayer(args[2]).equalsIgnoreCase(player.getName())) {
|
||||||
|
rentmanager.setRentedRepeatable(player, args[2], value, resadmin);
|
||||||
|
} else if (rentmanager.isForRent(args[2])) {
|
||||||
|
rentmanager.setRentRepeatable(player, args[2], value, resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("RentReleaseInvalid", ChatColor.YELLOW + args[2] + ChatColor.RED));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean commandResMarketList(final String[] args, final boolean resadmin, final Player player, final int page) {
|
||||||
|
if (!cmanager.enableEconomy()) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("MarketDisabled"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
player.sendMessage(ChatColor.BLUE + "---" + language.getPhrase("MarketList") + "---");
|
||||||
|
tmanager.printForSaleResidences(player);
|
||||||
|
if (cmanager.enabledRentSystem()) {
|
||||||
|
rentmanager.printRentableResidences(player);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean commandResMarketRent(final String[] args, final boolean resadmin, final Player player, final int page) {
|
||||||
|
if (args.length < 3 || args.length > 4) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
boolean repeat = false;
|
||||||
|
if (args.length == 4) {
|
||||||
|
if (args[3].equalsIgnoreCase("t") || args[3].equalsIgnoreCase("true")) {
|
||||||
|
repeat = true;
|
||||||
|
} else if (!args[3].equalsIgnoreCase("f") && !args[3].equalsIgnoreCase("false")) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidBoolean"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rentmanager.rent(player, args[2], repeat, resadmin);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean commandResMarketRentable(final String[] args, final boolean resadmin, final Player player, final int page) {
|
||||||
|
if (args.length < 5 || args.length > 6) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!cmanager.enabledRentSystem()) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("RentDisabled"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
int days;
|
||||||
|
int cost;
|
||||||
|
try {
|
||||||
|
cost = Integer.parseInt(args[3]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidCost"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
days = Integer.parseInt(args[4]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidDays"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
boolean repeat = false;
|
||||||
|
if (args.length == 6) {
|
||||||
|
if (args[5].equalsIgnoreCase("t") || args[5].equalsIgnoreCase("true")) {
|
||||||
|
repeat = true;
|
||||||
|
} else if (!args[5].equalsIgnoreCase("f") && !args[5].equalsIgnoreCase("false")) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidBoolean"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rentmanager.setForRent(player, args[2], cost, days, repeat, resadmin);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandMaterial extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandMaterial(final Residence plugin) {
|
||||||
|
super("material");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
@Override
|
||||||
|
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
|
||||||
|
final Player player = (Player) sender;
|
||||||
|
|
||||||
|
final Language language = plugin.getLanguage();
|
||||||
|
|
||||||
|
try {
|
||||||
|
player.sendMessage(ChatColor.GREEN
|
||||||
|
+ language.getPhrase("MaterialGet", ChatColor.GOLD + args[0] + ChatColor.GREEN + "." + ChatColor.RED + Material.getMaterial(Integer.parseInt(args[0])).name() + ChatColor.GREEN));
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidMaterial"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
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.Residence;
|
||||||
|
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;
|
||||||
|
import cn.citycraft.PluginHelper.utils.StringUtil;
|
||||||
|
|
||||||
|
public class CommandMessage extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandMessage(final Residence plugin) {
|
||||||
|
super("message");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setMinimumArguments(1);
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setPossibleArguments("[enter|leave] [消息(移除则留空)]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
final ClaimedResidence res = rmanager.getByLoc(player.getLocation());
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String message = null;
|
||||||
|
if (args.length != 1) {
|
||||||
|
message = StringUtil.consolidateStrings(args, 1);
|
||||||
|
}
|
||||||
|
boolean enter = false;
|
||||||
|
if (args[0].equalsIgnoreCase("enter")) {
|
||||||
|
enter = true;
|
||||||
|
}
|
||||||
|
res.setEnterLeaveMessage(player, message, enter, resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandMirror extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandMirror(final Residence plugin) {
|
||||||
|
super("mirror");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
rmanager.mirrorPerms(player, args[1], args[0], resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandPset extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandPset(final Residence plugin) {
|
||||||
|
super("pset");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
setPossibleArguments("<residence> [player] [flag|removeall] [true/false/remove]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 == 2 && args[1].equalsIgnoreCase("removeall")) {
|
||||||
|
final ClaimedResidence area = rmanager.getByLoc(player.getLocation());
|
||||||
|
if (area != null) {
|
||||||
|
area.getPermissions().removeAllPlayerFlags(player, args[1], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else if (args.length == 3 && args[2].equalsIgnoreCase("removeall")) {
|
||||||
|
final ClaimedResidence area = rmanager.getByName(args[0]);
|
||||||
|
if (area != null) {
|
||||||
|
area.getPermissions().removeAllPlayerFlags(player, args[2], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else if (args.length == 3) {
|
||||||
|
final ClaimedResidence area = rmanager.getByLoc(player.getLocation());
|
||||||
|
if (area != null) {
|
||||||
|
area.getPermissions().setPlayerFlag(player, args[0], args[1], args[2], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else if (args.length == 4) {
|
||||||
|
final ClaimedResidence area = rmanager.getByName(args[0]);
|
||||||
|
if (area != null) {
|
||||||
|
area.getPermissions().setPlayerFlag(player, args[1], args[2], args[3], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandRemoveAll extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandRemoveAll(final Residence plugin) {
|
||||||
|
super("removeall");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setMinimumArguments(1);
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
|
||||||
|
final Player player = (Player) sender;
|
||||||
|
final String pname = player.getName();
|
||||||
|
final boolean resadmin = (command != null);
|
||||||
|
final ResidenceManager rmanager = plugin.getResidenceManager();
|
||||||
|
final Language language = plugin.getLanguage();
|
||||||
|
if (resadmin || args[0].endsWith(pname)) {
|
||||||
|
rmanager.removeAllByOwner(player, args[0]);
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("RemovePlayersResidences", ChatColor.YELLOW + args[1] + ChatColor.GREEN));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandRename extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandRename(final Residence plugin) {
|
||||||
|
super("rename");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
rmanager.renameResidence(player, args[0], args[1], resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandRenameArea extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandRenameArea(final Residence plugin) {
|
||||||
|
super("renamearea");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.renameArea(player, args[1], args[2], resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.CuboidArea;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.selection.SelectionManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandSelect extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandSelect(final Residence plugin) {
|
||||||
|
super("select");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setPermission("residence.select");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
final PermissionGroup group = plugin.getPermissionManager().getGroup(player);
|
||||||
|
final SelectionManager smanager = plugin.getSelectionManager();
|
||||||
|
|
||||||
|
if (!group.selectCommandAccess() && !resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectDiabled"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!group.canCreateResidences() && group.getMaxSubzoneDepth() <= 0 && !resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectDiabled"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (args.length == 1) {
|
||||||
|
if (args[0].equals("size") || args[0].equals("cost")) {
|
||||||
|
if (smanager.hasPlacedBoth(player.getName())) {
|
||||||
|
try {
|
||||||
|
smanager.showSelectionInfo(player);
|
||||||
|
return;
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else if (smanager.worldEdit(player)) {
|
||||||
|
try {
|
||||||
|
smanager.showSelectionInfo(player);
|
||||||
|
return;
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (args[0].equals("vert")) {
|
||||||
|
smanager.vert(player, resadmin);
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("sky")) {
|
||||||
|
smanager.sky(player, resadmin);
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("bedrock")) {
|
||||||
|
smanager.bedrock(player, resadmin);
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("coords")) {
|
||||||
|
final Location playerLoc1 = smanager.getPlayerLoc1(player.getName());
|
||||||
|
if (playerLoc1 != null) {
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("Primary.Selection") + ":" + ChatColor.AQUA + " (" + playerLoc1.getBlockX() + ", " + playerLoc1.getBlockY() + ", "
|
||||||
|
+ playerLoc1.getBlockZ() + ")");
|
||||||
|
}
|
||||||
|
final Location playerLoc2 = smanager.getPlayerLoc2(player.getName());
|
||||||
|
if (playerLoc2 != null) {
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("Secondary.Selection") + ":" + ChatColor.AQUA + " (" + playerLoc2.getBlockX() + ", " + playerLoc2.getBlockY() + ", "
|
||||||
|
+ playerLoc2.getBlockZ() + ")");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("chunk")) {
|
||||||
|
smanager.selectChunk(player);
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("worldedit")) {
|
||||||
|
if (smanager.worldEdit(player)) {
|
||||||
|
player.sendMessage(ChatColor.GREEN + plugin.getLanguage().getPhrase("SelectionSuccess"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else if (args.length == 2) {
|
||||||
|
if (args[0].equals("expand")) {
|
||||||
|
int amount;
|
||||||
|
try {
|
||||||
|
amount = Integer.parseInt(args[1]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidAmount"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
smanager.modify(player, false, amount);
|
||||||
|
return;
|
||||||
|
} else if (args[0].equals("shift")) {
|
||||||
|
int amount;
|
||||||
|
try {
|
||||||
|
amount = Integer.parseInt(args[1]);
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidAmount"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
smanager.modify(player, true, amount);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (args.length > 0 && args[0].equals("residence")) {
|
||||||
|
String resName;
|
||||||
|
String areaName;
|
||||||
|
ClaimedResidence res = null;
|
||||||
|
if (args.length > 1) {
|
||||||
|
res = rmanager.getByName(args[1]);
|
||||||
|
} else {
|
||||||
|
res = rmanager.getByLoc(player.getLocation());
|
||||||
|
}
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
resName = res.getName();
|
||||||
|
CuboidArea area = null;
|
||||||
|
if (args.length > 2) {
|
||||||
|
area = res.getArea(args[2]);
|
||||||
|
areaName = args[2];
|
||||||
|
} else {
|
||||||
|
areaName = res.getAreaIDbyLoc(player.getLocation());
|
||||||
|
area = res.getArea(areaName);
|
||||||
|
}
|
||||||
|
if (area != null) {
|
||||||
|
smanager.placeLoc1(player, area.getHighLoc());
|
||||||
|
smanager.placeLoc2(player, area.getLowLoc());
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("SelectionArea", ChatColor.GOLD + areaName + ChatColor.GREEN + "." + ChatColor.GOLD + resName + ChatColor.GREEN));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("AreaNonExist"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
smanager.selectBySize(player, Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]));
|
||||||
|
return;
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectionFail"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandServer extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandServer(final Residence plugin) {
|
||||||
|
super("server");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 (!resadmin) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.getPermissions().setOwner("Server Land", false);
|
||||||
|
player.sendMessage(ChatColor.GREEN + language.getPhrase("ResidenceOwnerChange", ChatColor.YELLOW + args[1] + ChatColor.GREEN + "." + ChatColor.YELLOW + "Server Land" + ChatColor.GREEN));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandSet extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandSet(final Residence plugin) {
|
||||||
|
super("set");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(2);
|
||||||
|
setPossibleArguments("<residence> [flag] [true/false/remove]");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 == 2) {
|
||||||
|
final String res = rmanager.getNameByLoc(player.getLocation());
|
||||||
|
if (res != null) {
|
||||||
|
rmanager.getByName(res).getPermissions().setFlag(player, args[0], args[1], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
} else if (args.length == 3) {
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
if (res != null) {
|
||||||
|
res.getPermissions().setFlag(player, args[1], args[2], resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandSubList extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandSubList(final Residence plugin) {
|
||||||
|
super("sublist");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
int page = 1;
|
||||||
|
try {
|
||||||
|
if (args.length > 0) {
|
||||||
|
page = Integer.parseInt(args[args.length - 1]);
|
||||||
|
}
|
||||||
|
} catch (final Exception ex) {
|
||||||
|
}
|
||||||
|
if (args.length == 1 || args.length == 2) {
|
||||||
|
ClaimedResidence res;
|
||||||
|
if (args.length == 0) {
|
||||||
|
res = rmanager.getByLoc(player.getLocation());
|
||||||
|
} else {
|
||||||
|
res = rmanager.getByName(args[0]);
|
||||||
|
}
|
||||||
|
if (res != null) {
|
||||||
|
res.printSubzoneList(player, page);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ResidenceManager;
|
||||||
|
import com.bekvon.bukkit.residence.selection.SelectionManager;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandSubZone extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandSubZone(final Residence plugin) {
|
||||||
|
super("subzone", "sz");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
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();
|
||||||
|
final SelectionManager smanager = plugin.getSelectionManager();
|
||||||
|
if (args.length != 2 && args.length != 3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String zname;
|
||||||
|
String parent;
|
||||||
|
if (args.length == 1) {
|
||||||
|
parent = rmanager.getNameByLoc(player.getLocation());
|
||||||
|
zname = args[0];
|
||||||
|
} else {
|
||||||
|
parent = args[0];
|
||||||
|
zname = args[1];
|
||||||
|
}
|
||||||
|
final WorldEditPlugin wep = (WorldEditPlugin) Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
|
||||||
|
if (wep != null) {
|
||||||
|
if (wep.getConfig().getInt("wand-item") == plugin.getConfigManager().getSelectionTooldID()) {
|
||||||
|
smanager.worldEdit(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (smanager.hasPlacedBoth(player.getName())) {
|
||||||
|
final ClaimedResidence res = rmanager.getByName(parent);
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.addSubzone(player, smanager.getPlayerLoc1(player.getName()), smanager.getPlayerLoc2(player.getName()), zname, resadmin);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("SelectPoints"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.bekvon.bukkit.residence.commandsub;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
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.ConfigManager;
|
||||||
|
import com.bekvon.bukkit.residence.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.text.Language;
|
||||||
|
|
||||||
|
import cn.citycraft.PluginHelper.commands.BaseCommand;
|
||||||
|
|
||||||
|
public class CommandTool extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandTool(final Residence plugin) {
|
||||||
|
super("tool");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
@Override
|
||||||
|
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
|
||||||
|
final Player player = (Player) sender;
|
||||||
|
final Language language = plugin.getLanguage();
|
||||||
|
|
||||||
|
final ConfigManager cmanager = plugin.getConfigManager();
|
||||||
|
player.sendMessage(ChatColor.YELLOW + language.getPhrase("SelectionTool") + ":" + ChatColor.GREEN + Material.getMaterial(cmanager.getSelectionTooldID()));
|
||||||
|
player.sendMessage(ChatColor.YELLOW + language.getPhrase("InfoTool") + ": " + ChatColor.GREEN + Material.getMaterial(cmanager.getInfoToolID()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandTp extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandTp(final Residence plugin) {
|
||||||
|
super("tp");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
setMinimumArguments(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
final ClaimedResidence res = rmanager.getByName(args[0]);
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.tpToResidence(player, player, resadmin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
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.Residence;
|
||||||
|
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 CommandTpSet extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandTpSet(final Residence plugin) {
|
||||||
|
super("tpset");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
|
||||||
|
final ClaimedResidence res = rmanager.getByLoc(player.getLocation());
|
||||||
|
if (res != null) {
|
||||||
|
res.setTpLoc(player, resadmin);
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
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.Residence;
|
||||||
|
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
|
||||||
|
import com.bekvon.bukkit.residence.permissions.PermissionManager;
|
||||||
|
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 CommandUnStuck extends BaseCommand {
|
||||||
|
Residence plugin;
|
||||||
|
|
||||||
|
public CommandUnStuck(final Residence plugin) {
|
||||||
|
super("unstuck");
|
||||||
|
this.plugin = plugin;
|
||||||
|
setOnlyPlayerExecutable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 PermissionManager gmanager = plugin.getPermissionManager();
|
||||||
|
final PermissionGroup group = gmanager.getGroup(player);
|
||||||
|
|
||||||
|
if (!group.hasUnstuckAccess()) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NoPermission"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final ClaimedResidence res = rmanager.getByLoc(player.getLocation());
|
||||||
|
if (res == null) {
|
||||||
|
player.sendMessage(ChatColor.RED + language.getPhrase("NotInResidence"));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(ChatColor.YELLOW + language.getPhrase("Moved") + "...");
|
||||||
|
player.teleport(res.getOutsideFreeLoc(player.getLocation()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user