Update from upstream SpigotMC

72d33338f08
2a70ece9ab2 [M]
abcf7aa4a40
9a88a38258c [M]
8dc4297e34f
This commit is contained in:
Zach Brown 2014-12-05 21:33:40 -06:00
parent 1d8cdd7bf5
commit c9daa16dac
28 changed files with 203 additions and 150 deletions

View File

@ -1,4 +1,4 @@
From a33af7358dfa85e86fe64c23d34ec21a47f3f5cc Mon Sep 17 00:00:00 2001
From be6a8aefafe4a6dc34d952b7c0cf860f7136defe Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 2 Jul 2013 13:07:39 +1000
Subject: [PATCH] POM Changes
@ -6,7 +6,7 @@ Subject: [PATCH] POM Changes
Basic changes to the build system which mark the artifact as Spigot, and the necessary code changes to ensure proper functionality. Also disables the auto updater provided by CraftBukkit as it is useless to us.
diff --git a/pom.xml b/pom.xml
index e2d4c7d..5fd93be 100644
index 8d3f539..74efc8b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,12 +1,12 @@
@ -51,7 +51,7 @@ index e2d4c7d..5fd93be 100644
<version>${project.version}</version>
<type>jar</type>
<scope>compile</scope>
@@ -132,18 +139,39 @@
@@ -132,21 +139,39 @@
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
<build>
@ -61,16 +61,14 @@ index e2d4c7d..5fd93be 100644
<plugin>
<groupId>com.lukegb.mojo</groupId>
<artifactId>gitdescribe-maven-plugin</artifactId>
- <version>1.3</version>
+ <version>2.0</version>
<version>2.0</version>
<configuration>
- <outputPrefix>${buildtag.prefix}</outputPrefix>
- <outputPostfix>${buildtag.suffix}</outputPostfix>
- </configuration>
+ <extraArguments>
+ <extraArgument>--always</extraArgument>
+ </extraArguments>
+ </configuration>
<extraArguments>
<extraArgument>--always</extraArgument>
</extraArguments>
</configuration>
<executions>
<execution>
+ <id>ex-spigot</id>
@ -96,7 +94,7 @@ index e2d4c7d..5fd93be 100644
<phase>compile</phase>
<goals>
<goal>gitdescribe</goal>
@@ -160,7 +188,7 @@
@@ -163,7 +188,7 @@
<manifestEntries>
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
<Implementation-Title>CraftBukkit</Implementation-Title>
@ -105,7 +103,7 @@ index e2d4c7d..5fd93be 100644
<Implementation-Vendor>Bukkit Team</Implementation-Vendor>
<Specification-Title>Bukkit</Specification-Title>
<Specification-Version>${api.version}</Specification-Version>
@@ -193,7 +221,7 @@
@@ -196,7 +221,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>

View File

