diff --git a/pom.xml b/pom.xml index 68651cc..5797436 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 pw.yumc Residence - 2.8.2.0 + 2.8.2.1 Residence 重制版本的领地插件 - 喵♂呜 @@ -58,8 +58,9 @@ http://ci.yumc.pw/job/${project.artifactId}/ - &6更新预告!!! GUI菜单即将上线... + &6更新预告!!! GUI菜单即将上线(&7菜单再等几天= =&6)... + &b2.8.2.0 - &c修复一个可能被熊孩子利用导致插件奔溃的BUG...; &b2.8.2.0 - &a修复与部分插件TP有冲突的问题...; &b2.8.1.9 - &e修复配置文件载入失败的问题...; diff --git a/src/main/java/com/bekvon/bukkit/residence/protection/ResidencePermissions.java b/src/main/java/com/bekvon/bukkit/residence/protection/ResidencePermissions.java index 6c5ef9c..66c2995 100644 --- a/src/main/java/com/bekvon/bukkit/residence/protection/ResidencePermissions.java +++ b/src/main/java/com/bekvon/bukkit/residence/protection/ResidencePermissions.java @@ -19,13 +19,12 @@ import org.bukkit.plugin.PluginManager; import com.bekvon.bukkit.residence.event.ResidenceFlagChangeEvent; import com.bekvon.bukkit.residence.event.ResidenceFlagCheckEvent; import com.bekvon.bukkit.residence.event.ResidenceFlagEvent.FlagType; +import com.bekvon.bukkit.residence.event.ResidenceOwnerChangeEvent; import pw.yumc.Residence.ResidenceMain; import pw.yumc.Residence.permissions.PermissionGroup; import pw.yumc.Residence.permissions.PermissionManager; -import com.bekvon.bukkit.residence.event.ResidenceOwnerChangeEvent; - /** * * @author Administrator @@ -38,18 +37,6 @@ public class ResidencePermissions extends FlagPermissions { protected String world; ResidenceMain plugin; - public ResidencePermissions(final ResidenceMain plugin, final ClaimedResidence res) { - this.plugin = plugin; - this.pm = plugin.getServer().getPluginManager(); - residence = res; - } - - public ResidencePermissions(final ResidenceMain plugin, final ClaimedResidence res, final String creator, final String inworld) { - this(plugin, res); - owner = creator; - world = inworld; - } - public static ResidencePermissions load(final ResidenceMain plugin, final ClaimedResidence res, final Map root) throws Exception { final ResidencePermissions newperms = new ResidencePermissions(plugin, res); newperms.owner = (String) root.get("Owner"); @@ -81,6 +68,18 @@ public class ResidencePermissions extends FlagPermissions { return newperms; } + public ResidencePermissions(final ResidenceMain plugin, final ClaimedResidence res) { + this.plugin = plugin; + this.pm = plugin.getServer().getPluginManager(); + residence = res; + } + + public ResidencePermissions(final ResidenceMain plugin, final ClaimedResidence res, final String creator, final String inworld) { + this(plugin, res); + owner = creator; + world = inworld; + } + public void applyDefaultFlags() { final PermissionManager gm = plugin.getPermissionManager(); final PermissionGroup group = gm.getGroup(owner, world); @@ -437,6 +436,10 @@ public class ResidencePermissions extends FlagPermissions { } public boolean setPlayerFlag(final Player player, final String targetPlayer, final String flag, final String flagstate, final boolean resadmin) { + if (!plugin.validName(targetPlayer)) { + player.sendMessage(ChatColor.DARK_RED + "非法操作!"); + return false; + } if (validFlagGroups.containsKey(flag)) { return this.setFlagGroupOnPlayer(player, targetPlayer, flag, flagstate, resadmin); } diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandArea.java b/src/main/java/pw/yumc/Residence/commandsub/CommandArea.java index 977ff4a..a23fb25 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandArea.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandArea.java @@ -21,7 +21,7 @@ public class CommandArea extends BaseCommand { ResidenceMain plugin; public CommandArea(final ResidenceMain plugin) { - super("area"); + super("a"); this.plugin = plugin; setMinimumArguments(3); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandBank.java b/src/main/java/pw/yumc/Residence/commandsub/CommandBank.java index 08e3f71..f3ddbcf 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandBank.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandBank.java @@ -17,7 +17,7 @@ public class CommandBank extends BaseCommand { ResidenceMain plugin; public CommandBank(final ResidenceMain plugin) { - super("bank"); + super("b"); this.plugin = plugin; setMinimumArguments(2); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandCheck.java b/src/main/java/pw/yumc/Residence/commandsub/CommandCheck.java index b8c4dd0..49e49c4 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandCheck.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandCheck.java @@ -17,7 +17,7 @@ public class CommandCheck extends BaseCommand { ResidenceMain plugin; public CommandCheck(final ResidenceMain plugin) { - super("check"); + super(); this.plugin = plugin; setMinimumArguments(2); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandCheckSelf.java b/src/main/java/pw/yumc/Residence/commandsub/CommandCheckSelf.java index dfe6225..be35299 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandCheckSelf.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandCheckSelf.java @@ -14,7 +14,7 @@ public class CommandCheckSelf extends BaseCommand { ResidenceMain plugin; public CommandCheckSelf(final ResidenceMain plugin) { - super("checkself"); + super("cs"); this.plugin = plugin; setOnlyPlayerExecutable(); setPossibleArguments("[权限]"); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandClearFlags.java b/src/main/java/pw/yumc/Residence/commandsub/CommandClearFlags.java index 1165318..e762839 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandClearFlags.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandClearFlags.java @@ -17,7 +17,7 @@ public class CommandClearFlags extends BaseCommand { ResidenceMain plugin; public CommandClearFlags(final ResidenceMain plugin) { - super("clearflags"); + super("cf"); this.plugin = plugin; setMinimumArguments(1); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandCreate.java b/src/main/java/pw/yumc/Residence/commandsub/CommandCreate.java index 157e17c..e41893e 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandCreate.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandCreate.java @@ -18,7 +18,7 @@ public class CommandCreate extends BaseCommand { ResidenceMain plugin; public CommandCreate(final ResidenceMain plugin) { - super("create", "new"); + super("c", "new"); this.plugin = plugin; setMinimumArguments(1); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandGset.java b/src/main/java/pw/yumc/Residence/commandsub/CommandGset.java index 622ab53..f960bf0 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandGset.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandGset.java @@ -17,7 +17,7 @@ public class CommandGset extends BaseCommand { ResidenceMain plugin; public CommandGset(final ResidenceMain plugin) { - super("gset"); + super("gs"); this.plugin = plugin; setMinimumArguments(3); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandInfo.java b/src/main/java/pw/yumc/Residence/commandsub/CommandInfo.java index 66dcfb5..8676f43 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandInfo.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandInfo.java @@ -16,7 +16,7 @@ public class CommandInfo extends BaseCommand { ResidenceMain plugin; public CommandInfo(final ResidenceMain plugin) { - super("info"); + super("i"); this.plugin = plugin; setOnlyPlayerExecutable(); } diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandKick.java b/src/main/java/pw/yumc/Residence/commandsub/CommandKick.java index b0c55e8..dc56ed7 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandKick.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandKick.java @@ -19,7 +19,7 @@ public class CommandKick extends BaseCommand { ResidenceMain plugin; public CommandKick(final ResidenceMain plugin) { - super("kick"); + super("k"); this.plugin = plugin; setMinimumArguments(1); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandList.java b/src/main/java/pw/yumc/Residence/commandsub/CommandList.java index 2798dba..51ad30d 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandList.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandList.java @@ -14,7 +14,7 @@ public class CommandList extends BaseCommand { ResidenceMain plugin; public CommandList(final ResidenceMain plugin) { - super("list"); + super("l"); this.plugin = plugin; setOnlyPlayerExecutable(); } diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandLists.java b/src/main/java/pw/yumc/Residence/commandsub/CommandLists.java index cd54760..7ef0f10 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandLists.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandLists.java @@ -59,13 +59,13 @@ public class CommandLists extends BaseCommand { return; case "pset": if (args.length == 5) { - pmanager.getList(player.getName(), listname).setGroupFlag(args[2], args[3], FlagPermissions.stringToFlagState(args[4])); + pmanager.getList(player.getName(), listname).setPlayerFlag(args[2], args[3], FlagPermissions.stringToFlagState(args[4])); player.sendMessage(ChatColor.GREEN + language.getPhrase("FlagSet")); } return; case "gset": if (args.length == 5) { - pmanager.getList(player.getName(), listname).setPlayerFlag(args[2], args[3], FlagPermissions.stringToFlagState(args[4])); + pmanager.getList(player.getName(), listname).setGroupFlag(args[2], args[3], FlagPermissions.stringToFlagState(args[4])); player.sendMessage(ChatColor.GREEN + language.getPhrase("FlagSet")); } return; diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandPset.java b/src/main/java/pw/yumc/Residence/commandsub/CommandPset.java index ecf9a23..a67e1bd 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandPset.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandPset.java @@ -17,7 +17,7 @@ public class CommandPset extends BaseCommand { ResidenceMain plugin; public CommandPset(final ResidenceMain plugin) { - super("pset"); + super("ps"); this.plugin = plugin; setMinimumArguments(2); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandSelect.java b/src/main/java/pw/yumc/Residence/commandsub/CommandSelect.java index b6f82c4..8ae82cb 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandSelect.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandSelect.java @@ -24,7 +24,7 @@ public class CommandSelect extends BaseCommand { ResidenceMain plugin; public CommandSelect(final ResidenceMain plugin) { - super("select"); + super("s"); this.plugin = plugin; setMinimumArguments(1); setOnlyPlayerExecutable(); diff --git a/src/main/java/pw/yumc/Residence/commandsub/CommandVersion.java b/src/main/java/pw/yumc/Residence/commandsub/CommandVersion.java index 917a755..78bab3c 100644 --- a/src/main/java/pw/yumc/Residence/commandsub/CommandVersion.java +++ b/src/main/java/pw/yumc/Residence/commandsub/CommandVersion.java @@ -13,25 +13,27 @@ import pw.yumc.Residence.ResidenceMain; public class CommandVersion extends BaseCommand { ResidenceMain plugin; - public CommandVersion(ResidenceMain plugin) { - super("version"); + public CommandVersion(final ResidenceMain plugin) { + super("v"); this.plugin = plugin; } @Override - public void execute(CommandSender sender, Command command, String label, String[] args) throws CommandException { + public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException { sender.sendMessage(ChatColor.GRAY + "------------------------------------"); sender.sendMessage(ChatColor.RED + "当前服务器运行的 " + ChatColor.GOLD + "Residence" + ChatColor.RED + " 版本: " + ChatColor.BLUE + plugin.getDescription().getVersion()); sender.sendMessage(ChatColor.GREEN + "创建者: " + ChatColor.YELLOW + "bekvon"); sender.sendMessage(ChatColor.GREEN + "升级到 1.8 by: " + ChatColor.YELLOW + "DartCZ"); sender.sendMessage(ChatColor.RED + "升级到最新无UUID版本 by: " + ChatColor.YELLOW + "喵♂呜"); String names = null; - List authlist = plugin.getDescription().getAuthors(); - for (String auth : authlist) - if (names == null) + final List authlist = plugin.getDescription().getAuthors(); + for (final String auth : authlist) { + if (names == null) { names = auth; - else + } else { names = names + ", " + auth; + } + } sender.sendMessage(ChatColor.GREEN + "作者: " + ChatColor.YELLOW + names); sender.sendMessage(ChatColor.DARK_AQUA + "插件命令列表,帮助, 请查看wiki:"); sender.sendMessage(ChatColor.GREEN + "http://residencebukkitmod.wikispaces.com/");