Ctrl+C saves world before stopping

This commit is contained in:
Dinnerbone 2011-03-29 21:01:04 +01:00
parent b37dd48ae5
commit 2ac43ce223
2 changed files with 20 additions and 1 deletions

View file

@ -21,6 +21,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.LoggerOutputStream;
import org.bukkit.craftbukkit.command.ColouredConsoleSender;
import org.bukkit.craftbukkit.scheduler.CraftScheduler;
import org.bukkit.craftbukkit.util.ServerShutdownThread;
import org.bukkit.event.world.WorldSaveEvent;
@ -64,6 +65,7 @@ public class MinecraftServer implements Runnable, ICommandListener {
} catch (IOException ex) {
Logger.getLogger(MinecraftServer.class.getName()).log(Level.SEVERE, null, ex);
}
Runtime.getRuntime().addShutdownHook(new ServerShutdownThread(this));
// CraftBukkit end
}
@ -218,7 +220,7 @@ public class MinecraftServer implements Runnable, ICommandListener {
// CraftBukkit end
}
private void g() {
public void g() { // Craftbukkit: private -> public
a.info("Stopping server");
// CraftBukkit start
if (server != null) {

View file

@ -0,0 +1,17 @@
package org.bukkit.craftbukkit.util;
import net.minecraft.server.MinecraftServer;
public class ServerShutdownThread extends Thread {
private final MinecraftServer server;
public ServerShutdownThread(MinecraftServer server) {
this.server = server;
}
@Override
public void run() {
server.g();
}
}