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/");