mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-24 21:46:16 +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