SPIGOT-1590: Ensure plugins are disabled.

This commit is contained in:
md_5 2016-03-02 06:33:41 +11:00
parent 7c2b0ab69e
commit 1d80ac2a7b

View file

@ -315,7 +315,7 @@
} catch (ExceptionWorldConflict exceptionworldconflict) { } catch (ExceptionWorldConflict exceptionworldconflict) {
MinecraftServer.LOGGER.warn(exceptionworldconflict.getMessage()); MinecraftServer.LOGGER.warn(exceptionworldconflict.getMessage());
} }
@@ -289,7 +428,18 @@ @@ -289,8 +428,24 @@
} }
@ -333,9 +333,15 @@
+ } + }
+ // CraftBukkit end + // CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server"); MinecraftServer.LOGGER.info("Stopping server");
+ // CraftBukkit start
+ if (this.server != null) {
+ this.server.disablePlugins();
+ }
+ // CraftBukkit end
if (this.am() != null) { if (this.am() != null) {
this.am().b(); this.am().b();
@@ -299,6 +449,7 @@ }
@@ -299,6 +454,7 @@
MinecraftServer.LOGGER.info("Saving players"); MinecraftServer.LOGGER.info("Saving players");
this.v.savePlayers(); this.v.savePlayers();
this.v.u(); this.v.u();
@ -343,7 +349,7 @@
} }
if (this.worldServer != null) { if (this.worldServer != null) {
@@ -314,11 +465,13 @@ @@ -314,11 +470,13 @@
this.saveChunks(false); this.saveChunks(false);
@ -357,7 +363,7 @@
} }
if (this.m.d()) { if (this.m.d()) {
@@ -358,6 +511,7 @@ @@ -358,6 +516,7 @@
long k = j - this.aa; long k = j - this.aa;
if (k > 2000L && this.aa - this.Q >= 15000L) { if (k > 2000L && this.aa - this.Q >= 15000L) {
@ -365,7 +371,7 @@
MinecraftServer.LOGGER.warn("Can\'t keep up! Did the system time change, or is the server overloaded? Running {}ms behind, skipping {} tick(s)", new Object[] { Long.valueOf(k), Long.valueOf(k / 50L)}); MinecraftServer.LOGGER.warn("Can\'t keep up! Did the system time change, or is the server overloaded? Running {}ms behind, skipping {} tick(s)", new Object[] { Long.valueOf(k), Long.valueOf(k / 50L)});
k = 2000L; k = 2000L;
this.Q = this.aa; this.Q = this.aa;
@@ -370,11 +524,12 @@ @@ -370,11 +529,12 @@
i += k; i += k;
this.aa = j; this.aa = j;
@ -379,7 +385,7 @@
i -= 50L; i -= 50L;
this.C(); this.C();
} }
@@ -412,6 +567,12 @@ @@ -412,6 +572,12 @@
} catch (Throwable throwable1) { } catch (Throwable throwable1) {
MinecraftServer.LOGGER.error("Exception stopping the server", throwable1); MinecraftServer.LOGGER.error("Exception stopping the server", throwable1);
} finally { } finally {
@ -392,7 +398,7 @@
this.B(); this.B();
} }
@@ -455,7 +616,7 @@ @@ -455,7 +621,7 @@
protected void B() {} protected void B() {}
@ -401,7 +407,7 @@
long i = System.nanoTime(); long i = System.nanoTime();
++this.ticks; ++this.ticks;
@@ -481,7 +642,7 @@ @@ -481,7 +647,7 @@
this.q.b().a(agameprofile); this.q.b().a(agameprofile);
} }
@ -410,7 +416,7 @@
this.methodProfiler.a("save"); this.methodProfiler.a("save");
this.v.savePlayers(); this.v.savePlayers();
this.saveChunks(true); this.saveChunks(true);
@@ -516,20 +677,40 @@ @@ -516,20 +682,40 @@
this.methodProfiler.c("levels"); this.methodProfiler.c("levels");
@ -454,7 +460,7 @@
this.methodProfiler.a("tick"); this.methodProfiler.a("tick");
@@ -556,9 +737,9 @@ @@ -556,9 +742,9 @@
worldserver.getTracker().updatePlayers(); worldserver.getTracker().updatePlayers();
this.methodProfiler.b(); this.methodProfiler.b();
this.methodProfiler.b(); this.methodProfiler.b();
@ -466,7 +472,7 @@
} }
this.methodProfiler.c("connection"); this.methodProfiler.c("connection");
@@ -582,10 +763,11 @@ @@ -582,10 +768,11 @@
this.o.add(itickable); this.o.add(itickable);
} }
@ -479,7 +485,7 @@
boolean flag = true; boolean flag = true;
String s = null; String s = null;
String s1 = "."; String s1 = ".";
@@ -630,13 +812,16 @@ @@ -630,13 +817,16 @@
++j; ++j;
} }
} }
@ -497,7 +503,7 @@
if (s != null) { if (s != null) {
dedicatedserver.i(s); dedicatedserver.i(s);
} }
@@ -667,6 +852,25 @@ @@ -667,6 +857,25 @@
dedicatedserver.stop(); dedicatedserver.stop();
} }
}); });
@ -523,7 +529,7 @@
} catch (Exception exception) { } catch (Exception exception) {
MinecraftServer.LOGGER.fatal("Failed to start the minecraft server", exception); MinecraftServer.LOGGER.fatal("Failed to start the minecraft server", exception);
} }
@@ -674,8 +878,10 @@ @@ -674,8 +883,10 @@
} }
public void F() { public void F() {
@ -534,7 +540,7 @@
} }
public File d(String s) { public File d(String s) {
@@ -691,7 +897,14 @@ @@ -691,7 +902,14 @@
} }
public WorldServer getWorldServer(int i) { public WorldServer getWorldServer(int i) {
@ -550,7 +556,7 @@
} }
public String getVersion() { public String getVersion() {
@@ -715,7 +928,7 @@ @@ -715,7 +933,7 @@
} }
public boolean isDebugging() { public boolean isDebugging() {
@ -559,7 +565,7 @@
} }
public void g(String s) { public void g(String s) {
@@ -730,7 +943,7 @@ @@ -730,7 +948,7 @@
} }
public String getServerModName() { public String getServerModName() {
@ -568,7 +574,7 @@
} }
public CrashReport b(CrashReport crashreport) { public CrashReport b(CrashReport crashreport) {
@@ -759,6 +972,7 @@ @@ -759,6 +977,7 @@
} }
public List<String> tabCompleteCommand(ICommandListener icommandlistener, String s, BlockPosition blockposition, boolean flag) { public List<String> tabCompleteCommand(ICommandListener icommandlistener, String s, BlockPosition blockposition, boolean flag) {
@ -576,7 +582,7 @@
ArrayList arraylist = Lists.newArrayList(); ArrayList arraylist = Lists.newArrayList();
boolean flag1 = s.startsWith("/"); boolean flag1 = s.startsWith("/");
@@ -801,10 +1015,13 @@ @@ -801,10 +1020,13 @@
return arraylist; return arraylist;
} }
@ -591,7 +597,7 @@
} }
public String getName() { public String getName() {
@@ -860,8 +1077,10 @@ @@ -860,8 +1082,10 @@
} }
public void a(EnumDifficulty enumdifficulty) { public void a(EnumDifficulty enumdifficulty) {
@ -604,7 +610,7 @@
if (worldserver != null) { if (worldserver != null) {
if (worldserver.getWorldData().isHardcore()) { if (worldserver.getWorldData().isHardcore()) {
@@ -928,9 +1147,11 @@ @@ -928,9 +1152,11 @@
int i = 0; int i = 0;
if (this.worldServer != null) { if (this.worldServer != null) {
@ -619,7 +625,7 @@
WorldData worlddata = worldserver.getWorldData(); WorldData worlddata = worldserver.getWorldData();
mojangstatisticsgenerator.a("world[" + i + "][dimension]", Integer.valueOf(worldserver.worldProvider.getDimensionManager().getDimensionID())); mojangstatisticsgenerator.a("world[" + i + "][dimension]", Integer.valueOf(worldserver.worldProvider.getDimensionManager().getDimensionID()));
@@ -963,7 +1184,7 @@ @@ -963,7 +1189,7 @@
public abstract boolean aa(); public abstract boolean aa();
public boolean getOnlineMode() { public boolean getOnlineMode() {
@ -628,7 +634,7 @@
} }
public void setOnlineMode(boolean flag) { public void setOnlineMode(boolean flag) {
@@ -1035,8 +1256,9 @@ @@ -1035,8 +1261,9 @@
} }
public void setGamemode(WorldSettings.EnumGamemode worldsettings_enumgamemode) { public void setGamemode(WorldSettings.EnumGamemode worldsettings_enumgamemode) {
@ -640,7 +646,7 @@
} }
} }
@@ -1068,7 +1290,7 @@ @@ -1068,7 +1295,7 @@
} }
public World getWorld() { public World getWorld() {
@ -649,7 +655,7 @@
} }
public Entity f() { public Entity f() {
@@ -1139,8 +1361,10 @@ @@ -1139,8 +1366,10 @@
WorldServer[] aworldserver = this.worldServer; WorldServer[] aworldserver = this.worldServer;
int i = aworldserver.length; int i = aworldserver.length;
@ -662,7 +668,7 @@
if (worldserver != null) { if (worldserver != null) {
Entity entity = worldserver.getEntity(uuid); Entity entity = worldserver.getEntity(uuid);
@@ -1155,7 +1379,7 @@ @@ -1155,7 +1384,7 @@
} }
public boolean getSendCommandFeedback() { public boolean getSendCommandFeedback() {
@ -671,7 +677,7 @@
} }
public void a(CommandObjectiveExecutor.EnumCommandResult commandobjectiveexecutor_enumcommandresult, int i) {} public void a(CommandObjectiveExecutor.EnumCommandResult commandobjectiveexecutor_enumcommandresult, int i) {}
@@ -1170,7 +1394,7 @@ @@ -1170,7 +1399,7 @@
public <V> ListenableFuture<V> a(Callable<V> callable) { public <V> ListenableFuture<V> a(Callable<V> callable) {
Validate.notNull(callable); Validate.notNull(callable);
@ -680,7 +686,7 @@
ListenableFutureTask listenablefuturetask = ListenableFutureTask.create(callable); ListenableFutureTask listenablefuturetask = ListenableFutureTask.create(callable);
Queue queue = this.j; Queue queue = this.j;
@@ -1215,4 +1439,11 @@ @@ -1215,4 +1444,11 @@
public int a(WorldServer worldserver) { public int a(WorldServer worldserver) {
return worldserver != null ? worldserver.getGameRules().c("spawnRadius") : 10; return worldserver != null ? worldserver.getGameRules().c("spawnRadius") : 10;
} }