Skip to content

Commit

Permalink
Formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
Morgan committed Aug 26, 2011
1 parent 49a12f3 commit 528965b
Show file tree
Hide file tree
Showing 7 changed files with 770 additions and 637 deletions.
956 changes: 528 additions & 428 deletions src/net/milkbowl/autosave/AutoSave.java

Large diffs are not rendered by default.

177 changes: 96 additions & 81 deletions src/net/milkbowl/autosave/AutoSaveConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,90 +27,105 @@
import org.bukkit.util.config.Configuration;

public class AutoSaveConfig {

Configuration config;

public AutoSaveConfig(Configuration config) {
this.config = config;
}

// Messages
protected String messageBroadcastPre = "&9AutoSaving";
protected String messageBroadcastPost = "&9AutoSave Complete";
protected String messageStatusFail = "&9AutoSave has stopped, check the server logs for more info";
protected String messageStatusNotRun = "&9AutoSave is running but has not yet saved.";
protected String messageStatusSuccess = "&9AutoSave is running and last saved at ${DATE}.";
protected String messageStatusOff = "&9AutoSave is not running (disabled)";
protected String messageInsufficientPermissions = "&cYou do not have access to that command.";
protected String messageStopping = "&9AutoSave Stopping";
protected String messageStarting = "&9AutoSave Starting";
protected String messageInfoNaN = "&cYou must enter a valid number, ex: 300";
protected String messageInfoChangeSuccess = "&9${VARIABLE} has been updated.";
protected String messageInfoLookup = "&9${VARIABLE} is ${VALUE}";
protected String messageInfoListLookup = "&9${VARIABLE} is set to [${VALUE}]";
protected String messageInfoInvalid = "&cYou must enter a valid setting (${VALIDSETTINGS})";
protected String messageVersion = "&9AutoSave v${VERSION}, Instance ${UUID}";
protected String messageWarning = "&9Warning, AutoSave will commence soon.";

// Values
protected String valueOn = "on";
protected String valueOff = "off";

// Variables
protected UUID varUuid;
protected boolean varReport = true;
protected int varInterval = 300;
protected List<Integer> varWarnTimes = null;
protected boolean varBroadcast = true;
protected boolean varDebug = false;
protected List<String> varWorlds = null;
protected Mode varMode = Mode.SYNCHRONOUS;

public void load() {

// Messages
messageBroadcastPre = config.getString("messages.broadcast.pre", messageBroadcastPre);
messageBroadcastPost = config.getString("messages.broadcast.post", messageBroadcastPost);
messageStatusFail = config.getString("messages.status.fail", messageStatusFail);
messageStatusNotRun = config.getString("messages.status.notrun", messageStatusNotRun);
messageStatusSuccess = config.getString("messages.status.success", messageStatusSuccess);
messageStatusOff = config.getString("messages.status.off", messageStatusOff);
messageInsufficientPermissions = config.getString("messages.insufficentpermissions", messageInsufficientPermissions);
messageStopping = config.getString("messages.stopping", messageStopping);
messageStarting = config.getString("messages.starting", messageStarting);
messageInfoNaN = config.getString("messages.info.nan", messageInfoNaN);
messageInfoChangeSuccess = config.getString("messages.info.changesuccess", messageInfoChangeSuccess);
messageInfoLookup = config.getString("messages.info.lookup", messageInfoLookup);
messageInfoListLookup = config.getString("messages.info.listlookup", messageInfoListLookup);
messageInfoInvalid = config.getString("messages.info.invalid", messageInfoInvalid);
messageVersion = config.getString("messages.version", messageVersion);
messageWarning = config.getString("messages.warning", messageWarning);

// Values
valueOn = config.getString("value.on", valueOn);
valueOff = config.getString("value.off", valueOff);

// Variables
varDebug = config.getBoolean("var.debug", varDebug);
varBroadcast = config.getBoolean("var.broadcast", varBroadcast);
varInterval = config.getInt("var.interval", varInterval);
varMode = Mode.valueOf(config.getString("var.mode", varMode.name()));

varWorlds = config.getStringList("var.worlds", null);
if(varWorlds.size() == 0) {
varWorlds.add("*");
config.setProperty("var.worlds", varWorlds);
}

varWarnTimes = config.getIntList("var.warntime", null);
if(varWarnTimes.size() == 0) {
varWarnTimes.add(0);
config.setProperty("var.warntime", varWarnTimes);
}

varUuid = UUID.fromString(config.getString("var.uuid", UUID.randomUUID().toString()));
varReport = config.getBoolean("var.report", varReport);

config.save();
}
// Messages
protected String messageBroadcastPre = "&9AutoSaving";
protected String messageBroadcastPost = "&9AutoSave Complete";
protected String messageStatusFail = "&9AutoSave has stopped, check the server logs for more info";
protected String messageStatusNotRun = "&9AutoSave is running but has not yet saved.";
protected String messageStatusSuccess = "&9AutoSave is running and last saved at ${DATE}.";
protected String messageStatusOff = "&9AutoSave is not running (disabled)";
protected String messageInsufficientPermissions = "&cYou do not have access to that command.";
protected String messageStopping = "&9AutoSave Stopping";
protected String messageStarting = "&9AutoSave Starting";
protected String messageInfoNaN = "&cYou must enter a valid number, ex: 300";
protected String messageInfoChangeSuccess = "&9${VARIABLE} has been updated.";
protected String messageInfoLookup = "&9${VARIABLE} is ${VALUE}";
protected String messageInfoListLookup = "&9${VARIABLE} is set to [${VALUE}]";
protected String messageInfoInvalid = "&cYou must enter a valid setting (${VALIDSETTINGS})";
protected String messageVersion = "&9AutoSave v${VERSION}, Instance ${UUID}";
protected String messageWarning = "&9Warning, AutoSave will commence soon.";

// Values
protected String valueOn = "on";
protected String valueOff = "off";

// Variables
protected UUID varUuid;
protected boolean varReport = true;
protected int varInterval = 300;
protected List<Integer> varWarnTimes = null;
protected boolean varBroadcast = true;
protected boolean varDebug = false;
protected List<String> varWorlds = null;
protected Mode varMode = Mode.SYNCHRONOUS;

public void load() {

// Messages
messageBroadcastPre = config.getString("messages.broadcast.pre",
messageBroadcastPre);
messageBroadcastPost = config.getString("messages.broadcast.post",
messageBroadcastPost);
messageStatusFail = config.getString("messages.status.fail",
messageStatusFail);
messageStatusNotRun = config.getString("messages.status.notrun",
messageStatusNotRun);
messageStatusSuccess = config.getString("messages.status.success",
messageStatusSuccess);
messageStatusOff = config.getString("messages.status.off",
messageStatusOff);
messageInsufficientPermissions = config.getString(
"messages.insufficentpermissions",
messageInsufficientPermissions);
messageStopping = config
.getString("messages.stopping", messageStopping);
messageStarting = config
.getString("messages.starting", messageStarting);
messageInfoNaN = config.getString("messages.info.nan", messageInfoNaN);
messageInfoChangeSuccess = config.getString(
"messages.info.changesuccess", messageInfoChangeSuccess);
messageInfoLookup = config.getString("messages.info.lookup",
messageInfoLookup);
messageInfoListLookup = config.getString("messages.info.listlookup",
messageInfoListLookup);
messageInfoInvalid = config.getString("messages.info.invalid",
messageInfoInvalid);
messageVersion = config.getString("messages.version", messageVersion);
messageWarning = config.getString("messages.warning", messageWarning);

// Values
valueOn = config.getString("value.on", valueOn);
valueOff = config.getString("value.off", valueOff);

// Variables
varDebug = config.getBoolean("var.debug", varDebug);
varBroadcast = config.getBoolean("var.broadcast", varBroadcast);
varInterval = config.getInt("var.interval", varInterval);
varMode = Mode.valueOf(config.getString("var.mode", varMode.name()));

varWorlds = config.getStringList("var.worlds", null);
if (varWorlds.size() == 0) {
varWorlds.add("*");
config.setProperty("var.worlds", varWorlds);
}

varWarnTimes = config.getIntList("var.warntime", null);
if (varWarnTimes.size() == 0) {
varWarnTimes.add(0);
config.setProperty("var.warntime", varWarnTimes);
}

varUuid = UUID.fromString(config.getString("var.uuid", UUID
.randomUUID().toString()));
varReport = config.getBoolean("var.report", varReport);

config.save();
}
}
162 changes: 87 additions & 75 deletions src/net/milkbowl/autosave/AutoSaveThread.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,86 +25,98 @@

