If plugin failed to load correctly for various reasons, it could end up wiping the board or faction list. This should now be prevented.

An example: if you loaded 1.6.6 (not 1.6.6b) on CB 1.1-R6 or newer, it would trigger an exception at startup and cause this problem.
This commit is contained in:
Brettflan
2012-03-09 14:44:17 -06:00
parent 54b97651b6
commit 0a048d6553
2 changed files with 15 additions and 5 deletions

View File

@ -34,6 +34,7 @@ public abstract class MPlugin extends JavaPlugin
public Gson gson;
private Integer saveTask = null;
private boolean autoSave = true;
protected boolean loadSuccessful = false;
public boolean getAutoSave() {return this.autoSave;}
public void setAutoSave(boolean val) {this.autoSave = val;}
@ -81,7 +82,8 @@ public abstract class MPlugin extends JavaPlugin
{
saveTask = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new SaveTask(this), saveTicks, saveTicks);
}
loadSuccessful = true;
return true;
}
@ -97,7 +99,9 @@ public abstract class MPlugin extends JavaPlugin
this.getServer().getScheduler().cancelTask(saveTask);
saveTask = null;
}
EM.saveAllToDisc();
// only save data if plugin actually loaded successfully
if (loadSuccessful)
EM.saveAllToDisc();
log("Disabled");
}