1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-24 21:46:16 +00:00

修复当保存数据时关服 导致的数据丢失 修复resreload命令!

This commit is contained in:
j502647092
2015-11-08 00:39:11 +08:00
parent 4609b8ba1f
commit f535e468de
2 changed files with 32 additions and 35 deletions

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>cn.citycraft</groupId> <groupId>cn.citycraft</groupId>
<artifactId>Residence</artifactId> <artifactId>Residence</artifactId>
<version>2.8.1.0</version> <version>2.8.1.1</version>
<name>Residence</name> <name>Residence</name>
<description>重制版本的领地插件 - 喵♂呜</description> <description>重制版本的领地插件 - 喵♂呜</description>
<build> <build>
@@ -55,7 +55,7 @@
</build> </build>
<properties> <properties>
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url> <jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
<update.description>&amp;e还原protection包路径 &amp;a兼容部分老插件 &amp;c移除冗余Flag...</update.description> <update.description>&amp;4修复当保存数据时关服导致的领地数据丢失&amp;c修复resreload命令...</update.description>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<repositories> <repositories>

View File

@@ -92,6 +92,11 @@ public class ResidenceMain extends JavaPlugin {
public final static String[] validLanguages = { "English", "Chinese" }; public final static String[] validLanguages = { "English", "Chinese" };
public final static Pattern VER_REGEX = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)"); public final static Pattern VER_REGEX = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)");
protected static ResidenceMain instance; protected static ResidenceMain instance;
public static ResidenceMain getInstance() {
return instance;
}
private ConfigManager cmanager; private ConfigManager cmanager;
protected DataBackup backup; protected DataBackup backup;
protected ResidenceBlockListener blistener; protected ResidenceBlockListener blistener;
@@ -102,7 +107,6 @@ public class ResidenceMain extends JavaPlugin {
protected EconomyInterface economy; protected EconomyInterface economy;
protected ResidenceEntityListener elistener; protected ResidenceEntityListener elistener;
protected EntityManager entitymanager; protected EntityManager entitymanager;
protected boolean firstenable = true;
protected FlagManager fmanager; protected FlagManager fmanager;
protected PermissionManager gmanager; protected PermissionManager gmanager;
protected HandlerMainCommand hdmcnd; protected HandlerMainCommand hdmcnd;
@@ -121,11 +125,8 @@ public class ResidenceMain extends JavaPlugin {
protected TaskManager taskmanager; protected TaskManager taskmanager;
protected TransactionManager tmanager; protected TransactionManager tmanager;
protected boolean useWorldEdit; protected boolean useWorldEdit;
protected WorldFlagManager wmanager;
public static ResidenceMain getInstance() { protected WorldFlagManager wmanager;
return instance;
}
public void csm(final String... msgs) { public void csm(final String... msgs) {
for (final String msg : msgs) { for (final String msg : msgs) {
@@ -462,34 +463,30 @@ public class ResidenceMain extends JavaPlugin {
taskmanager = new TaskManager(this); taskmanager = new TaskManager(this);
} }
final PluginManager pm = getServer().getPluginManager(); final PluginManager pm = getServer().getPluginManager();
if (firstenable) {
if (!this.isEnabled()) { if (!this.isEnabled()) {
return; 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);
} }
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 = new FlagManager(this);
fmanager.init(); fmanager.init();
@@ -573,7 +570,7 @@ public class ResidenceMain extends JavaPlugin {
config.save(); config.save();
} }
public void saveYml() throws IOException { public synchronized void saveYml() throws IOException {
final File saveFolder = new File(dataFolder, "Save"); final File saveFolder = new File(dataFolder, "Save");
final File worldFolder = new File(saveFolder, "Worlds"); final File worldFolder = new File(saveFolder, "Worlds");
worldFolder.mkdirs(); worldFolder.mkdirs();