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

@@ -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();