public class AutoSaveThread extends Thread {

protected final Logger log = Logger.getLogger("Minecraft");
private boolean run = true;
private boolean saveInProgress = false;
private AutoSave plugin = null;
private AutoSaveConfig config = null;
protected final Logger log = Logger.getLogger("Minecraft");
private boolean run = true;
private boolean saveInProgress = false;
private AutoSave plugin = null;
private AutoSaveConfig config = null;

// Constructor to define number of seconds to sleep
AutoSaveThread(AutoSave plugin, AutoSaveConfig config) {
this.plugin = plugin;
this.config = config;
}
// Constructor to define number of seconds to sleep
AutoSaveThread(AutoSave plugin, AutoSaveConfig config) {
this.plugin = plugin;
this.config = config;
}

// Allows for the thread to naturally exit if value is false
public void setRun(boolean run) {
this.run = run;
}
// Allows for the thread to naturally exit if value is false
public void setRun(boolean run) {
this.run = run;
}

// The code to run...weee
public void run() {
if (config == null) {
return;
}
// The code to run...weee
public void run() {
if (config == null) {
return;
}

log.info(String.format("[%s] AutoSaveThread Started: Interval is %d seconds, Warn Times are %s", plugin.getDescription().getName(), config.varInterval, Generic.join(",", config.varWarnTimes)));
while (run) {
// Do our Sleep stuff!
for (int i = 0; i < config.varInterval; i++) {
try {
if (!run) {
if (config.varDebug) {
log.info(String.format("[%s] Graceful quit of AutoSaveThread", plugin.getDescription().getName()));
}
return;
}
boolean warn = false;
for (int w : config.varWarnTimes) {
if (w != 0 && w + i == config.varInterval) {
warn = true;
}
}
log.info(String
.format("[%s] AutoSaveThread Started: Interval is %d seconds, Warn Times are %s",
plugin.getDescription().getName(), config.varInterval,
Generic.join(",", config.varWarnTimes)));
while (run) {
// Do our Sleep stuff!
for (int i = 0; i < config.varInterval; i++) {
try {
if (!run) {
if (config.varDebug) {
log.info(String.format(
"[%s] Graceful quit of AutoSaveThread",
plugin.getDescription().getName()));
}
return;
}
boolean warn = false;
for (int w : config.varWarnTimes) {
if (w != 0 && w + i == config.varInterval) {
warn = true;
}
}

if (warn) {
// Perform warning
if (config.varDebug) {
log.info(String.format("[%s] Warning Time Reached: %d seconds to go.", plugin.getDescription().getName(), config.varInterval - i));
}
plugin.getServer().broadcastMessage(config.messageWarning);
log.info(String.format("[%s] %s", plugin.getDescription().getName(), config.messageWarning));
}
Thread.sleep(1000);
} catch (InterruptedException e) {
log.info("Could not sleep!");
}
}
if (warn) {
// Perform warning
if (config.varDebug) {
log.info(String
.format("[%s] Warning Time Reached: %d seconds to go.",
plugin.getDescription().getName(),
config.varInterval - i));
}
plugin.getServer().broadcastMessage(
config.messageWarning);
log.info(String.format("[%s] %s", plugin
.getDescription().getName(),
config.messageWarning));
}
Thread.sleep(1000);
} catch (InterruptedException e) {
log.info("Could not sleep!");
}
}

switch(config.varMode) {
case ASYNCHRONOUS:
plugin.getServer().getScheduler()
.scheduleAsyncDelayedTask(plugin, new Runnable() {

public void run() {
plugin.performSave();
plugin.lastSave = new Date();
}
});
break;
case SYNCHRONOUS:
plugin.getServer().getScheduler()
.scheduleSyncDelayedTask(plugin, new Runnable() {
public void run() {
plugin.performSave();
plugin.lastSave = new Date();
}
});
break;
default:
log.warning(String.format("[%s] Invalid configuration mode!", plugin.getDescription().getName()));
break;
}
}
}
switch (config.varMode) {
case ASYNCHRONOUS:
plugin.getServer().getScheduler()
.scheduleAsyncDelayedTask(plugin, new Runnable() {

public void run() {
plugin.performSave();
plugin.lastSave = new Date();
}
});
break;
case SYNCHRONOUS:
plugin.getServer().getScheduler()
.scheduleSyncDelayedTask(plugin, new Runnable() {
public void run() {
plugin.performSave();
plugin.lastSave = new Date();
}
});
break;
default:
log.warning(String.format("[%s] Invalid configuration mode!",
plugin.getDescription().getName()));
break;
}
}
}

}
Loading

0 comments on commit 528965b

Please sign in to comment.