@ -1,4 +1,4 @@
From 612a8c1fc34fe2df4d22a21196f0b7df9341c974 Mon Sep 17 00:00:00 2001
From 80cd16f04a4511aff368dbe080503feb517aeb80 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 15:10:56 +1000
Subject: [PATCH] Skeleton API Implementations
@ -6,10 +6,10 @@ Subject: [PATCH] Skeleton API Implementations
This contains the basic, empty implementations for some Spigot-API extensions. They are included early in the patching progress so that compilation will still succeed midway despite the APIs only being provided by subsequent patches.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index fa1fe20..fb21e5b 100644
index 075a7fd..38892a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1625,4 +1625,14 @@ public final class CraftServer implements Server {
@@ -1622,4 +1622,14 @@ public final class CraftServer implements Server {
public UnsafeValues getUnsafe() {
return CraftMagicNumbers.INSTANCE;
}
@ -25,7 +25,7 @@ index fa1fe20..fb21e5b 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f20a040..17d24ce 100644
index 83efd6a..8d28b9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1323,4 +1323,14 @@ public class CraftWorld implements World {

View File

@ -1,4 +1,4 @@
From 29a756575eaff194e5a3759084883c683ab1d4e6 Mon Sep 17 00:00:00 2001
From 2588e39beca5baaa8a95225e8005bb69437e906a Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 14 Apr 2014 10:38:04 +1000
Subject: [PATCH] Obfuscation Helpers
@ -6,10 +6,10 @@ Subject: [PATCH] Obfuscation Helpers
Provides several friendly named methods which map to a obfuscated method. Obfuscated methods which are used frequently should be added to this file to ease with updates to new Minecraft versions.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2422a5f..7224ee6 100644
index fe25804..5e53661 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1298,6 +1298,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -1294,6 +1294,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}

View File

@ -1,4 +1,4 @@
From cba0ed7de061f5e3becddd0f9db58437454371c7 Mon Sep 17 00:00:00 2001
From a63a688407f5d27d053b8fd28e28387ee1a72610 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 7 Jul 2013 09:32:53 +1000
Subject: [PATCH] Spigot Configuration
@ -35,7 +35,7 @@ index 29c0a34..424b71d 100644
if (!this.getOnlineMode()) {
DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!");
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index f45bf54..130c54d 100644
index 82343c5..44eb108 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -98,6 +98,7 @@ public abstract class World implements IBlockAccess {
@ -55,7 +55,7 @@ index f45bf54..130c54d 100644
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index fb21e5b..50a44f4 100644
index 38892a0..1f49e1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -245,8 +245,10 @@ public final class CraftServer implements Server {
@ -71,7 +71,7 @@ index fb21e5b..50a44f4 100644
}
public boolean getCommandBlockOverride(String command) {
@@ -672,6 +674,7 @@ public final class CraftServer implements Server {
@@ -671,6 +673,7 @@ public final class CraftServer implements Server {
logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage());
}
@ -79,7 +79,7 @@ index fb21e5b..50a44f4 100644
for (WorldServer world : console.worlds) {
world.worldData.setDifficulty(difficulty);
world.setSpawnFlags(monsters, animals);
@@ -686,11 +689,14 @@ public final class CraftServer implements Server {
@@ -685,11 +688,14 @@ public final class CraftServer implements Server {
} else {
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
}

View File

@ -1,4 +1,4 @@
From 4e94a503c9de92d30489655ea3affe5c577459ec Mon Sep 17 00:00:00 2001
From 444fbb732d8b26b71369fac046fb382bbbe222ee Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 10 Jan 2013 00:18:11 -0500
Subject: [PATCH] Spigot Timings
@ -133,7 +133,7 @@ index 424b71d..390c6eb 100644
public boolean ad() {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 6e395b6..e2f3456 100644
index f76dc85..59473f5 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -16,6 +16,7 @@ import org.bukkit.entity.Hanging;
@ -242,7 +242,7 @@ index 0aaee5f..803b5df 100644
this.world.methodProfiler.b();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7224ee6..7d3b218 100644
index 5e53661..49429d7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -45,6 +45,7 @@ import joptsimple.OptionSet;
@ -253,7 +253,7 @@ index 7224ee6..7d3b218 100644
import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.server.RemoteServerCommandEvent;
import org.bukkit.event.world.WorldSaveEvent;
@@ -589,6 +590,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -585,6 +586,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
protected void x() {}
protected void y() throws ExceptionWorldConflict { // CraftBukkit - added throws
@ -261,7 +261,7 @@ index 7224ee6..7d3b218 100644
long i = System.nanoTime();
++this.ticks;
@@ -615,10 +617,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -611,10 +613,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
@ -274,7 +274,7 @@ index 7224ee6..7d3b218 100644
}
this.methodProfiler.a("tallying");
@@ -635,6 +639,8 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -631,6 +635,8 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.methodProfiler.b();
this.methodProfiler.b();
@ -283,7 +283,7 @@ index 7224ee6..7d3b218 100644
}
public void z() {
@@ -653,16 +659,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -649,16 +655,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.methodProfiler.c("levels");
@ -307,7 +307,7 @@ index 7224ee6..7d3b218 100644
// Send time updates to everyone, it will get the right time from the world the player is in.
if (this.ticks % 20 == 0) {
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
@@ -670,6 +683,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -666,6 +679,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
}
}
@ -315,7 +315,7 @@ index 7224ee6..7d3b218 100644
int i;
@@ -693,7 +707,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -689,7 +703,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
CrashReport crashreport;
try {
@ -325,7 +325,7 @@ index 7224ee6..7d3b218 100644
} catch (Throwable throwable1) {
crashreport = CrashReport.a(throwable1, "Exception ticking world");
worldserver.a(crashreport);
@@ -701,7 +717,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -697,7 +713,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}
try {
@ -335,7 +335,7 @@ index 7224ee6..7d3b218 100644
} catch (Throwable throwable2) {
crashreport = CrashReport.a(throwable2, "Exception ticking world entities");
worldserver.a(crashreport);
@@ -710,7 +728,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -706,7 +724,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.methodProfiler.b();
this.methodProfiler.a("tracker");
@ -345,7 +345,7 @@ index 7224ee6..7d3b218 100644
this.methodProfiler.b();
this.methodProfiler.b();
// } // CraftBukkit
@@ -719,14 +739,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -715,14 +735,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}
this.methodProfiler.c("connection");
@ -367,7 +367,7 @@ index 7224ee6..7d3b218 100644
this.methodProfiler.b();
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 17c5e38..c7d4f9f 100644
index 2235ba4..1950abf 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1009,6 +1009,8 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
@ -420,7 +420,7 @@ index ec76148..a93ad27 100644
private static Map f = Maps.newHashMap();
private static Map g = Maps.newHashMap();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 69e78b8..d67f2eb 100644
index 3fb0636..2d67346 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,6 +18,7 @@ import org.bukkit.Bukkit;
@ -530,7 +530,7 @@ index 69e78b8..d67f2eb 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f34b76e..9012c9e 100644
index fc21cf7..b5627c5 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -212,10 +212,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -584,10 +584,10 @@ index f34b76e..9012c9e 100644
public BiomeMeta a(EnumCreatureType enumcreaturetype, BlockPosition blockposition) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 50a44f4..9d3d76e 100644
index 1f49e1c..1f5021f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1635,6 +1635,11 @@ public final class CraftServer implements Server {
@@ -1632,6 +1632,11 @@ public final class CraftServer implements Server {
private final Spigot spigot = new Spigot()
{
@ -600,7 +600,7 @@ index 50a44f4..9d3d76e 100644
public Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index a45f2a3..13f85d5 100644
index 80f84a8..568072f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -252,9 +252,11 @@ public class CraftWorld implements World {
@ -792,7 +792,7 @@ index 0000000..558574f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
index c2d4c2e..f0db29f 100644
index 26ea0d3..7fabfa3 100644
--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
+++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
@@ -40,7 +40,9 @@ class ChunkIOProvider implements AsynchronousExecutor.CallBackProvider<QueuedChu

View File

@ -1,4 +1,4 @@
From d0ed5eb0f50dda5d850e23ce84f79817e4f817d8 Mon Sep 17 00:00:00 2001
From f7ebeca13ae1e54ffcc844911f14e4a037f14f1f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 3 Feb 2013 05:10:21 -0500
Subject: [PATCH] Entity Activation Range
@ -9,10 +9,10 @@ This will drastically cut down on tick timings for entities that are not in rang
This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index e2f3456..10e99d1 100644
index 59473f5..cffe530 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -89,7 +89,7 @@ public abstract class Entity implements ICommandListener {
@@ -89,14 +89,14 @@ public abstract class Entity implements ICommandListener {
public int ticksLived;
public int maxFireTicks;
public int fireTicks;
@ -21,6 +21,14 @@ index e2f3456..10e99d1 100644
public int noDamageTicks;
protected boolean justCreated;
protected boolean fireProof;
protected DataWatcher datawatcher;
private double ap;
private double aq;
- public boolean ad;
+ public boolean ad;public boolean isAddedToChunk() { return ad; } // Spigot
public int ae;
public int af;
public int ag;
@@ -113,7 +113,13 @@ public abstract class Entity implements ICommandListener {
public boolean valid; // CraftBukkit
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
@ -155,7 +163,7 @@ index 803b5df..86474de 100644
public void G() {
this.damageEntity(DamageSource.OUT_OF_WORLD, Float.MAX_VALUE);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 9cb7ab8..aa6d407 100644
index 0584909..e5da9db 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1256,6 +1256,7 @@ public abstract class World implements IBlockAccess {
@ -197,10 +205,10 @@ index 558574f..41d2d87 100644
public static final HashMap<String, CustomTimingsHandler> pluginTaskTimingMap = new HashMap<String, CustomTimingsHandler>();
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
new file mode 100644
index 0000000..8ca6e20
index 0000000..3505475
--- /dev/null
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -0,0 +1,278 @@
@@ -0,0 +1,283 @@
+package org.spigotmc;
+
+import java.util.ArrayList;
@ -447,6 +455,11 @@ index 0000000..8ca6e20
+ public static boolean checkIfActive(Entity entity)
+ {
+ SpigotTimings.checkIfActiveTimer.startTiming();
+ if ( !entity.isAddedToChunk() ) {
+ SpigotTimings.checkIfActiveTimer.stopTiming();
+ return true;
+ }
+
+ boolean isActive = entity.activatedTick >= MinecraftServer.currentTick || entity.defaultActivationState;
+
+ // Should this entity tick?
@ -500,5 +513,5 @@ index 46249d7..ed2836a 100644
+ }
}
--
2.1.0
1.9.1

View File

@ -1,4 +1,4 @@
From e95361cd8ad19c073e62e7f7048a4616bdd65708 Mon Sep 17 00:00:00 2001
From b2e323897b2d138c4ea2bc5175d6da6e64351024 Mon Sep 17 00:00:00 2001
From: Antony Riley <antony@cyberiantiger.org>
Date: Wed, 27 Mar 2013 01:41:54 +0200
Subject: [PATCH] Close Unloaded Save Files
@ -18,10 +18,10 @@ index f4f72ef..1b03878 100644
public static synchronized RegionFile a(File file, int i, int j) {
File file1 = new File(file, "region");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9d3d76e..ff06c34 100644
index 1f5021f..d540cd0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -950,6 +950,31 @@ public final class CraftServer implements Server {
@@ -947,6 +947,31 @@ public final class CraftServer implements Server {
worlds.remove(world.getName().toLowerCase());
console.worlds.remove(console.worlds.indexOf(handle));

View File

@ -1,14 +1,14 @@
From 938bb2bbecbdca581826bcc17c4611890027e65f Mon Sep 17 00:00:00 2001
From 81d3cead13e4ec13794d87f99d556aeba5339fb7 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 18:05:54 +1000
Subject: [PATCH] Allow Disabling of Command TabComplete
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ff06c34..f9f5056 100644
index d540cd0..a770279 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1554,6 +1554,13 @@ public final class CraftServer implements Server {
@@ -1551,6 +1551,13 @@ public final class CraftServer implements Server {
}
public List<String> tabCompleteCommand(Player player, String message) {

View File

@ -1,4 +1,4 @@
From ba993a3c58235d8d8b949adb280788cafe9880e1 Mon Sep 17 00:00:00 2001
From fa69a6cc11be682af6522f276ec6011ab3db5251 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 19:21:58 +1000
Subject: [PATCH] Configurable Messages
@ -23,7 +23,7 @@ index f8bac48..e036bc6 100644
this.b.close(chatcomponenttext);
} else {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 5e882cc..2b8a3e5 100644
index b55a7a5..7f1fcaa 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -357,7 +357,7 @@ public abstract class PlayerList {
@ -45,10 +45,10 @@ index 5e882cc..2b8a3e5 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f9f5056..537932a 100644
index a770279..f1ec39b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -626,11 +626,7 @@ public final class CraftServer implements Server {
@@ -625,11 +625,7 @@ public final class CraftServer implements Server {
return true;
}

View File

@ -1,14 +1,14 @@
From 6627cc2177ad9e1991e1c595c894e5b441dce6f9 Mon Sep 17 00:00:00 2001
From c47774ff334f12fa7bf6a86570db6c97c452bdde Mon Sep 17 00:00:00 2001
From: agentk20 <agentkid20@gmail.com>
Date: Sat, 3 Aug 2013 19:28:48 +1000
Subject: [PATCH] Fully Disable Snooper When Not Required
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7d3b218..2c39a80 100644
index 49429d7..0619584 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -629,11 +629,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -625,11 +625,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.g[this.ticks % 100] = System.nanoTime() - i;
this.methodProfiler.b();
this.methodProfiler.a("snooper");

View File

@ -1,4 +1,4 @@
From 80cf3ea8dec4901f6ca9ec52b1cc93827b6e284f Mon Sep 17 00:00:00 2001
From 9dc042d1bac57e22faacb6be61edbbc72f2aa168 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 5 Aug 2014 17:20:19 +0100
Subject: [PATCH] Watchdog Thread.
@ -18,10 +18,10 @@ index 390c6eb..240c909 100644
thread.setName("Server Watchdog");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2c39a80..adbd92e 100644
index 0619584..2fa1626 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -539,6 +539,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -535,6 +535,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.a(crashreport);
} finally {
try {
@ -29,7 +29,7 @@ index 2c39a80..adbd92e 100644
this.stop();
this.isStopped = true;
} catch (Throwable throwable1) {
@@ -639,6 +640,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -635,6 +636,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.methodProfiler.b();
this.methodProfiler.b();

View File

@ -1,4 +1,4 @@
From 71a96659f5525a395acafe230d584db86629917a Mon Sep 17 00:00:00 2001
From 309ed5906bcd6d84e84dc9690f2688c25e692bd4 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 1 Dec 2013 18:18:41 +1100
Subject: [PATCH] BungeeCord Support
@ -119,7 +119,7 @@ index 97920b0..0b86011 100644
this.d = EnumProtocol.a(packetdataserializer.e());
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index fe4121f..1d3d00f 100644
index c0d1403..65fb97e 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -342,7 +342,7 @@ public abstract class PlayerList {
@ -132,10 +132,10 @@ index fe4121f..1d3d00f 100644
if (getProfileBans().isBanned(gameprofile) && !getProfileBans().get(gameprofile).hasExpired()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 537932a..dbb3324 100644
index f1ec39b..c79ede5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -559,7 +559,13 @@ public final class CraftServer implements Server {
@@ -558,7 +558,13 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {

View File

@ -1,4 +1,4 @@
From 4e12fdec7d72b72b4ccdedef8613c25abac165c6 Mon Sep 17 00:00:00 2001
From cdc98fda7a7f9b481196468ef04dc2fc47388a10 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 13 Dec 2013 11:58:58 +1100
Subject: [PATCH] Configurable Amount of Netty Threads
@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Amount of Netty Threads
This brings back the option that the Spigot version of netty saw. By default Netty will try and use cores*2 threads, however if running multiple servers on the same machine, this can be too many threads. Additionally some people have 16 core servers. If 32 Netty threads are allowed in this setup, then the lock contention, and thus blocking between threads becomes much greater, leading to decreased performance.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index adbd92e..cdef354 100644
index 2fa1626..abef561 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -61,7 +61,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@ -27,7 +27,7 @@ index adbd92e..cdef354 100644
this.Z = new UserCache(this, file1);
this.p = this.h();
// this.convertable = new WorldLoaderServer(file); // CraftBukkit - moved to DedicatedServer.init
@@ -1333,7 +1333,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -1329,7 +1329,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}
// Spigot End
public ServerConnection ao() {

View File

@ -1,14 +1,14 @@
From c502d8318bc17af0363db62a52b546c7d451cc16 Mon Sep 17 00:00:00 2001
From 55a0e38f9e4935d64671da187f9addcbedc73839 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 18 Dec 2013 13:39:14 +1100
Subject: [PATCH] Log Cause of Unexpected Exceptions
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cdef354..6ff5211 100644
index abef561..a8bab04 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -520,6 +520,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -516,6 +516,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}
} catch (Throwable throwable) {
MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable);

View File

@ -1,14 +1,14 @@
From ff274b6f8e30286775d5c6b10f50490523591142 Mon Sep 17 00:00:00 2001
From 77dbbb73f38e8560a1b7eb2e7062738d206b8ee4 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 12 Jan 2014 20:56:41 +1100
Subject: [PATCH] Try and Debug Crash Reports Crashing
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6ff5211..85c3e3f 100644
index a8bab04..7ce37c0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -719,7 +719,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -715,7 +715,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
worldserver.doTick();
worldserver.timings.doTick.stopTiming(); // Spigot
} catch (Throwable throwable1) {
@ -22,7 +22,7 @@ index 6ff5211..85c3e3f 100644
worldserver.a(crashreport);
throw new ReportedException(crashreport);
}
@@ -729,7 +735,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -725,7 +731,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
worldserver.tickEntities();
worldserver.timings.tickEntities.stopTiming(); // Spigot
} catch (Throwable throwable2) {

View File

@ -0,0 +1,74 @@
From 1726fd02fac28834745b15aac24be4c8f050de5b Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 12 Jan 2014 21:07:18 +1100
Subject: [PATCH] Improve AutoSave Mechanism
The problem here is that MinecraftServer.save(..), will attempt to sleep whilst all pending chunks are written to disk.
however due to various and complicated bugs, it will wait for an incorrect amount of chunks, which may cause it to sleep for an overly long amount of time.
Instead we will mimic the save-all command in its behaviour, which is both safe and performant.
Also, only save modified chunks, or chunks with entities after 4 auto save passes
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index e664e55..1412616 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -917,7 +917,7 @@ public class Chunk {
if (this.r && this.world.getTime() != this.lastSaved || this.q) {
return true;
}
- } else if (this.r && this.world.getTime() >= this.lastSaved + 600L) {
+ } else if (this.r && this.world.getTime() >= this.lastSaved + MinecraftServer.getServer().autosavePeriod * 4) { // Spigot - Only save if we've passed 2 auto save intervals without modification
return true;
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7ce37c0..4a2f084 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -623,7 +623,17 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
SpigotTimings.worldSaveTimer.startTiming(); // Spigot
this.methodProfiler.a("save");
this.v.savePlayers();
- this.saveChunks(true);
+ // Spigot Start
+ // We replace this with saving each individual world as this.saveChunks(...) is broken,
+ // and causes the main thread to sleep for random amounts of time depending on chunk activity
+ // Also pass flag to only save modified chunks
+ server.playerCommandState = true;
+ for (World world : worlds) {
+ world.getWorld().save(false);
+ }
+ server.playerCommandState = false;
+ // this.saveChunks(true);
+ // Spigot End
this.methodProfiler.b();
SpigotTimings.worldSaveTimer.stopTiming(); // Spigot
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2545b38..d61c1de 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -688,12 +688,17 @@ public class CraftWorld implements World {
}
public void save() {
+ // Spigot start
+ save(true);
+ }
+ public void save(boolean forceSave) {
+ // Spigot end
this.server.checkSaveState();
try {
boolean oldSave = world.savingDisabled;
world.savingDisabled = false;
- world.save(true, null);
+ world.save(forceSave, null); // Spigot
world.savingDisabled = oldSave;
} catch (ExceptionWorldConflict ex) {
--
2.1.0

View File

@ -1,32 +0,0 @@
From 040f87b48e7698730fff7107a8d776ed3c9cefce Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 12 Jan 2014 21:07:18 +1100
Subject: [PATCH] Replace AutoSave Mechanism
The problem here is that MinecraftServer.save(..), will attempt to sleep whilst all pending chunks are written to disk, however due to various and complicated bugs, it will wait for an incorrect amount of chunks, which may cause it to sleep for an overly long amount of time. Instead we will mimic the save-all command in its behaviour, which is both safe and performant.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 85c3e3f..bf2002c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -627,7 +627,16 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
SpigotTimings.worldSaveTimer.startTiming(); // Spigot
this.methodProfiler.a("save");
this.v.savePlayers();
- this.saveChunks(true);
+ // Spigot Start
+ // We replace this with saving each individual world as this.saveChunks(...) is broken,
+ // and causes the main thread to sleep for random amounts of time depending on chunk activity
+ server.playerCommandState = true;
+ for (World world : worlds) {
+ world.getWorld().save();
+ }
+ server.playerCommandState = false;
+ // this.saveChunks(true);
+ // Spigot End
this.methodProfiler.b();
SpigotTimings.worldSaveTimer.stopTiming(); // Spigot
}
--
2.1.0

View File

@ -1,11 +1,11 @@
From af448ce7f98122ac62de59e8d27d1f80159b1449 Mon Sep 17 00:00:00 2001
From 5ceb8bec0a5b6d0c209c4fec89ca28b86a34ff9e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 25 Jan 2014 14:08:35 +1100
Subject: [PATCH] Highly Optimized Tick Loop
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bf2002c..fd4c26a 100644
index 4a2f084..d213ae4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -118,6 +118,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@ -21,7 +21,7 @@ index bf2002c..fd4c26a 100644
public MinecraftServer(OptionSet options, Proxy proxy, File file1) {
this.d = proxy;
@@ -473,6 +479,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -469,6 +475,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.isRunning = false;
}
@ -35,7 +35,7 @@ index bf2002c..fd4c26a 100644
public void run() {
try {
if (this.init()) {
@@ -483,38 +496,34 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -479,38 +492,34 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
this.r.setServerInfo(new ServerPingServerData("1.8", 47));
this.a(this.r);

View File

@ -1,14 +1,14 @@
From 209729d613ba8aa1d01c0fa8b2fc95ce7893fdda Mon Sep 17 00:00:00 2001
From 5658eb456a8edea34220cbd763970a914c49262d Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 12 Feb 2014 18:18:01 +1100
Subject: [PATCH] Allow Disabling Creative Item Filter
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 3cb84aa..314c9ca 100644
index d835cea..7e6c62a 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1641,7 +1641,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
@@ -1647,7 +1647,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
boolean flag1 = packetplayinsetcreativeslot.a() >= 1 && packetplayinsetcreativeslot.a() < 36 + PlayerInventory.getHotbarSize();
// CraftBukkit - Add invalidItems check

View File

@ -1,4 +1,4 @@
From 193bc8c57b645373f66ab8943d889ebe2f3af87a Mon Sep 17 00:00:00 2001
From 75028fdcd5c0f6eb0a6980eb8c595158601f4284 Mon Sep 17 00:00:00 2001
From: hcherndon <hcherndon@gmail.com>
Date: Sat, 15 Feb 2014 01:51:20 -0600
Subject: [PATCH] Unfinalize the isDisconnected() method by bukkit.
@ -6,10 +6,10 @@ Subject: [PATCH] Unfinalize the isDisconnected() method by bukkit.
This would literally mean the world to me. You have no idea how much this method being final is fucking me over right now. (Working with NPC's and what not.)
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 314c9ca..d7cd546 100644
index 7e6c62a..105f38b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1998,7 +1998,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
@@ -2004,7 +2004,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
}
// CraftBukkit start - Add "isDisconnected" method

View File

@ -1,4 +1,4 @@
From 730b85ab092a7365bede2db67e038d2c8c86f748 Mon Sep 17 00:00:00 2001
From fe41f463af26484364345384b92b29aa6a18cb79 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:59 -0400
Subject: [PATCH] Implement Silenceable Lightning API
@ -39,10 +39,10 @@ index 5bda5d3..1bbce9b 100644
//this.world.makeSound(this.locX, this.locY, this.locZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.random.nextFloat() * 0.2F);
float pitch = 0.8F + this.random.nextFloat() * 0.2F;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e395704..50fdfcd 100644
index d61c1de..2322a96 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1385,6 +1385,22 @@ public class CraftWorld implements World {
@@ -1390,6 +1390,22 @@ public class CraftWorld implements World {
{
CraftWorld.this.playEffect( location, effect, 0 );
}
@ -82,5 +82,5 @@ index 243e8e5..0bacc83 100644
@Override
--
2.1.0
1.9.1

View File

@ -1,4 +1,4 @@
From 4561e9149f95ee8c355290b081d234056b4fb982 Mon Sep 17 00:00:00 2001
From f5b02414cfef75e2bed71ec2e4cf2a06f58141b5 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Fri, 11 Apr 2014 11:16:34 +0100
Subject: [PATCH] Display 'Spigot' in client crashes, server lists and Mojang
@ -6,10 +6,10 @@ Subject: [PATCH] Display 'Spigot' in client crashes, server lists and Mojang
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index fd4c26a..1525704 100644
index d213ae4..8521259 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1041,7 +1041,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -1038,7 +1038,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
}
public String getServerModName() {

View File

@ -1,14 +1,14 @@
From 1504ad83eab2228b25ac55319678fac7f3984354 Mon Sep 17 00:00:00 2001
From 1e6cd90b02676d7d895fb88ce176e7c8fc3f9984 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 14 Apr 2014 17:21:24 +1000
Subject: [PATCH] Check for blank OfflinePlayer Names
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 55658b6..19b0c4d 100644
index db1465e..50bb2ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1274,6 +1274,7 @@ public final class CraftServer implements Server {
@@ -1271,6 +1271,7 @@ public final class CraftServer implements Server {
@Deprecated
public OfflinePlayer getOfflinePlayer(String name) {
Validate.notNull(name, "Name cannot be null");

View File

@ -1,14 +1,14 @@
From ef2f6fc7c62a328bd003a96fb695173fd970be61 Mon Sep 17 00:00:00 2001
From 125ef0300ef92639807b91346c45d8d15524880b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 16 Apr 2014 01:40:30 -0400
Subject: [PATCH] Convert Horses owner to UUID
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
index db86610..ac37892 100644
index b3ad7e7..50e9292 100644
--- a/src/main/java/net/minecraft/server/EntityHorse.java
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
@@ -1018,6 +1018,17 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
@@ -1010,6 +1010,17 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
s = nbttagcompound.getString("OwnerUUID");
} else {
String s1 = nbttagcompound.getString("Owner");
@ -27,5 +27,5 @@ index db86610..ac37892 100644
s = NameReferencingFileConverter.a(s1);
}
--
2.1.0
1.9.1

View File

@ -1,14 +1,14 @@
From b74d329decdd9399ada0706ea1dc572aaaf86c8a Mon Sep 17 00:00:00 2001
From aa05774c3fbd923f3cdc7bcfea204462866323e1 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 20 Apr 2014 18:58:00 +1000
Subject: [PATCH] Don't special case 'invalid' usernames for UUIDs.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 19b0c4d..d82ac04 100644
index 50bb2ba..899982b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1276,11 +1276,6 @@ public final class CraftServer implements Server {
@@ -1273,11 +1273,6 @@ public final class CraftServer implements Server {
Validate.notNull(name, "Name cannot be null");
com.google.common.base.Preconditions.checkArgument( !org.apache.commons.lang.StringUtils.isBlank( name ), "Name cannot be blank" ); // Spigot

View File

@ -1,14 +1,14 @@
From b51a0a33ce75b69848531c0a50332d0c0aeec4ab Mon Sep 17 00:00:00 2001
From 3ce8d2cb840f6b427b34c1eb5b14157d5c692b91 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Fri, 23 May 2014 18:05:10 -0400
Subject: [PATCH] Configurable save-on-stop-only for UserCache
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1525704..28c91cd 100644
index 8521259..f13be48 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -459,7 +459,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -455,7 +455,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
if (this.m.d()) {
this.m.e();
}

View File

@ -1,4 +1,4 @@
From 383992b4386c2ade3121e49027abe147bae13914 Mon Sep 17 00:00:00 2001
From 5c6d9448aa5bf7b1eaf8817382d43486a91a6a8c Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Sat, 19 Jul 2014 12:49:48 +0100
Subject: [PATCH] Don't spawn bonus ocelots when plugins spawn ocelots
@ -26,10 +26,10 @@ index 9d09404..7ae68bb 100644
EntityOcelot entityocelot = new EntityOcelot(this.world);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 50fdfcd..d5ea292 100644
index 2322a96..ffa7e24 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1066,6 +1066,12 @@ public class CraftWorld implements World {
@@ -1071,6 +1071,12 @@ public class CraftWorld implements World {
}
if (entity != null) {
@ -43,5 +43,5 @@ index 50fdfcd..d5ea292 100644
((EntityInsentient) entity).prepare(getHandle().E(new BlockPosition(entity)), (GroupDataEntity) null);
}
--
2.1.0
1.9.1

View File

@ -1,4 +1,4 @@
From a29eab8d83e2efd67e42a08569066cc118f654f1 Mon Sep 17 00:00:00 2001
From 2c388c7f705c6615e19692e82ccf20a4c47f79a8 Mon Sep 17 00:00:00 2001
From: Maxim Van de Wynckel <maxim_vdw@hotmail.com>
Date: Wed, 30 Jul 2014 01:19:51 +0200
Subject: [PATCH] Only fetch an online UUID in online mode
@ -12,10 +12,10 @@ You want to store data for player "Test" who never joined. An online UUID is cr
The player Test joins with an offline UUID but that will not match the online UUID of the saved data.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d82ac04..8117acd 100644
index 899982b..57bd4f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1278,8 +1278,14 @@ public final class CraftServer implements Server {
@@ -1275,8 +1275,14 @@ public final class CraftServer implements Server {
OfflinePlayer result = getPlayerExact(name);
if (result == null) {