diff --git a/pom.xml b/pom.xml
index a540722..2d32f7e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
cn.citycraft
Residence
- 2.8.1.0
+ 2.8.1.1
Residence
重制版本的领地插件 - 喵♂呜
@@ -55,7 +55,7 @@
http://ci.citycraft.cn:8080
- &e还原protection包路径 &a兼容部分老插件 &c移除冗余Flag...
+ &4修复当保存数据时关服导致的领地数据丢失&c修复resreload命令...
UTF-8
diff --git a/src/main/java/cn/citycraft/Residence/ResidenceMain.java b/src/main/java/cn/citycraft/Residence/ResidenceMain.java
index bfae9cd..1bf8588 100644
--- a/src/main/java/cn/citycraft/Residence/ResidenceMain.java
+++ b/src/main/java/cn/citycraft/Residence/ResidenceMain.java
@@ -92,6 +92,11 @@ public class ResidenceMain extends JavaPlugin {
public final static String[] validLanguages = { "English", "Chinese" };
public final static Pattern VER_REGEX = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)");
protected static ResidenceMain instance;
+
+ public static ResidenceMain getInstance() {
+ return instance;
+ }
+
private ConfigManager cmanager;
protected DataBackup backup;
protected ResidenceBlockListener blistener;
@@ -102,7 +107,6 @@ public class ResidenceMain extends JavaPlugin {
protected EconomyInterface economy;
protected ResidenceEntityListener elistener;
protected EntityManager entitymanager;
- protected boolean firstenable = true;
protected FlagManager fmanager;
protected PermissionManager gmanager;
protected HandlerMainCommand hdmcnd;
@@ -121,11 +125,8 @@ public class ResidenceMain extends JavaPlugin {
protected TaskManager taskmanager;
protected TransactionManager tmanager;
protected boolean useWorldEdit;
- protected WorldFlagManager wmanager;
- public static ResidenceMain getInstance() {
- return instance;
- }
+ protected WorldFlagManager wmanager;
public void csm(final String... msgs) {
for (final String msg : msgs) {
@@ -462,34 +463,30 @@ public class ResidenceMain extends JavaPlugin {
taskmanager = new TaskManager(this);
}
final PluginManager pm = getServer().getPluginManager();
- if (firstenable) {
- if (!this.isEnabled()) {
- return;
- }
- FlagPermissions.initValidFlags();
- final Plugin wep = this.getServer().getPluginManager().getPlugin("WorldEdit");
- if (wep != null) {
- smanager = new WorldEditSelectionManager(this);
- useWorldEdit = true;
- this.getLogger().info("发现 WorldEdit 已启用相关支持...");
- } else {
- smanager = new SelectionManager(this);
- useWorldEdit = false;
- }
- blistener = new ResidenceBlockListener(this);
- plistener = new ResidencePlayerListener(this);
- elistener = new ResidenceEntityListener(this);
- plistener1_8 = new ResidencePlayerListener_1_8(this);
- pm.registerEvents(blistener, this);
- pm.registerEvents(plistener, this);
- if (is1_8()) {
- pm.registerEvents(plistener1_8, this);
- }
- pm.registerEvents(elistener, this);
- firstenable = false;
- } else {
- plistener = new ResidencePlayerListener(this);
+
+ if (!this.isEnabled()) {
+ return;
}
+ FlagPermissions.initValidFlags();
+ final Plugin wep = this.getServer().getPluginManager().getPlugin("WorldEdit");
+ if (wep != null) {
+ smanager = new WorldEditSelectionManager(this);
+ useWorldEdit = true;
+ this.getLogger().info("发现 WorldEdit 已启用相关支持...");
+ } else {
+ smanager = new SelectionManager(this);
+ useWorldEdit = false;
+ }
+ blistener = new ResidenceBlockListener(this);
+ plistener = new ResidencePlayerListener(this);
+ elistener = new ResidenceEntityListener(this);
+ plistener1_8 = new ResidencePlayerListener_1_8(this);
+ pm.registerEvents(blistener, this);
+ pm.registerEvents(plistener, this);
+ if (is1_8()) {
+ pm.registerEvents(plistener1_8, this);
+ }
+ pm.registerEvents(elistener, this);
fmanager = new FlagManager(this);
fmanager.init();
@@ -573,7 +570,7 @@ public class ResidenceMain extends JavaPlugin {
config.save();
}
- public void saveYml() throws IOException {
+ public synchronized void saveYml() throws IOException {
final File saveFolder = new File(dataFolder, "Save");
final File worldFolder = new File(saveFolder, "Worlds");
worldFolder.mkdirs();