diff --git a/Bukkit-Patches/0001-POM-Changes.patch b/Bukkit-Patches/0001-POM-Changes.patch
index 6b91295f81..dd1fc367b4 100644
--- a/Bukkit-Patches/0001-POM-Changes.patch
+++ b/Bukkit-Patches/0001-POM-Changes.patch
@@ -16,7 +16,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- bukkit
+ org.spigotmc
+ spigot-api
- 1.8.3-R0.1-SNAPSHOT
+ 1.8.4-R0.1-SNAPSHOT
jar
- Bukkit
diff --git a/CraftBukkit-Patches/0001-POM-Changes.patch b/CraftBukkit-Patches/0001-POM-Changes.patch
index 02e4efd8a0..bf15c0809b 100644
--- a/CraftBukkit-Patches/0001-POM-Changes.patch
+++ b/CraftBukkit-Patches/0001-POM-Changes.patch
@@ -18,7 +18,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ org.spigotmc
+ spigot
jar
- 1.8.3-R0.1-SNAPSHOT
+ 1.8.4-R0.1-SNAPSHOT
- CraftBukkit
- http://www.bukkit.org
+ Spigot
diff --git a/CraftBukkit-Patches/0002-mc-dev-imports.patch b/CraftBukkit-Patches/0002-mc-dev-imports.patch
index 01fd978113..8c192e7b37 100644
--- a/CraftBukkit-Patches/0002-mc-dev-imports.patch
+++ b/CraftBukkit-Patches/0002-mc-dev-imports.patch
@@ -1054,7 +1054,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ this.a((ICommand) (new CommandWorldBorder()));
+ this.a((ICommand) (new CommandTitle()));
+ this.a((ICommand) (new CommandEntityData()));
-+ if (MinecraftServer.getServer().ad()) {
++ if (MinecraftServer.getServer().ae()) {
+ this.a((ICommand) (new CommandOp()));
+ this.a((ICommand) (new CommandDeop()));
+ this.a((ICommand) (new CommandStop()));
@@ -1095,8 +1095,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ while (iterator.hasNext()) {
+ EntityHuman entityhuman = (EntityHuman) iterator.next();
+
-+ if (entityhuman != icommandlistener && minecraftserver.getPlayerList().isOp(entityhuman.getProfile()) && icommand.canUse(icommandlistener) && (!(icommandlistener instanceof RemoteControlCommandListener) || MinecraftServer.getServer().q())) {
-+ entityhuman.sendMessage(chatmessage);
++ if (entityhuman != icommandlistener && minecraftserver.getPlayerList().isOp(entityhuman.getProfile()) && icommand.canUse(icommandlistener)) {
++ boolean flag1 = icommandlistener instanceof MinecraftServer && MinecraftServer.getServer().r();
++ boolean flag2 = icommandlistener instanceof RemoteControlCommandListener && MinecraftServer.getServer().q();
++
++ if (flag1 || flag2 || !(icommandlistener instanceof RemoteControlCommandListener) && !(icommandlistener instanceof MinecraftServer)) {
++ entityhuman.sendMessage(chatmessage);
++ }
+ }
+ }
+ }
@@ -1105,13 +1110,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ minecraftserver.sendMessage(chatmessage);
+ }
+
-+ boolean flag1 = minecraftserver.worldServer[0].getGameRules().getBoolean("sendCommandFeedback");
++ boolean flag3 = minecraftserver.worldServer[0].getGameRules().getBoolean("sendCommandFeedback");
+
+ if (icommandlistener instanceof CommandBlockListenerAbstract) {
-+ flag1 = ((CommandBlockListenerAbstract) icommandlistener).m();
++ flag3 = ((CommandBlockListenerAbstract) icommandlistener).m();
+ }
+
-+ if ((i & 1) != 1 && flag1) {
++ if ((i & 1) != 1 && flag3 || icommandlistener instanceof MinecraftServer) {
+ icommandlistener.sendMessage(new ChatMessage(s, aobject));
+ }
+
@@ -2011,10 +2016,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+
+ private static final Logger f = LogManager.getLogger();
+ public static final IAttribute maxHealth = (new AttributeRanged((IAttribute) null, "generic.maxHealth", 20.0D, 0.0D, Double.MAX_VALUE)).a("Max Health").a(true);
-+ public static final IAttribute b = (new AttributeRanged((IAttribute) null, "generic.followRange", 32.0D, 0.0D, 2048.0D)).a("Follow Range");
++ public static final IAttribute FOLLOW_RANGE = (new AttributeRanged((IAttribute) null, "generic.followRange", 32.0D, 0.0D, 2048.0D)).a("Follow Range");
+ public static final IAttribute c = (new AttributeRanged((IAttribute) null, "generic.knockbackResistance", 0.0D, 0.0D, 1.0D)).a("Knockback Resistance");
-+ public static final IAttribute d = (new AttributeRanged((IAttribute) null, "generic.movementSpeed", 0.699999988079071D, 0.0D, Double.MAX_VALUE)).a("Movement Speed").a(true);
-+ public static final IAttribute e = new AttributeRanged((IAttribute) null, "generic.attackDamage", 2.0D, 0.0D, Double.MAX_VALUE);
++ public static final IAttribute MOVEMENT_SPEED = (new AttributeRanged((IAttribute) null, "generic.movementSpeed", 0.699999988079071D, 0.0D, Double.MAX_VALUE)).a("Movement Speed").a(true);
++ public static final IAttribute ATTACK_DAMAGE = new AttributeRanged((IAttribute) null, "generic.attackDamage", 2.0D, 0.0D, Double.MAX_VALUE);
+
+ public static NBTTagList a(AttributeMapBase attributemapbase) {
+ NBTTagList nbttaglist = new NBTTagList();
@@ -2609,6 +2614,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+
+ void load(DataInput datainput, int i, NBTReadLimiter nbtreadlimiter) throws IOException {
++ nbtreadlimiter.a(192L);
+ int j = datainput.readInt();
+
+ nbtreadlimiter.a((long) (8 * j));
@@ -2676,6 +2682,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+
+ void load(DataInput datainput, int i, NBTReadLimiter nbtreadlimiter) throws IOException {
++ nbtreadlimiter.a(192L);
+ int j = datainput.readInt();
+
+ nbtreadlimiter.a((long) (32 * j));
@@ -3725,7 +3732,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ Class oclass;
+ LazyInitVar lazyinitvar;
+
-+ if (Epoll.isAvailable() && this.f.ah()) {
++ if (Epoll.isAvailable() && this.f.ai()) {
+ oclass = EpollServerSocketChannel.class;
+ lazyinitvar = ServerConnection.b;
+ ServerConnection.e.info("Using epoll channel type");
@@ -3806,8 +3813,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ ServerConnection.e.warn("Failed to handle packet for " + networkmanager.getSocketAddress(), exception);
+ final ChatComponentText chatcomponenttext = new ChatComponentText("Internal server error");
+
-+ networkmanager.a(new PacketPlayOutKickDisconnect(chatcomponenttext), new GenericFutureListener>() {
-+ public void operationComplete(Future future) throws Exception {
++ networkmanager.a(new PacketPlayOutKickDisconnect(chatcomponenttext), new GenericFutureListener() {
++ public void operationComplete(Future future) throws Exception {
+ networkmanager.close(chatcomponenttext);
+ }
+ }, new GenericFutureListener[0]);
@@ -3895,14 +3902,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ this.e.add(statistic);
+ if (statistic.d() && j == 0 && i > 0) {
+ this.g = true;
-+ if (this.c.aA()) {
++ if (this.c.aB()) {
+ this.c.getPlayerList().sendMessage(new ChatMessage("chat.type.achievement", new Object[] { entityhuman.getScoreboardDisplayName(), statistic.j()}));
+ }
+ }
+
+ if (statistic.d() && j > 0 && i == 0) {
+ this.g = true;
-+ if (this.c.aA()) {
++ if (this.c.aB()) {
+ this.c.getPlayerList().sendMessage(new ChatMessage("chat.type.achievement.taken", new Object[] { entityhuman.getScoreboardDisplayName(), statistic.j()}));
+ }
+ }
@@ -4005,7 +4012,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+
+ public void a(EntityPlayer entityplayer) {
-+ int i = this.c.as();
++ int i = this.c.at();
+ HashMap hashmap = Maps.newHashMap();
+
+ if (this.g || i - this.f > 300) {
@@ -4408,14 +4415,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ UserCache.UserCacheEntry usercache_usercacheentry1 = (UserCache.UserCacheEntry) this.d.get(uuid);
+
+ this.c.remove(usercache_usercacheentry1.a().getName().toLowerCase(Locale.ROOT));
-+ this.c.put(gameprofile.getName().toLowerCase(Locale.ROOT), usercache_usercacheentry);
+ this.e.remove(gameprofile);
-+ } else {
-+ this.d.put(uuid, usercache_usercacheentry);
-+ this.c.put(s, usercache_usercacheentry);
+ }
+
++ this.c.put(gameprofile.getName().toLowerCase(Locale.ROOT), usercache_usercacheentry);
++ this.d.put(uuid, usercache_usercacheentry);
+ this.e.addFirst(gameprofile);
++ this.c();
+ }
+
+ public GameProfile getProfile(String s) {
@@ -4473,29 +4479,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+
+ public void b() {
-+ List list = null;
+ BufferedReader bufferedreader = null;
+
-+ label64: {
-+ try {
-+ bufferedreader = Files.newReader(this.g, Charsets.UTF_8);
-+ list = (List) this.b.fromJson(bufferedreader, UserCache.h);
-+ break label64;
-+ } catch (FileNotFoundException filenotfoundexception) {
-+ ;
-+ } finally {
-+ IOUtils.closeQuietly(bufferedreader);
-+ }
++ try {
++ bufferedreader = Files.newReader(this.g, Charsets.UTF_8);
++ List list = (List) this.b.fromJson(bufferedreader, UserCache.h);
+
-+ return;
-+ }
-+
-+ if (list != null) {
+ this.c.clear();
+ this.d.clear();
+ this.e.clear();
-+ list = Lists.reverse(list);
-+ Iterator iterator = list.iterator();
++ Iterator iterator = Lists.reverse(list).iterator();
+
+ while (iterator.hasNext()) {
+ UserCache.UserCacheEntry usercache_usercacheentry = (UserCache.UserCacheEntry) iterator.next();
@@ -4504,6 +4497,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ this.a(usercache_usercacheentry.a(), usercache_usercacheentry.b());
+ }
+ }
++ } catch (FileNotFoundException filenotfoundexception) {
++ ;
++ } catch (JsonParseException jsonparseexception) {
++ ;
++ } finally {
++ IOUtils.closeQuietly(bufferedreader);
+ }
+
+ }
diff --git a/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch b/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch
index 53f469c106..29c53fa366 100644
--- a/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch
+++ b/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch
@@ -19,7 +19,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ return this.q;
+ }
+ // Spigot End
- public ServerConnection ap() {
+ public ServerConnection aq() {
return this.q;
}
--
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0005-Spigot-Configuration.patch b/CraftBukkit-Patches/0005-Spigot-Configuration.patch
index 08a68675b2..ed8062a0f1 100644
--- a/CraftBukkit-Patches/0005-Spigot-Configuration.patch
+++ b/CraftBukkit-Patches/0005-Spigot-Configuration.patch
@@ -10,7 +10,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
- if (this.Q() < 0) {
+ if (this.R() < 0) {
this.setPort(this.propertyManager.getInt("server-port", 25565));
}
+ // Spigot start
diff --git a/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch b/CraftBukkit-Patches/0008-Merge-tweaks-and-configuration.patch
similarity index 100%
rename from CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch
rename to CraftBukkit-Patches/0008-Merge-tweaks-and-configuration.patch
diff --git a/CraftBukkit-Patches/0008-More-Efficient-Chunk-Save-Queue.patch b/CraftBukkit-Patches/0008-More-Efficient-Chunk-Save-Queue.patch
deleted file mode 100644
index c613bf3e3a..0000000000
--- a/CraftBukkit-Patches/0008-More-Efficient-Chunk-Save-Queue.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: md_5
-Date: Tue, 11 Jun 2013 12:09:45 +1000
-Subject: [PATCH] More Efficient Chunk Save Queue
-
-Optimizes the data structures behind the chunk save queue into ones more suitable for the type of data and access which they are used for.
-
-diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
- public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
-
- private static final Logger a = LogManager.getLogger();
-- private List b = Lists.newArrayList();
-- private Set c = Sets.newHashSet();
-+ // Spigot start
-+ private java.util.LinkedHashMap pendingSaves = new java.util.LinkedHashMap();
-+ // private List b = Lists.newArrayList();
-+ // private Set c = Sets.newHashSet();
-+ // Spigot end
- private Object d = new Object();
- private final File e;
-
-@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
- ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j);
-
- synchronized (this.d) {
-- if (this.c.contains(chunkcoordintpair)) {
-- for (int k = 0; k < this.b.size(); ++k) {
-- if (((PendingChunkToSave) this.b.get(k)).a.equals(chunkcoordintpair)) {
-- return true;
-- }
-- }
-- }
-+ // Spigot start
-+ if (pendingSaves.containsKey(chunkcoordintpair)) {
-+ return true;
-+ }
-+ // Spigot end
- }
-
- return RegionFileCache.a(this.e, i, j).chunkExists(i & 31, j & 31);
-@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
- Object object = this.d;
-
- synchronized (this.d) {
-- if (this.c.contains(chunkcoordintpair)) {
-- for (int k = 0; k < this.b.size(); ++k) {
-- if (((ChunkRegionLoader.PendingChunkToSave) this.b.get(k)).a.equals(chunkcoordintpair)) {
-- nbttagcompound = ((ChunkRegionLoader.PendingChunkToSave) this.b.get(k)).b;
-- break;
-- }
-- }
-+ // Spigot start
-+ PendingChunkToSave pendingchunktosave = pendingSaves.get(chunkcoordintpair);
-+ if (pendingchunktosave != null) {
-+ nbttagcompound = pendingchunktosave.b;
- }
-+ // Spigot end
- }
-
- if (nbttagcompound == null) {
-@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
- Object object = this.d;
-
- synchronized (this.d) {
-- if (this.c.contains(chunkcoordintpair)) {
-- for (int i = 0; i < this.b.size(); ++i) {
-- if (((ChunkRegionLoader.PendingChunkToSave) this.b.get(i)).a.equals(chunkcoordintpair)) {
-- this.b.set(i, new ChunkRegionLoader.PendingChunkToSave(chunkcoordintpair, nbttagcompound));
-- return;
-- }
-- }
-+ // Spigot start
-+ if (this.pendingSaves.put(chunkcoordintpair, new PendingChunkToSave(chunkcoordintpair, nbttagcompound)) != null) {
-+ return;
- }
-
-- this.b.add(new ChunkRegionLoader.PendingChunkToSave(chunkcoordintpair, nbttagcompound));
-- this.c.add(chunkcoordintpair);
-+ // this.b.add(new ChunkRegionLoader.PendingChunkToSave(chunkcoordintpair, nbttagcompound));
-+ // this.c.add(chunkcoordintpair);
-+ // Spigot end
- FileIOThread.a().a(this);
- }
- }
-@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
- Object object = this.d;
-
- synchronized (this.d) {
-- if (this.b.isEmpty()) {
-+ // Spigot start
-+ if (this.pendingSaves.isEmpty()) {
- return false;
- }
-
-- chunkregionloader_pendingchunktosave = (ChunkRegionLoader.PendingChunkToSave) this.b.remove(0);
-- this.c.remove(chunkregionloader_pendingchunktosave.a);
-+ chunkregionloader_pendingchunktosave = this.pendingSaves.values().iterator().next();
-+ this.pendingSaves.remove(chunkregionloader_pendingchunktosave.a);
-+ // Spigot end
- }
-
- if (chunkregionloader_pendingchunktosave != null) {
---
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0010-Async-Operation-Catching.patch b/CraftBukkit-Patches/0009-Async-Operation-Catching.patch
similarity index 100%
rename from CraftBukkit-Patches/0010-Async-Operation-Catching.patch
rename to CraftBukkit-Patches/0009-Async-Operation-Catching.patch
diff --git a/CraftBukkit-Patches/0011-View-Distance.patch b/CraftBukkit-Patches/0010-View-Distance.patch
similarity index 100%
rename from CraftBukkit-Patches/0011-View-Distance.patch
rename to CraftBukkit-Patches/0010-View-Distance.patch
diff --git a/CraftBukkit-Patches/0012-Spigot-Timings.patch b/CraftBukkit-Patches/0011-Spigot-Timings.patch
similarity index 99%
rename from CraftBukkit-Patches/0012-Spigot-Timings.patch
rename to CraftBukkit-Patches/0011-Spigot-Timings.patch
index 53e49d32ec..1783e5e993 100644
--- a/CraftBukkit-Patches/0012-Spigot-Timings.patch
+++ b/CraftBukkit-Patches/0011-Spigot-Timings.patch
@@ -120,7 +120,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
}
- public void aN() {
+ public void aO() {
+ SpigotTimings.serverCommandTimer.startTiming(); // Spigot
while (!this.l.isEmpty()) {
ServerCommand servercommand = (ServerCommand) this.l.remove(0);
@@ -132,7 +132,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ SpigotTimings.serverCommandTimer.stopTiming(); // Spigot
}
- public boolean ad() {
+ public boolean ae() {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/Entity.java
@@ -254,9 +254,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.bukkit.event.server.RemoteServerCommandEvent;
import org.bukkit.event.world.WorldSaveEvent;
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
- protected void y() {}
+ protected void z() {}
- protected void z() throws ExceptionWorldConflict { // CraftBukkit - added throws
+ protected void A() throws ExceptionWorldConflict { // CraftBukkit - added throws
+ SpigotTimings.serverTickTimer.startTiming(); // Spigot
long i = System.nanoTime();
@@ -282,7 +282,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ org.spigotmc.CustomTimingsHandler.tick(); // Spigot
}
- public void A() {
+ public void B() {
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.c("levels");
@@ -350,7 +350,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.methodProfiler.c("connection");
+ SpigotTimings.connectionTimer.startTiming(); // Spigot
- this.ap().c();
+ this.aq().c();
+ SpigotTimings.connectionTimer.stopTiming(); // Spigot
this.methodProfiler.c("players");
+ SpigotTimings.playerListTimer.startTiming(); // Spigot
diff --git a/CraftBukkit-Patches/0013-Fix-Mob-Spawning-Relative-to-View-Distance.patch b/CraftBukkit-Patches/0012-Fix-Mob-Spawning-Relative-to-View-Distance.patch
similarity index 100%
rename from CraftBukkit-Patches/0013-Fix-Mob-Spawning-Relative-to-View-Distance.patch
rename to CraftBukkit-Patches/0012-Fix-Mob-Spawning-Relative-to-View-Distance.patch
diff --git a/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch b/CraftBukkit-Patches/0013-Handle-Null-Tile-Entities.patch
similarity index 100%
rename from CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch
rename to CraftBukkit-Patches/0013-Handle-Null-Tile-Entities.patch
diff --git a/CraftBukkit-Patches/0015-Entity-Activation-Range.patch b/CraftBukkit-Patches/0014-Entity-Activation-Range.patch
similarity index 100%
rename from CraftBukkit-Patches/0015-Entity-Activation-Range.patch
rename to CraftBukkit-Patches/0014-Entity-Activation-Range.patch
diff --git a/CraftBukkit-Patches/0016-Metrics.patch b/CraftBukkit-Patches/0015-Metrics.patch
similarity index 100%
rename from CraftBukkit-Patches/0016-Metrics.patch
rename to CraftBukkit-Patches/0015-Metrics.patch
diff --git a/CraftBukkit-Patches/0017-PlayerItemDamageEvent.patch b/CraftBukkit-Patches/0016-PlayerItemDamageEvent.patch
similarity index 100%
rename from CraftBukkit-Patches/0017-PlayerItemDamageEvent.patch
rename to CraftBukkit-Patches/0016-PlayerItemDamageEvent.patch
diff --git a/CraftBukkit-Patches/0018-Prevent-NPE-in-CraftSign.patch b/CraftBukkit-Patches/0017-Prevent-NPE-in-CraftSign.patch
similarity index 100%
rename from CraftBukkit-Patches/0018-Prevent-NPE-in-CraftSign.patch
rename to CraftBukkit-Patches/0017-Prevent-NPE-in-CraftSign.patch
diff --git a/CraftBukkit-Patches/0019-Entity-Tracking-Ranges.patch b/CraftBukkit-Patches/0018-Entity-Tracking-Ranges.patch
similarity index 100%
rename from CraftBukkit-Patches/0019-Entity-Tracking-Ranges.patch
rename to CraftBukkit-Patches/0018-Entity-Tracking-Ranges.patch
diff --git a/CraftBukkit-Patches/0020-Thread-Naming-and-Tweaks.patch b/CraftBukkit-Patches/0019-Thread-Naming-and-Tweaks.patch
similarity index 100%
rename from CraftBukkit-Patches/0020-Thread-Naming-and-Tweaks.patch
rename to CraftBukkit-Patches/0019-Thread-Naming-and-Tweaks.patch
diff --git a/CraftBukkit-Patches/0021-Close-Unloaded-Save-Files.patch b/CraftBukkit-Patches/0020-Close-Unloaded-Save-Files.patch
similarity index 100%
rename from CraftBukkit-Patches/0021-Close-Unloaded-Save-Files.patch
rename to CraftBukkit-Patches/0020-Close-Unloaded-Save-Files.patch
diff --git a/CraftBukkit-Patches/0022-Remove-o-Option.patch b/CraftBukkit-Patches/0021-Remove-o-Option.patch
similarity index 100%
rename from CraftBukkit-Patches/0022-Remove-o-Option.patch
rename to CraftBukkit-Patches/0021-Remove-o-Option.patch
diff --git a/CraftBukkit-Patches/0023-Recipe-Deconstruction.patch b/CraftBukkit-Patches/0022-Recipe-Deconstruction.patch
similarity index 100%
rename from CraftBukkit-Patches/0023-Recipe-Deconstruction.patch
rename to CraftBukkit-Patches/0022-Recipe-Deconstruction.patch
diff --git a/CraftBukkit-Patches/0024-Implement-Arrow-API.patch b/CraftBukkit-Patches/0023-Implement-Arrow-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0024-Implement-Arrow-API.patch
rename to CraftBukkit-Patches/0023-Implement-Arrow-API.patch
diff --git a/CraftBukkit-Patches/0025-Hopper-Customisations.patch b/CraftBukkit-Patches/0024-Hopper-Customisations.patch
similarity index 100%
rename from CraftBukkit-Patches/0025-Hopper-Customisations.patch
rename to CraftBukkit-Patches/0024-Hopper-Customisations.patch
diff --git a/CraftBukkit-Patches/0026-Implement-SpawnerSpawnEvent.patch b/CraftBukkit-Patches/0025-Implement-SpawnerSpawnEvent.patch
similarity index 100%
rename from CraftBukkit-Patches/0026-Implement-SpawnerSpawnEvent.patch
rename to CraftBukkit-Patches/0025-Implement-SpawnerSpawnEvent.patch
diff --git a/CraftBukkit-Patches/0027-Firework-Meta-Crash-Fix.patch b/CraftBukkit-Patches/0026-Firework-Meta-Crash-Fix.patch
similarity index 100%
rename from CraftBukkit-Patches/0027-Firework-Meta-Crash-Fix.patch
rename to CraftBukkit-Patches/0026-Firework-Meta-Crash-Fix.patch
diff --git a/CraftBukkit-Patches/0028-Allow-Disabling-of-Command-Logging.patch b/CraftBukkit-Patches/0027-Allow-Disabling-of-Command-Logging.patch
similarity index 100%
rename from CraftBukkit-Patches/0028-Allow-Disabling-of-Command-Logging.patch
rename to CraftBukkit-Patches/0027-Allow-Disabling-of-Command-Logging.patch
diff --git a/CraftBukkit-Patches/0029-Allow-Disabling-of-Command-TabComplete.patch b/CraftBukkit-Patches/0028-Allow-Disabling-of-Command-TabComplete.patch
similarity index 100%
rename from CraftBukkit-Patches/0029-Allow-Disabling-of-Command-TabComplete.patch
rename to CraftBukkit-Patches/0028-Allow-Disabling-of-Command-TabComplete.patch
diff --git a/CraftBukkit-Patches/0030-Configurable-Messages.patch b/CraftBukkit-Patches/0029-Configurable-Messages.patch
similarity index 94%
rename from CraftBukkit-Patches/0030-Configurable-Messages.patch
rename to CraftBukkit-Patches/0029-Configurable-Messages.patch
index c4ae1c53b2..9667bca829 100644
--- a/CraftBukkit-Patches/0030-Configurable-Messages.patch
+++ b/CraftBukkit-Patches/0029-Configurable-Messages.patch
@@ -12,13 +12,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// CraftBukkit end
if (packethandshakinginsetprotocol.b() > 47) {
-- chatcomponenttext = new ChatComponentText("Outdated server! I\'m still on 1.8.3");
-+ chatcomponenttext = new ChatComponentText( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage, "1.8.3" ) ); // Spigot
+- chatcomponenttext = new ChatComponentText("Outdated server! I\'m still on 1.8.4");
++ chatcomponenttext = new ChatComponentText( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage, "1.8.4" ) ); // Spigot
this.b.handle(new PacketLoginOutDisconnect(chatcomponenttext));
this.b.close(chatcomponenttext);
} else if (packethandshakinginsetprotocol.b() < 47) {
-- chatcomponenttext = new ChatComponentText("Outdated client! Please use 1.8.3");
-+ chatcomponenttext = new ChatComponentText( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage, "1.8.3" ) ); // Spigot
+- chatcomponenttext = new ChatComponentText("Outdated client! Please use 1.8.4");
++ chatcomponenttext = new ChatComponentText( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage, "1.8.4" ) ); // Spigot
this.b.handle(new PacketLoginOutDisconnect(chatcomponenttext));
this.b.close(chatcomponenttext);
} else {
@@ -37,8 +37,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public abstract class PlayerList {
} else {
- // return this.players.size() >= this.maxPlayers ? "The server is full!" : null;
- if (this.players.size() >= this.maxPlayers) {
+ // return this.players.size() >= this.maxPlayers && !this.f(gameprofile) ? "The server is full!" : null;
+ if (this.players.size() >= this.maxPlayers && !this.f(gameprofile)) {
- event.disallow(PlayerLoginEvent.Result.KICK_FULL, "The server is full");
+ event.disallow(PlayerLoginEvent.Result.KICK_FULL, org.spigotmc.SpigotConfig.serverFullMessage); // Spigot
}
diff --git a/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch b/CraftBukkit-Patches/0030-Allow-Disabling-of-Random-Lighting-Updates.patch
similarity index 100%
rename from CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch
rename to CraftBukkit-Patches/0030-Allow-Disabling-of-Random-Lighting-Updates.patch
diff --git a/CraftBukkit-Patches/0032-Properly-Close-Inventories.patch b/CraftBukkit-Patches/0031-Properly-Close-Inventories.patch
similarity index 100%
rename from CraftBukkit-Patches/0032-Properly-Close-Inventories.patch
rename to CraftBukkit-Patches/0031-Properly-Close-Inventories.patch
diff --git a/CraftBukkit-Patches/0033-Disallow-Interaction-With-Self.patch b/CraftBukkit-Patches/0032-Disallow-Interaction-With-Self.patch
similarity index 91%
rename from CraftBukkit-Patches/0033-Disallow-Interaction-With-Self.patch
rename to CraftBukkit-Patches/0032-Disallow-Interaction-With-Self.patch
index 1b2dc5c593..ef24c69299 100644
--- a/CraftBukkit-Patches/0033-Disallow-Interaction-With-Self.patch
+++ b/CraftBukkit-Patches/0032-Disallow-Interaction-With-Self.patch
@@ -13,13 +13,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
Entity entity = packetplayinuseentity.a((World) worldserver);
+ // Spigot Start
-+ if ( entity == player && !player.v() ) // RENAME
++ if ( entity == player && !player.isSpectator() )
+ {
+ disconnect( "Cannot interact with self!" );
+ return;
+ }
+ // Spigot End
- this.player.z();
+ this.player.resetIdleTimer();
if (entity != null) {
--
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0034-Entity-Mount-and-Dismount-Events.patch b/CraftBukkit-Patches/0033-Entity-Mount-and-Dismount-Events.patch
similarity index 100%
rename from CraftBukkit-Patches/0034-Entity-Mount-and-Dismount-Events.patch
rename to CraftBukkit-Patches/0033-Entity-Mount-and-Dismount-Events.patch
diff --git a/CraftBukkit-Patches/0035-Prevent-Ghost-Players-Caused-by-Plugins.patch b/CraftBukkit-Patches/0034-Prevent-Ghost-Players-Caused-by-Plugins.patch
similarity index 100%
rename from CraftBukkit-Patches/0035-Prevent-Ghost-Players-Caused-by-Plugins.patch
rename to CraftBukkit-Patches/0034-Prevent-Ghost-Players-Caused-by-Plugins.patch
diff --git a/CraftBukkit-Patches/0036-Plug-World-Unload-Memory-Leak.patch b/CraftBukkit-Patches/0035-Plug-World-Unload-Memory-Leak.patch
similarity index 100%
rename from CraftBukkit-Patches/0036-Plug-World-Unload-Memory-Leak.patch
rename to CraftBukkit-Patches/0035-Plug-World-Unload-Memory-Leak.patch
diff --git a/CraftBukkit-Patches/0037-Player-Collision-API.patch b/CraftBukkit-Patches/0036-Player-Collision-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0037-Player-Collision-API.patch
rename to CraftBukkit-Patches/0036-Player-Collision-API.patch
diff --git a/CraftBukkit-Patches/0038-Fully-Disable-Snooper-When-Not-Required.patch b/CraftBukkit-Patches/0037-Fully-Disable-Snooper-When-Not-Required.patch
similarity index 100%
rename from CraftBukkit-Patches/0038-Fully-Disable-Snooper-When-Not-Required.patch
rename to CraftBukkit-Patches/0037-Fully-Disable-Snooper-When-Not-Required.patch
diff --git a/CraftBukkit-Patches/0039-Add-Getter-for-Entity-Invulnerability.patch b/CraftBukkit-Patches/0038-Add-Getter-for-Entity-Invulnerability.patch
similarity index 100%
rename from CraftBukkit-Patches/0039-Add-Getter-for-Entity-Invulnerability.patch
rename to CraftBukkit-Patches/0038-Add-Getter-for-Entity-Invulnerability.patch
diff --git a/CraftBukkit-Patches/0040-Cap-Minimum-Player-Speed.patch b/CraftBukkit-Patches/0039-Cap-Minimum-Player-Speed.patch
similarity index 100%
rename from CraftBukkit-Patches/0040-Cap-Minimum-Player-Speed.patch
rename to CraftBukkit-Patches/0039-Cap-Minimum-Player-Speed.patch
diff --git a/CraftBukkit-Patches/0041-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch b/CraftBukkit-Patches/0040-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch
similarity index 100%
rename from CraftBukkit-Patches/0041-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch
rename to CraftBukkit-Patches/0040-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch
diff --git a/CraftBukkit-Patches/0042-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch b/CraftBukkit-Patches/0041-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch
similarity index 100%
rename from CraftBukkit-Patches/0042-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch
rename to CraftBukkit-Patches/0041-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch
diff --git a/CraftBukkit-Patches/0043-Allow-Disabling-of-1.6.3-Structure-Saving.patch b/CraftBukkit-Patches/0042-Allow-Disabling-of-1.6.3-Structure-Saving.patch
similarity index 100%
rename from CraftBukkit-Patches/0043-Allow-Disabling-of-1.6.3-Structure-Saving.patch
rename to CraftBukkit-Patches/0042-Allow-Disabling-of-1.6.3-Structure-Saving.patch
diff --git a/CraftBukkit-Patches/0044-Item-Despawn-Rate.patch b/CraftBukkit-Patches/0043-Item-Despawn-Rate.patch
similarity index 100%
rename from CraftBukkit-Patches/0044-Item-Despawn-Rate.patch
rename to CraftBukkit-Patches/0043-Item-Despawn-Rate.patch
diff --git a/CraftBukkit-Patches/0045-Don-t-Special-Case-X-Move-Value.patch b/CraftBukkit-Patches/0044-Don-t-Special-Case-X-Move-Value.patch
similarity index 100%
rename from CraftBukkit-Patches/0045-Don-t-Special-Case-X-Move-Value.patch
rename to CraftBukkit-Patches/0044-Don-t-Special-Case-X-Move-Value.patch
diff --git a/CraftBukkit-Patches/0046-Implement-respawn-API.patch b/CraftBukkit-Patches/0045-Implement-respawn-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0046-Implement-respawn-API.patch
rename to CraftBukkit-Patches/0045-Implement-respawn-API.patch
diff --git a/CraftBukkit-Patches/0047-Arrow-Despawn-Rate.patch b/CraftBukkit-Patches/0046-Arrow-Despawn-Rate.patch
similarity index 100%
rename from CraftBukkit-Patches/0047-Arrow-Despawn-Rate.patch
rename to CraftBukkit-Patches/0046-Arrow-Despawn-Rate.patch
diff --git a/CraftBukkit-Patches/0048-Fix-packed-ice-generation.patch b/CraftBukkit-Patches/0047-Fix-packed-ice-generation.patch
similarity index 100%
rename from CraftBukkit-Patches/0048-Fix-packed-ice-generation.patch
rename to CraftBukkit-Patches/0047-Fix-packed-ice-generation.patch
diff --git a/CraftBukkit-Patches/0049-Watchdog-Thread.patch b/CraftBukkit-Patches/0048-Watchdog-Thread.patch
similarity index 99%
rename from CraftBukkit-Patches/0049-Watchdog-Thread.patch
rename to CraftBukkit-Patches/0048-Watchdog-Thread.patch
index a67a141e8b..0f3eabe4de 100644
--- a/CraftBukkit-Patches/0049-Watchdog-Thread.patch
+++ b/CraftBukkit-Patches/0048-Watchdog-Thread.patch
@@ -12,8 +12,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
// CraftBukkit end
-- if (this.aR() > 0L) {
-+ if (false && this.aR() > 0L) { // Spigot - disable
+- if (this.aS() > 0L) {
++ if (false && this.aS() > 0L) { // Spigot - disable
Thread thread1 = new Thread(new ThreadWatchdog(this));
thread1.setName("Server Watchdog");
diff --git a/CraftBukkit-Patches/0050-Clear-Flower-Pot-on-Drop.patch b/CraftBukkit-Patches/0049-Clear-Flower-Pot-on-Drop.patch
similarity index 100%
rename from CraftBukkit-Patches/0050-Clear-Flower-Pot-on-Drop.patch
rename to CraftBukkit-Patches/0049-Clear-Flower-Pot-on-Drop.patch
diff --git a/CraftBukkit-Patches/0051-Fix-some-chunks-not-being-sent-to-the-client.patch b/CraftBukkit-Patches/0050-Fix-some-chunks-not-being-sent-to-the-client.patch
similarity index 100%
rename from CraftBukkit-Patches/0051-Fix-some-chunks-not-being-sent-to-the-client.patch
rename to CraftBukkit-Patches/0050-Fix-some-chunks-not-being-sent-to-the-client.patch
diff --git a/CraftBukkit-Patches/0052-Fix-Broken-Async-Chat.patch b/CraftBukkit-Patches/0051-Fix-Broken-Async-Chat.patch
similarity index 100%
rename from CraftBukkit-Patches/0052-Fix-Broken-Async-Chat.patch
rename to CraftBukkit-Patches/0051-Fix-Broken-Async-Chat.patch
diff --git a/CraftBukkit-Patches/0053-Orebfuscator.patch b/CraftBukkit-Patches/0052-Orebfuscator.patch
similarity index 100%
rename from CraftBukkit-Patches/0053-Orebfuscator.patch
rename to CraftBukkit-Patches/0052-Orebfuscator.patch
diff --git a/CraftBukkit-Patches/0054-Optimize-DataWatcher.patch b/CraftBukkit-Patches/0053-Optimize-DataWatcher.patch
similarity index 100%
rename from CraftBukkit-Patches/0054-Optimize-DataWatcher.patch
rename to CraftBukkit-Patches/0053-Optimize-DataWatcher.patch
diff --git a/CraftBukkit-Patches/0055-Fire-PreLogin-Events-in-Offline-Mode.patch b/CraftBukkit-Patches/0054-Fire-PreLogin-Events-in-Offline-Mode.patch
similarity index 95%
rename from CraftBukkit-Patches/0055-Fire-PreLogin-Events-in-Offline-Mode.patch
rename to CraftBukkit-Patches/0054-Fire-PreLogin-Events-in-Offline-Mode.patch
index 4accb4bacb..4f2096715d 100644
--- a/CraftBukkit-Patches/0055-Fire-PreLogin-Events-in-Offline-Mode.patch
+++ b/CraftBukkit-Patches/0054-Fire-PreLogin-Events-in-Offline-Mode.patch
@@ -42,7 +42,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
EntityPlayer s = this.server.getPlayerList().attemptLogin(this, this.i, hostname);
@@ -0,0 +0,0 @@ public class LoginListener implements PacketLoginInListener, IUpdatePlayerListBo
this.g = LoginListener.EnumProtocolState.KEY;
- this.networkManager.handle(new PacketLoginOutEncryptionBegin(this.j, this.server.P().getPublic(), this.e));
+ this.networkManager.handle(new PacketLoginOutEncryptionBegin(this.j, this.server.Q().getPublic(), this.e));
} else {
- this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
+ // Spigot start
@@ -62,7 +62,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
+ new LoginHandler().fireEvents();
-+ } else if (LoginListener.this.server.S()) {
++ } else if (LoginListener.this.server.T()) {
+ LoginListener.c.warn("Failed to verify username but will let them in anyway!");
+ LoginListener.this.i = LoginListener.this.a(gameprofile);
+ LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
@@ -71,7 +71,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ LoginListener.c.error("Username \'" + gameprofile.getName() + "\' tried to join with an invalid session"); // CraftBukkit - fix null pointer
+ }
+ } catch (AuthenticationUnavailableException authenticationunavailableexception) {
-+ if (LoginListener.this.server.S()) {
++ if (LoginListener.this.server.T()) {
+ LoginListener.c.warn("Authentication servers are down but will let them in anyway!");
+ LoginListener.this.i = LoginListener.this.a(gameprofile);
+ LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
@@ -102,7 +102,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// CraftBukkit end
LoginListener.c.info("UUID of player " + LoginListener.this.i.getName() + " is " + LoginListener.this.i.getId());
LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
-- } else if (LoginListener.this.server.S()) {
+- } else if (LoginListener.this.server.T()) {
- LoginListener.c.warn("Failed to verify username but will let them in anyway!");
- LoginListener.this.i = LoginListener.this.a(gameprofile);
- LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
@@ -111,7 +111,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- LoginListener.c.error("Username \'" + gameprofile.getName() + "\' tried to join with an invalid session"); // CraftBukkit - fix null pointer
- }
- } catch (AuthenticationUnavailableException authenticationunavailableexception) {
-- if (LoginListener.this.server.S()) {
+- if (LoginListener.this.server.T()) {
- LoginListener.c.warn("Authentication servers are down but will let them in anyway!");
- LoginListener.this.i = LoginListener.this.a(gameprofile);
- LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
diff --git a/CraftBukkit-Patches/0056-BungeeCord-Support.patch b/CraftBukkit-Patches/0055-BungeeCord-Support.patch
similarity index 98%
rename from CraftBukkit-Patches/0056-BungeeCord-Support.patch
rename to CraftBukkit-Patches/0055-BungeeCord-Support.patch
index be6de7704c..c82519ce9d 100644
--- a/CraftBukkit-Patches/0056-BungeeCord-Support.patch
+++ b/CraftBukkit-Patches/0055-BungeeCord-Support.patch
@@ -75,7 +75,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// Spigot end
@@ -0,0 +0,0 @@ public class LoginListener implements PacketLoginInListener, IUpdatePlayerListBo
- this.networkManager.handle(new PacketLoginOutEncryptionBegin(this.j, this.server.P().getPublic(), this.e));
+ this.networkManager.handle(new PacketLoginOutEncryptionBegin(this.j, this.server.Q().getPublic(), this.e));
} else {
// Spigot start
- try {
@@ -108,7 +108,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler {
private final Queue i = Queues.newConcurrentLinkedQueue();
private final ReentrantReadWriteLock j = new ReentrantReadWriteLock();
- public Channel k; // CraftBukkit - public, PAIL: Rename channel
+ public Channel channel; // CraftBukkit - public
- private SocketAddress l;
+ // Spigot Start
+ public SocketAddress l;
@@ -126,7 +126,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ // Spigot Start
+ public SocketAddress getRawAddress()
+ {
-+ return this.k.remoteAddress();
++ return this.channel.remoteAddress();
+ }
+ // Spigot End
}
diff --git a/CraftBukkit-Patches/0057-Allow-Disabling-Zombie-Villager-Aggression.patch b/CraftBukkit-Patches/0056-Allow-Disabling-Zombie-Villager-Aggression.patch
similarity index 100%
rename from CraftBukkit-Patches/0057-Allow-Disabling-Zombie-Villager-Aggression.patch
rename to CraftBukkit-Patches/0056-Allow-Disabling-Zombie-Villager-Aggression.patch
diff --git a/CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch b/CraftBukkit-Patches/0057-Configurable-Amount-of-Netty-Threads.patch
similarity index 97%
rename from CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch
rename to CraftBukkit-Patches/0057-Configurable-Amount-of-Netty-Threads.patch
index 832e6de92f..8b588e2d3d 100644
--- a/CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch
+++ b/CraftBukkit-Patches/0057-Configurable-Amount-of-Netty-Threads.patch
@@ -30,12 +30,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
// Spigot End
- public ServerConnection ap() {
+ public ServerConnection aq() {
- return this.q;
+ return this.q == null ? this.q = new ServerConnection(this) : this.q; // Spigot
}
- public boolean ar() {
+ public boolean as() {
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
diff --git a/CraftBukkit-Patches/0059-Prevent-Mineshaft-Saving.patch b/CraftBukkit-Patches/0058-Prevent-Mineshaft-Saving.patch
similarity index 100%
rename from CraftBukkit-Patches/0059-Prevent-Mineshaft-Saving.patch
rename to CraftBukkit-Patches/0058-Prevent-Mineshaft-Saving.patch
diff --git a/CraftBukkit-Patches/0060-Log-Cause-of-Unexpected-Exceptions.patch b/CraftBukkit-Patches/0059-Log-Cause-of-Unexpected-Exceptions.patch
similarity index 100%
rename from CraftBukkit-Patches/0060-Log-Cause-of-Unexpected-Exceptions.patch
rename to CraftBukkit-Patches/0059-Log-Cause-of-Unexpected-Exceptions.patch
diff --git a/CraftBukkit-Patches/0061-Particle-API.patch b/CraftBukkit-Patches/0060-Particle-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0061-Particle-API.patch
rename to CraftBukkit-Patches/0060-Particle-API.patch
diff --git a/CraftBukkit-Patches/0062-Save-ticks-lived-to-nbttag.patch b/CraftBukkit-Patches/0061-Save-ticks-lived-to-nbttag.patch
similarity index 100%
rename from CraftBukkit-Patches/0062-Save-ticks-lived-to-nbttag.patch
rename to CraftBukkit-Patches/0061-Save-ticks-lived-to-nbttag.patch
diff --git a/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch b/CraftBukkit-Patches/0062-More-Efficient-GetCubes.patch
similarity index 100%
rename from CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch
rename to CraftBukkit-Patches/0062-More-Efficient-GetCubes.patch
diff --git a/CraftBukkit-Patches/0064-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch b/CraftBukkit-Patches/0063-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch
similarity index 100%
rename from CraftBukkit-Patches/0064-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch
rename to CraftBukkit-Patches/0063-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch
diff --git a/CraftBukkit-Patches/0065-Warn-if-PermGen-may-be-insufficient.patch b/CraftBukkit-Patches/0064-Warn-if-PermGen-may-be-insufficient.patch
similarity index 100%
rename from CraftBukkit-Patches/0065-Warn-if-PermGen-may-be-insufficient.patch
rename to CraftBukkit-Patches/0064-Warn-if-PermGen-may-be-insufficient.patch
diff --git a/CraftBukkit-Patches/0066-Disable-Connected-Check-on-setScoreboard.patch b/CraftBukkit-Patches/0065-Disable-Connected-Check-on-setScoreboard.patch
similarity index 100%
rename from CraftBukkit-Patches/0066-Disable-Connected-Check-on-setScoreboard.patch
rename to CraftBukkit-Patches/0065-Disable-Connected-Check-on-setScoreboard.patch
diff --git a/CraftBukkit-Patches/0067-Add-Late-Bind-Option.patch b/CraftBukkit-Patches/0066-Add-Late-Bind-Option.patch
similarity index 93%
rename from CraftBukkit-Patches/0067-Add-Late-Bind-Option.patch
rename to CraftBukkit-Patches/0066-Add-Late-Bind-Option.patch
index 5e5e7bc299..917f8ab5d1 100644
--- a/CraftBukkit-Patches/0067-Add-Late-Bind-Option.patch
+++ b/CraftBukkit-Patches/0066-Add-Late-Bind-Option.patch
@@ -11,11 +11,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
this.a(MinecraftEncryption.b());
- DedicatedServer.LOGGER.info("Starting Minecraft server on " + (this.getServerIp().length() == 0 ? "*" : this.getServerIp()) + ":" + this.Q());
+ DedicatedServer.LOGGER.info("Starting Minecraft server on " + (this.getServerIp().length() == 0 ? "*" : this.getServerIp()) + ":" + this.R());
+ if (!org.spigotmc.SpigotConfig.lateBind) {
try {
- this.ap().a(inetaddress, this.Q());
+ this.aq().a(inetaddress, this.R());
} catch (IOException ioexception) {
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
DedicatedServer.LOGGER.warn("Perhaps a server is already running on that port?");
@@ -31,7 +31,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ if (org.spigotmc.SpigotConfig.lateBind) {
+ try {
-+ this.ap().a(inetaddress, this.Q());
++ this.aq().a(inetaddress, this.R());
+ } catch (IOException ioexception) {
+ DedicatedServer.LOGGER.warn("**** FAILED TO BIND TO PORT!");
+ DedicatedServer.LOGGER.warn("The exception was: {}", new Object[] { ioexception.toString()});
@@ -40,7 +40,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+ }
+
- if (false && this.aR() > 0L) { // Spigot - disable
+ if (false && this.aS() > 0L) { // Spigot - disable
Thread thread1 = new Thread(new ThreadWatchdog(this));
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
diff --git a/CraftBukkit-Patches/0068-Allow-statistics-to-be-disabled-forced.patch b/CraftBukkit-Patches/0067-Allow-statistics-to-be-disabled-forced.patch
similarity index 100%
rename from CraftBukkit-Patches/0068-Allow-statistics-to-be-disabled-forced.patch
rename to CraftBukkit-Patches/0067-Allow-statistics-to-be-disabled-forced.patch
diff --git a/CraftBukkit-Patches/0069-Fix-ItemStack-Unbreakable-Code.patch b/CraftBukkit-Patches/0068-Fix-ItemStack-Unbreakable-Code.patch
similarity index 100%
rename from CraftBukkit-Patches/0069-Fix-ItemStack-Unbreakable-Code.patch
rename to CraftBukkit-Patches/0068-Fix-ItemStack-Unbreakable-Code.patch
diff --git a/CraftBukkit-Patches/0070-Try-and-Debug-Crash-Reports-Crashing.patch b/CraftBukkit-Patches/0069-Try-and-Debug-Crash-Reports-Crashing.patch
similarity index 100%
rename from CraftBukkit-Patches/0070-Try-and-Debug-Crash-Reports-Crashing.patch
rename to CraftBukkit-Patches/0069-Try-and-Debug-Crash-Reports-Crashing.patch
diff --git a/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch b/CraftBukkit-Patches/0070-Improve-AutoSave-Mechanism.patch
similarity index 100%
rename from CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch
rename to CraftBukkit-Patches/0070-Improve-AutoSave-Mechanism.patch
diff --git a/CraftBukkit-Patches/0072-Catch-stalling-on-corrupted-map-data-NBT-arrays.patch b/CraftBukkit-Patches/0071-Catch-stalling-on-corrupted-map-data-NBT-arrays.patch
similarity index 96%
rename from CraftBukkit-Patches/0072-Catch-stalling-on-corrupted-map-data-NBT-arrays.patch
rename to CraftBukkit-Patches/0071-Catch-stalling-on-corrupted-map-data-NBT-arrays.patch
index 7ec0f6c47e..b9ba7de7d1 100644
--- a/CraftBukkit-Patches/0072-Catch-stalling-on-corrupted-map-data-NBT-arrays.patch
+++ b/CraftBukkit-Patches/0071-Catch-stalling-on-corrupted-map-data-NBT-arrays.patch
@@ -9,8 +9,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/NBTTagByteArray.java
+++ b/src/main/java/net/minecraft/server/NBTTagByteArray.java
@@ -0,0 +0,0 @@ public class NBTTagByteArray extends NBTBase {
-
void load(DataInput datainput, int i, NBTReadLimiter nbtreadlimiter) throws IOException {
+ nbtreadlimiter.a(192L);
int j = datainput.readInt();
+ com.google.common.base.Preconditions.checkArgument( j < 1 << 24);
@@ -21,8 +21,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/NBTTagIntArray.java
+++ b/src/main/java/net/minecraft/server/NBTTagIntArray.java
@@ -0,0 +0,0 @@ public class NBTTagIntArray extends NBTBase {
-
void load(DataInput datainput, int i, NBTReadLimiter nbtreadlimiter) throws IOException {
+ nbtreadlimiter.a(192L);
int j = datainput.readInt();
+ com.google.common.base.Preconditions.checkArgument( j < 1 << 24);
diff --git a/CraftBukkit-Patches/0073-Allow-toggling-of-ZombiePigmen-spawning-in-portal-bl.patch b/CraftBukkit-Patches/0072-Allow-toggling-of-ZombiePigmen-spawning-in-portal-bl.patch
similarity index 100%
rename from CraftBukkit-Patches/0073-Allow-toggling-of-ZombiePigmen-spawning-in-portal-bl.patch
rename to CraftBukkit-Patches/0072-Allow-toggling-of-ZombiePigmen-spawning-in-portal-bl.patch
diff --git a/CraftBukkit-Patches/0074-Highly-Optimized-Tick-Loop.patch b/CraftBukkit-Patches/0073-Highly-Optimized-Tick-Loop.patch
similarity index 97%
rename from CraftBukkit-Patches/0074-Highly-Optimized-Tick-Loop.patch
rename to CraftBukkit-Patches/0073-Highly-Optimized-Tick-Loop.patch
index f60fc7bcb4..335533a59a 100644
--- a/CraftBukkit-Patches/0074-Highly-Optimized-Tick-Loop.patch
+++ b/CraftBukkit-Patches/0073-Highly-Optimized-Tick-Loop.patch
@@ -36,14 +36,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
try {
if (this.init()) {
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
- this.r.setServerInfo(new ServerPing.ServerData("1.8.3", 47));
+ this.r.setServerInfo(new ServerPing.ServerData("1.8.4", 47));
this.a(this.r);
+ // Spigot start
+ Arrays.fill( recentTps, 20 );
+ long lastTick = System.nanoTime(), catchupTime = 0, curTime, wait, tickSection = lastTick;
while (this.isRunning) {
-- long j = ay();
+- long j = az();
- long k = j - this.ab;
-
- if (k > 2000L && this.ab - this.R >= 15000L) {
@@ -68,14 +68,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- i += k;
- this.ab = j;
-- if (this.worlds.get(0).everyoneDeeplySleeping()) {
-- this.z();
+- if (this.worlds.get(0).everyoneDeeplySleeping()) { // CraftBukkit
+- this.A();
- i = 0L;
- } else {
- while (i > 50L) {
- MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit
- i -= 50L;
-- this.z();
+- this.A();
- }
+ if ( MinecraftServer.currentTick++ % SAMPLE_INTERVAL == 0 )
+ {
@@ -88,7 +88,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ lastTick = curTime;
- Thread.sleep(Math.max(1L, 50L - i));
-+ this.z();
++ this.A();
this.Q = true;
}
+ // Spigot end
diff --git a/CraftBukkit-Patches/0075-Add-Spigot-Links.patch b/CraftBukkit-Patches/0074-Add-Spigot-Links.patch
similarity index 100%
rename from CraftBukkit-Patches/0075-Add-Spigot-Links.patch
rename to CraftBukkit-Patches/0074-Add-Spigot-Links.patch
diff --git a/CraftBukkit-Patches/0076-Configurable-Ping-Sample-Size.patch b/CraftBukkit-Patches/0075-Configurable-Ping-Sample-Size.patch
similarity index 100%
rename from CraftBukkit-Patches/0076-Configurable-Ping-Sample-Size.patch
rename to CraftBukkit-Patches/0075-Configurable-Ping-Sample-Size.patch
diff --git a/CraftBukkit-Patches/0077-Add-Optional-Tick-Shuffling.patch b/CraftBukkit-Patches/0076-Add-Optional-Tick-Shuffling.patch
similarity index 100%
rename from CraftBukkit-Patches/0077-Add-Optional-Tick-Shuffling.patch
rename to CraftBukkit-Patches/0076-Add-Optional-Tick-Shuffling.patch
diff --git a/CraftBukkit-Patches/0078-Allow-Configuring-Chunks-per-Packet.patch b/CraftBukkit-Patches/0077-Allow-Configuring-Chunks-per-Packet.patch
similarity index 100%
rename from CraftBukkit-Patches/0078-Allow-Configuring-Chunks-per-Packet.patch
rename to CraftBukkit-Patches/0077-Allow-Configuring-Chunks-per-Packet.patch
diff --git a/CraftBukkit-Patches/0079-Implement-Locale-Getter-for-Players.patch b/CraftBukkit-Patches/0078-Implement-Locale-Getter-for-Players.patch
similarity index 100%
rename from CraftBukkit-Patches/0079-Implement-Locale-Getter-for-Players.patch
rename to CraftBukkit-Patches/0078-Implement-Locale-Getter-for-Players.patch
diff --git a/CraftBukkit-Patches/0080-Cap-Entity-Collisions.patch b/CraftBukkit-Patches/0079-Cap-Entity-Collisions.patch
similarity index 100%
rename from CraftBukkit-Patches/0080-Cap-Entity-Collisions.patch
rename to CraftBukkit-Patches/0079-Cap-Entity-Collisions.patch
diff --git a/CraftBukkit-Patches/0081-Fix-dispensing-bone-meal-not-having-the-correct-data.patch b/CraftBukkit-Patches/0080-Fix-dispensing-bone-meal-not-having-the-correct-data.patch
similarity index 100%
rename from CraftBukkit-Patches/0081-Fix-dispensing-bone-meal-not-having-the-correct-data.patch
rename to CraftBukkit-Patches/0080-Fix-dispensing-bone-meal-not-having-the-correct-data.patch
diff --git a/CraftBukkit-Patches/0082-Spam-Filter-Exclusions.patch b/CraftBukkit-Patches/0081-Spam-Filter-Exclusions.patch
similarity index 100%
rename from CraftBukkit-Patches/0082-Spam-Filter-Exclusions.patch
rename to CraftBukkit-Patches/0081-Spam-Filter-Exclusions.patch
diff --git a/CraftBukkit-Patches/0083-Add-Option-to-Silence-CommandBlock-Console.patch b/CraftBukkit-Patches/0082-Add-Option-to-Silence-CommandBlock-Console.patch
similarity index 100%
rename from CraftBukkit-Patches/0083-Add-Option-to-Silence-CommandBlock-Console.patch
rename to CraftBukkit-Patches/0082-Add-Option-to-Silence-CommandBlock-Console.patch
diff --git a/CraftBukkit-Patches/0084-Add-support-for-fetching-hidden-players.patch b/CraftBukkit-Patches/0083-Add-support-for-fetching-hidden-players.patch
similarity index 100%
rename from CraftBukkit-Patches/0084-Add-support-for-fetching-hidden-players.patch
rename to CraftBukkit-Patches/0083-Add-support-for-fetching-hidden-players.patch
diff --git a/CraftBukkit-Patches/0085-Allow-Disabling-Creative-Item-Filter.patch b/CraftBukkit-Patches/0084-Allow-Disabling-Creative-Item-Filter.patch
similarity index 100%
rename from CraftBukkit-Patches/0085-Allow-Disabling-Creative-Item-Filter.patch
rename to CraftBukkit-Patches/0084-Allow-Disabling-Creative-Item-Filter.patch
diff --git a/CraftBukkit-Patches/0086-Cap-Channel-Registrations.patch b/CraftBukkit-Patches/0085-Cap-Channel-Registrations.patch
similarity index 100%
rename from CraftBukkit-Patches/0086-Cap-Channel-Registrations.patch
rename to CraftBukkit-Patches/0085-Cap-Channel-Registrations.patch
diff --git a/CraftBukkit-Patches/0087-Allow-vanilla-commands-to-be-the-main-version-of-a-c.patch b/CraftBukkit-Patches/0086-Allow-vanilla-commands-to-be-the-main-version-of-a-c.patch
similarity index 100%
rename from CraftBukkit-Patches/0087-Allow-vanilla-commands-to-be-the-main-version-of-a-c.patch
rename to CraftBukkit-Patches/0086-Allow-vanilla-commands-to-be-the-main-version-of-a-c.patch
diff --git a/CraftBukkit-Patches/0088-Unfinalize-the-isDisconnected-method-by-bukkit.patch b/CraftBukkit-Patches/0087-Unfinalize-the-isDisconnected-method-by-bukkit.patch
similarity index 91%
rename from CraftBukkit-Patches/0088-Unfinalize-the-isDisconnected-method-by-bukkit.patch
rename to CraftBukkit-Patches/0087-Unfinalize-the-isDisconnected-method-by-bukkit.patch
index 6cdb0bd5e8..6148066957 100644
--- a/CraftBukkit-Patches/0088-Unfinalize-the-isDisconnected-method-by-bukkit.patch
+++ b/CraftBukkit-Patches/0087-Unfinalize-the-isDisconnected-method-by-bukkit.patch
@@ -15,7 +15,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// CraftBukkit start - Add "isDisconnected" method
- public final boolean isDisconnected() {
+ public boolean isDisconnected() { // Spigot
- return !this.player.joining && !this.networkManager.k.config().isAutoRead();
+ return !this.player.joining && !this.networkManager.channel.config().isAutoRead();
}
--
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0089-Implement-Silenceable-Lightning-API.patch b/CraftBukkit-Patches/0088-Implement-Silenceable-Lightning-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0089-Implement-Silenceable-Lightning-API.patch
rename to CraftBukkit-Patches/0088-Implement-Silenceable-Lightning-API.patch
diff --git a/CraftBukkit-Patches/0090-Use-one-PermissibleBase-for-all-Command-Blocks.patch b/CraftBukkit-Patches/0089-Use-one-PermissibleBase-for-all-Command-Blocks.patch
similarity index 100%
rename from CraftBukkit-Patches/0090-Use-one-PermissibleBase-for-all-Command-Blocks.patch
rename to CraftBukkit-Patches/0089-Use-one-PermissibleBase-for-all-Command-Blocks.patch
diff --git a/CraftBukkit-Patches/0091-Prevent-hoppers-from-loading-chunks.patch b/CraftBukkit-Patches/0090-Prevent-hoppers-from-loading-chunks.patch
similarity index 100%
rename from CraftBukkit-Patches/0091-Prevent-hoppers-from-loading-chunks.patch
rename to CraftBukkit-Patches/0090-Prevent-hoppers-from-loading-chunks.patch
diff --git a/CraftBukkit-Patches/0092-Guard-Entity-List.patch b/CraftBukkit-Patches/0091-Guard-Entity-List.patch
similarity index 100%
rename from CraftBukkit-Patches/0092-Guard-Entity-List.patch
rename to CraftBukkit-Patches/0091-Guard-Entity-List.patch
diff --git a/CraftBukkit-Patches/0093-Fix-ConcurrentModificationException-while-being-idle.patch b/CraftBukkit-Patches/0092-Fix-ConcurrentModificationException-while-being-idle.patch
similarity index 100%
rename from CraftBukkit-Patches/0093-Fix-ConcurrentModificationException-while-being-idle.patch
rename to CraftBukkit-Patches/0092-Fix-ConcurrentModificationException-while-being-idle.patch
diff --git a/CraftBukkit-Patches/0094-Cancellable-WitherSkull-potion-effect.patch b/CraftBukkit-Patches/0093-Cancellable-WitherSkull-potion-effect.patch
similarity index 100%
rename from CraftBukkit-Patches/0094-Cancellable-WitherSkull-potion-effect.patch
rename to CraftBukkit-Patches/0093-Cancellable-WitherSkull-potion-effect.patch
diff --git a/CraftBukkit-Patches/0095-Descriptive-kick-reasons-instead-of-Nope.patch b/CraftBukkit-Patches/0094-Descriptive-kick-reasons-instead-of-Nope.patch
similarity index 98%
rename from CraftBukkit-Patches/0095-Descriptive-kick-reasons-instead-of-Nope.patch
rename to CraftBukkit-Patches/0094-Descriptive-kick-reasons-instead-of-Nope.patch
index b12b5a369c..f90d2c5702 100644
--- a/CraftBukkit-Patches/0095-Descriptive-kick-reasons-instead-of-Nope.patch
+++ b/CraftBukkit-Patches/0094-Descriptive-kick-reasons-instead-of-Nope.patch
@@ -40,7 +40,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
// CraftBukkit end
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
- this.player.z();
+ this.player.resetIdleTimer();
} else {
PlayerConnection.c.warn(this.player.getName() + " tried to set an invalid carried item");
- this.disconnect("Nope!"); // CraftBukkit
diff --git a/CraftBukkit-Patches/0096-Configurable-dragon-death-and-wither-spawn-sounds.patch b/CraftBukkit-Patches/0095-Configurable-dragon-death-and-wither-spawn-sounds.patch
similarity index 100%
rename from CraftBukkit-Patches/0096-Configurable-dragon-death-and-wither-spawn-sounds.patch
rename to CraftBukkit-Patches/0095-Configurable-dragon-death-and-wither-spawn-sounds.patch
diff --git a/CraftBukkit-Patches/0097-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch b/CraftBukkit-Patches/0096-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch
similarity index 100%
rename from CraftBukkit-Patches/0097-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch
rename to CraftBukkit-Patches/0096-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch
diff --git a/CraftBukkit-Patches/0098-Treat-Bungee-as-Online-Mode.patch b/CraftBukkit-Patches/0097-Treat-Bungee-as-Online-Mode.patch
similarity index 100%
rename from CraftBukkit-Patches/0098-Treat-Bungee-as-Online-Mode.patch
rename to CraftBukkit-Patches/0097-Treat-Bungee-as-Online-Mode.patch
diff --git a/CraftBukkit-Patches/0099-Add-Conversion-Message.patch b/CraftBukkit-Patches/0098-Add-Conversion-Message.patch
similarity index 96%
rename from CraftBukkit-Patches/0099-Add-Conversion-Message.patch
rename to CraftBukkit-Patches/0098-Add-Conversion-Message.patch
index 97240f600c..9fd22a01a9 100644
--- a/CraftBukkit-Patches/0099-Add-Conversion-Message.patch
+++ b/CraftBukkit-Patches/0098-Add-Conversion-Message.patch
@@ -11,7 +11,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
}
- protected boolean aQ() {
+ protected boolean aR() {
+ server.getLogger().info( "**** Beginning UUID conversion, this may take A LONG time ****"); // Spigot, let the user know whats up!
boolean flag = false;
diff --git a/CraftBukkit-Patches/0100-Properly-cancel-fishing-event.-Fixes-BUKKIT-5396.patch b/CraftBukkit-Patches/0099-Properly-cancel-fishing-event.-Fixes-BUKKIT-5396.patch
similarity index 100%
rename from CraftBukkit-Patches/0100-Properly-cancel-fishing-event.-Fixes-BUKKIT-5396.patch
rename to CraftBukkit-Patches/0099-Properly-cancel-fishing-event.-Fixes-BUKKIT-5396.patch
diff --git a/CraftBukkit-Patches/0101-Print-Stack-on-InternalException.patch b/CraftBukkit-Patches/0100-Print-Stack-on-InternalException.patch
similarity index 96%
rename from CraftBukkit-Patches/0101-Print-Stack-on-InternalException.patch
rename to CraftBukkit-Patches/0100-Print-Stack-on-InternalException.patch
index 3dcae54256..c5663fa67d 100644
--- a/CraftBukkit-Patches/0101-Print-Stack-on-InternalException.patch
+++ b/CraftBukkit-Patches/0100-Print-Stack-on-InternalException.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Print Stack on InternalException
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
-index 0000000000000000000000000000000000000000..00000000000000000000000000000000000000000 100644
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler {
diff --git a/CraftBukkit-Patches/0102-Use-Offline-Player-Data-Once-if-Required.patch b/CraftBukkit-Patches/0101-Use-Offline-Player-Data-Once-if-Required.patch
similarity index 100%
rename from CraftBukkit-Patches/0102-Use-Offline-Player-Data-Once-if-Required.patch
rename to CraftBukkit-Patches/0101-Use-Offline-Player-Data-Once-if-Required.patch
diff --git a/CraftBukkit-Patches/0103-Use-Provided-Case-for-Non-Existent-Offline-Players.patch b/CraftBukkit-Patches/0102-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
similarity index 100%
rename from CraftBukkit-Patches/0103-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
rename to CraftBukkit-Patches/0102-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
diff --git a/CraftBukkit-Patches/0104-Check-for-blank-OfflinePlayer-Names.patch b/CraftBukkit-Patches/0103-Check-for-blank-OfflinePlayer-Names.patch
similarity index 100%
rename from CraftBukkit-Patches/0104-Check-for-blank-OfflinePlayer-Names.patch
rename to CraftBukkit-Patches/0103-Check-for-blank-OfflinePlayer-Names.patch
diff --git a/CraftBukkit-Patches/0105-Fix-Player-Banning.patch b/CraftBukkit-Patches/0104-Fix-Player-Banning.patch
similarity index 100%
rename from CraftBukkit-Patches/0105-Fix-Player-Banning.patch
rename to CraftBukkit-Patches/0104-Fix-Player-Banning.patch
diff --git a/CraftBukkit-Patches/0106-Fix-ban-expire-dates.patch b/CraftBukkit-Patches/0105-Fix-ban-expire-dates.patch
similarity index 100%
rename from CraftBukkit-Patches/0106-Fix-ban-expire-dates.patch
rename to CraftBukkit-Patches/0105-Fix-ban-expire-dates.patch
diff --git a/CraftBukkit-Patches/0107-Correct-Ban-Expiration.patch b/CraftBukkit-Patches/0106-Correct-Ban-Expiration.patch
similarity index 100%
rename from CraftBukkit-Patches/0107-Correct-Ban-Expiration.patch
rename to CraftBukkit-Patches/0106-Correct-Ban-Expiration.patch
diff --git a/CraftBukkit-Patches/0108-Convert-Horses-owner-to-UUID.patch b/CraftBukkit-Patches/0107-Convert-Horses-owner-to-UUID.patch
similarity index 100%
rename from CraftBukkit-Patches/0108-Convert-Horses-owner-to-UUID.patch
rename to CraftBukkit-Patches/0107-Convert-Horses-owner-to-UUID.patch
diff --git a/CraftBukkit-Patches/0109-Expand-team-API-to-allow-arbitrary-strings.patch b/CraftBukkit-Patches/0108-Expand-team-API-to-allow-arbitrary-strings.patch
similarity index 100%
rename from CraftBukkit-Patches/0109-Expand-team-API-to-allow-arbitrary-strings.patch
rename to CraftBukkit-Patches/0108-Expand-team-API-to-allow-arbitrary-strings.patch
diff --git a/CraftBukkit-Patches/0110-Add-Score.isScoreSet-Z-API.patch b/CraftBukkit-Patches/0109-Add-Score.isScoreSet-Z-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0110-Add-Score.isScoreSet-Z-API.patch
rename to CraftBukkit-Patches/0109-Add-Score.isScoreSet-Z-API.patch
diff --git a/CraftBukkit-Patches/0111-Log-null-TileEntity-Owner.patch b/CraftBukkit-Patches/0110-Log-null-TileEntity-Owner.patch
similarity index 100%
rename from CraftBukkit-Patches/0111-Log-null-TileEntity-Owner.patch
rename to CraftBukkit-Patches/0110-Log-null-TileEntity-Owner.patch
diff --git a/CraftBukkit-Patches/0112-Don-t-special-case-invalid-usernames-for-UUIDs.patch b/CraftBukkit-Patches/0111-Don-t-special-case-invalid-usernames-for-UUIDs.patch
similarity index 100%
rename from CraftBukkit-Patches/0112-Don-t-special-case-invalid-usernames-for-UUIDs.patch
rename to CraftBukkit-Patches/0111-Don-t-special-case-invalid-usernames-for-UUIDs.patch
diff --git a/CraftBukkit-Patches/0113-Convert-player-skulls-async.patch b/CraftBukkit-Patches/0112-Convert-player-skulls-async.patch
similarity index 98%
rename from CraftBukkit-Patches/0113-Convert-player-skulls-async.patch
rename to CraftBukkit-Patches/0112-Convert-player-skulls-async.patch
index 50f29adbdc..b0f54d178a 100644
--- a/CraftBukkit-Patches/0113-Convert-player-skulls-async.patch
+++ b/CraftBukkit-Patches/0112-Convert-player-skulls-async.patch
@@ -103,7 +103,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+
+ if ( property == null )
+ {
-+ profile = MinecraftServer.getServer().aC().fillProfileProperties( profile, true );
++ profile = MinecraftServer.getServer().aD().fillProfileProperties( profile, true );
+ }
+ }
+
@@ -129,7 +129,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+
+ @Override
+ public boolean apply(GameProfile input) {
-+ setSkullType( 3 ); // Work around client bug
++ setSkullType(3); // Work around client bug
+ g = input;
+ update();
+ if (world != null) {
@@ -163,7 +163,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- Property property = (Property) Iterables.getFirst(gameprofile1.getProperties().get("textures"), (Object) null);
-
- if (property == null) {
-- gameprofile1 = MinecraftServer.getServer().aC().fillProfileProperties(gameprofile1, true);
+- gameprofile1 = MinecraftServer.getServer().aD().fillProfileProperties(gameprofile1, true);
- }
-
- return gameprofile1;
diff --git a/CraftBukkit-Patches/0114-Prevent-NoClassDefError-crash-and-notify-on-crash.patch b/CraftBukkit-Patches/0113-Prevent-NoClassDefError-crash-and-notify-on-crash.patch
similarity index 100%
rename from CraftBukkit-Patches/0114-Prevent-NoClassDefError-crash-and-notify-on-crash.patch
rename to CraftBukkit-Patches/0113-Prevent-NoClassDefError-crash-and-notify-on-crash.patch
diff --git a/CraftBukkit-Patches/0115-Check-Skull-canPlace.patch b/CraftBukkit-Patches/0114-Check-Skull-canPlace.patch
similarity index 100%
rename from CraftBukkit-Patches/0115-Check-Skull-canPlace.patch
rename to CraftBukkit-Patches/0114-Check-Skull-canPlace.patch
diff --git a/CraftBukkit-Patches/0116-Fix-race-condition-that-could-kill-connections-befor.patch b/CraftBukkit-Patches/0115-Fix-race-condition-that-could-kill-connections-befor.patch
similarity index 88%
rename from CraftBukkit-Patches/0116-Fix-race-condition-that-could-kill-connections-befor.patch
rename to CraftBukkit-Patches/0115-Fix-race-condition-that-could-kill-connections-befor.patch
index 7ed08a23c8..de06a08f69 100644
--- a/CraftBukkit-Patches/0116-Fix-race-condition-that-could-kill-connections-befor.patch
+++ b/CraftBukkit-Patches/0115-Fix-race-condition-that-could-kill-connections-befor.patch
@@ -12,7 +12,7 @@ initialized. The ServerConnection does not remove NetworkManagers with
this flag.
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
-index 1c28c940..c71150a 100644
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler {
@@ -25,8 +25,8 @@ index 1c28c940..c71150a 100644
private IChatBaseComponent n;
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler {
super.channelActive(channelhandlercontext);
- this.k = channelhandlercontext.channel();
- this.l = this.k.remoteAddress();
+ this.channel = channelhandlercontext.channel();
+ this.l = this.channel.remoteAddress();
+ // Spigot Start
+ this.preparing = false;
+ // Spigot End
@@ -40,8 +40,8 @@ index 1c28c940..c71150a 100644
+ // Spigot Start
+ this.preparing = false;
+ // Spigot End
- if (this.k.isOpen()) {
- this.k.close(); // We can't wait as this may be called from an event loop.
+ if (this.channel.isOpen()) {
+ this.channel.close(); // We can't wait as this may be called from an event loop.
this.n = ichatbasecomponent;
diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
diff --git a/CraftBukkit-Patches/0117-Configurable-UserCache-cap.patch b/CraftBukkit-Patches/0116-Configurable-UserCache-cap.patch
similarity index 100%
rename from CraftBukkit-Patches/0117-Configurable-UserCache-cap.patch
rename to CraftBukkit-Patches/0116-Configurable-UserCache-cap.patch
diff --git a/CraftBukkit-Patches/0118-Implement-PlayerSpawnLocationEvent.patch b/CraftBukkit-Patches/0117-Implement-PlayerSpawnLocationEvent.patch
similarity index 100%
rename from CraftBukkit-Patches/0118-Implement-PlayerSpawnLocationEvent.patch
rename to CraftBukkit-Patches/0117-Implement-PlayerSpawnLocationEvent.patch
diff --git a/CraftBukkit-Patches/0119-Cap-Objective-Score-Length.patch b/CraftBukkit-Patches/0118-Cap-Objective-Score-Length.patch
similarity index 100%
rename from CraftBukkit-Patches/0119-Cap-Objective-Score-Length.patch
rename to CraftBukkit-Patches/0118-Cap-Objective-Score-Length.patch
diff --git a/CraftBukkit-Patches/0120-Process-conversation-input-on-the-main-thread.-Fixes.patch b/CraftBukkit-Patches/0119-Process-conversation-input-on-the-main-thread.-Fixes.patch
similarity index 100%
rename from CraftBukkit-Patches/0120-Process-conversation-input-on-the-main-thread.-Fixes.patch
rename to CraftBukkit-Patches/0119-Process-conversation-input-on-the-main-thread.-Fixes.patch
diff --git a/CraftBukkit-Patches/0121-Configurable-save-on-stop-only-for-UserCache.patch b/CraftBukkit-Patches/0120-Configurable-save-on-stop-only-for-UserCache.patch
similarity index 100%
rename from CraftBukkit-Patches/0121-Configurable-save-on-stop-only-for-UserCache.patch
rename to CraftBukkit-Patches/0120-Configurable-save-on-stop-only-for-UserCache.patch
diff --git a/CraftBukkit-Patches/0122-Prevent-Unbounded-IntCache-Growth.patch b/CraftBukkit-Patches/0121-Prevent-Unbounded-IntCache-Growth.patch
similarity index 100%
rename from CraftBukkit-Patches/0122-Prevent-Unbounded-IntCache-Growth.patch
rename to CraftBukkit-Patches/0121-Prevent-Unbounded-IntCache-Growth.patch
diff --git a/CraftBukkit-Patches/0123-Add-damager-to-the-unhandled-error.patch b/CraftBukkit-Patches/0122-Add-damager-to-the-unhandled-error.patch
similarity index 100%
rename from CraftBukkit-Patches/0123-Add-damager-to-the-unhandled-error.patch
rename to CraftBukkit-Patches/0122-Add-damager-to-the-unhandled-error.patch
diff --git a/CraftBukkit-Patches/0124-Cross-World-Entity-Teleportation.patch b/CraftBukkit-Patches/0123-Cross-World-Entity-Teleportation.patch
similarity index 100%
rename from CraftBukkit-Patches/0124-Cross-World-Entity-Teleportation.patch
rename to CraftBukkit-Patches/0123-Cross-World-Entity-Teleportation.patch
diff --git a/CraftBukkit-Patches/0125-Limit-block-placement-interaction-packets.patch b/CraftBukkit-Patches/0124-Limit-block-placement-interaction-packets.patch
similarity index 81%
rename from CraftBukkit-Patches/0125-Limit-block-placement-interaction-packets.patch
rename to CraftBukkit-Patches/0124-Limit-block-placement-interaction-packets.patch
index f20254e063..b385c939a4 100644
--- a/CraftBukkit-Patches/0125-Limit-block-placement-interaction-packets.patch
+++ b/CraftBukkit-Patches/0124-Limit-block-placement-interaction-packets.patch
@@ -38,7 +38,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public void a(PacketPlayInBlockPlace packetplayinblockplace) {
PlayerConnectionUtils.ensureMainThread(packetplayinblockplace, this, this.player.u());
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
--
+ boolean throttled = false;
+ if (lastPlace != -1 && packetplayinblockplace.timestamp - lastPlace < 30 && packets++ >= 4) {
+ throttled = true;
@@ -48,10 +47,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ packets = 0;
+ }
+ // Spigot end
-+
+
// CraftBukkit start
if (this.player.dead) return;
-
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
// CraftBukkit start
@@ -80,24 +78,4 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
flag = true;
-@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
- public void a(PacketPlayInArmAnimation packetplayinarmanimation) {
- if (this.player.dead) return; // CraftBukkit
- PlayerConnectionUtils.ensureMainThread(packetplayinarmanimation, this, this.player.u());
-+ // Spigot start
-+ boolean throttled = false;
-+ if (lastPlace != -1 && packetplayinarmanimation.timestamp - lastPlace < 30 && packets++ >= 4) {
-+ throttled = true;
-+ } else if ( packetplayinarmanimation.timestamp - lastPlace >= 30 || lastPlace == -1 )
-+ {
-+ lastPlace = packetplayinarmanimation.timestamp;
-+ packets = 0;
-+ }
-+ if (throttled) {
-+ return;
-+ }
-+ // Spigot end
- this.player.z();
- // CraftBukkit start - Raytrace to look for 'rogue armswings'
- float f1 = this.player.pitch;
--
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0126-Better-item-validation.patch b/CraftBukkit-Patches/0125-Better-item-validation.patch
similarity index 100%
rename from CraftBukkit-Patches/0126-Better-item-validation.patch
rename to CraftBukkit-Patches/0125-Better-item-validation.patch
diff --git a/CraftBukkit-Patches/0127-Further-Seed-Customisation.patch b/CraftBukkit-Patches/0126-Further-Seed-Customisation.patch
similarity index 100%
rename from CraftBukkit-Patches/0127-Further-Seed-Customisation.patch
rename to CraftBukkit-Patches/0126-Further-Seed-Customisation.patch
diff --git a/CraftBukkit-Patches/0128-Disable-ResourceLeakDetector.patch b/CraftBukkit-Patches/0127-Disable-ResourceLeakDetector.patch
similarity index 100%
rename from CraftBukkit-Patches/0128-Disable-ResourceLeakDetector.patch
rename to CraftBukkit-Patches/0127-Disable-ResourceLeakDetector.patch
diff --git a/CraftBukkit-Patches/0129-Add-More-Information-to-session.lock-Errors.patch b/CraftBukkit-Patches/0128-Add-More-Information-to-session.lock-Errors.patch
similarity index 100%
rename from CraftBukkit-Patches/0129-Add-More-Information-to-session.lock-Errors.patch
rename to CraftBukkit-Patches/0128-Add-More-Information-to-session.lock-Errors.patch
diff --git a/CraftBukkit-Patches/0130-Safer-JSON-Loading.patch b/CraftBukkit-Patches/0129-Safer-JSON-Loading.patch
similarity index 79%
rename from CraftBukkit-Patches/0130-Safer-JSON-Loading.patch
rename to CraftBukkit-Patches/0129-Safer-JSON-Loading.patch
index c4b68cc2ba..9e1264ed2e 100644
--- a/CraftBukkit-Patches/0130-Safer-JSON-Loading.patch
+++ b/CraftBukkit-Patches/0129-Safer-JSON-Loading.patch
@@ -31,15 +31,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -0,0 +0,0 @@ public class UserCache {
- break label64;
- } catch (FileNotFoundException filenotfoundexception) {
- ;
-+ // Spigot Start
-+ } catch (com.google.gson.JsonSyntaxException ex) {
-+ JsonList.a.warn( "Usercache.json is corrupted or has bad formatting. Deleting it to prevent further issues." );
-+ this.g.delete();
-+ // Spigot End
- } finally {
- IOUtils.closeQuietly(bufferedreader);
}
+ } catch (FileNotFoundException filenotfoundexception) {
+ ;
++ // Spigot Start
++ } catch (com.google.gson.JsonSyntaxException ex) {
++ JsonList.a.warn( "Usercache.json is corrupted or has bad formatting. Deleting it to prevent further issues." );
++ this.g.delete();
++ // Spigot End
+ } catch (JsonParseException jsonparseexception) {
+ ;
+ } finally {
--
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0131-Fix-Slow-Loading-Libraries.patch b/CraftBukkit-Patches/0130-Fix-Slow-Loading-Libraries.patch
similarity index 100%
rename from CraftBukkit-Patches/0131-Fix-Slow-Loading-Libraries.patch
rename to CraftBukkit-Patches/0130-Fix-Slow-Loading-Libraries.patch
diff --git a/CraftBukkit-Patches/0132-Add-CommandLine-EULA-Flag.patch b/CraftBukkit-Patches/0131-Add-CommandLine-EULA-Flag.patch
similarity index 100%
rename from CraftBukkit-Patches/0132-Add-CommandLine-EULA-Flag.patch
rename to CraftBukkit-Patches/0131-Add-CommandLine-EULA-Flag.patch
diff --git a/CraftBukkit-Patches/0133-Fix-for-enchanting-table-wiping-meta-when-placing-st.patch b/CraftBukkit-Patches/0132-Fix-for-enchanting-table-wiping-meta-when-placing-st.patch
similarity index 100%
rename from CraftBukkit-Patches/0133-Fix-for-enchanting-table-wiping-meta-when-placing-st.patch
rename to CraftBukkit-Patches/0132-Fix-for-enchanting-table-wiping-meta-when-placing-st.patch
diff --git a/CraftBukkit-Patches/0134-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch b/CraftBukkit-Patches/0133-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch
similarity index 100%
rename from CraftBukkit-Patches/0134-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch
rename to CraftBukkit-Patches/0133-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch
diff --git a/CraftBukkit-Patches/0135-Prevent-a-crash-involving-attributes.patch b/CraftBukkit-Patches/0134-Prevent-a-crash-involving-attributes.patch
similarity index 100%
rename from CraftBukkit-Patches/0135-Prevent-a-crash-involving-attributes.patch
rename to CraftBukkit-Patches/0134-Prevent-a-crash-involving-attributes.patch
diff --git a/CraftBukkit-Patches/0136-Make-moved-wrongly-limit-configurable.patch b/CraftBukkit-Patches/0135-Make-moved-wrongly-limit-configurable.patch
similarity index 90%
rename from CraftBukkit-Patches/0136-Make-moved-wrongly-limit-configurable.patch
rename to CraftBukkit-Patches/0135-Make-moved-wrongly-limit-configurable.patch
index 411e27e20d..9ccb19bc40 100644
--- a/CraftBukkit-Patches/0136-Make-moved-wrongly-limit-configurable.patch
+++ b/CraftBukkit-Patches/0135-Make-moved-wrongly-limit-configurable.patch
@@ -9,12 +9,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
- d17 = d11 * d11 + d12 * d12 + d13 * d13;
+ d15 = d11 * d11 + d12 * d12 + d13 * d13;
boolean flag1 = false;
-- if (d17 > 0.0625D && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative()) {
+- if (d15 > 0.0625D && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative()) {
+ // Spigot: make "moved wrongly" limit configurable
-+ if (d17 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative()) {
++ if (d15 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative()) {
flag1 = true;
PlayerConnection.c.warn(this.player.getName() + " moved wrongly!");
}
diff --git a/CraftBukkit-Patches/0137-Fix-Null-Tile-Entity-Worlds.patch b/CraftBukkit-Patches/0136-Fix-Null-Tile-Entity-Worlds.patch
similarity index 100%
rename from CraftBukkit-Patches/0137-Fix-Null-Tile-Entity-Worlds.patch
rename to CraftBukkit-Patches/0136-Fix-Null-Tile-Entity-Worlds.patch
diff --git a/CraftBukkit-Patches/0138-Make-moved-too-quickly-limit-configurable.patch b/CraftBukkit-Patches/0137-Make-moved-too-quickly-limit-configurable.patch
similarity index 67%
rename from CraftBukkit-Patches/0138-Make-moved-too-quickly-limit-configurable.patch
rename to CraftBukkit-Patches/0137-Make-moved-too-quickly-limit-configurable.patch
index fa72e8da7a..be7f7bc636 100644
--- a/CraftBukkit-Patches/0138-Make-moved-too-quickly-limit-configurable.patch
+++ b/CraftBukkit-Patches/0137-Make-moved-too-quickly-limit-configurable.patch
@@ -9,13 +9,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
- // CraftBukkit end
- double d17 = d14 * d14 + d15 * d15 + d16 * d16;
+ double d14 = this.player.motX * this.player.motX + this.player.motY * this.player.motY + this.player.motZ * this.player.motZ;
+ double d15 = d11 * d11 + d12 * d12 + d13 * d13;
-- if (d17 > 100.0D && this.checkMovement && (!this.minecraftServer.S() || !this.minecraftServer.R().equals(this.player.getName()))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports
+- if (d15 - d14 > 100.0D && this.checkMovement && (!this.minecraftServer.T() || !this.minecraftServer.S().equals(this.player.getName()))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports
+ // Spigot: make "moved too quickly" limit configurable
-+ if (d17 > org.spigotmc.SpigotConfig.movedTooQuicklyThreshold && this.checkMovement && (!this.minecraftServer.S() || !this.minecraftServer.R().equals(this.player.getName()))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports
- PlayerConnection.c.warn(this.player.getName() + " moved too quickly! " + d11 + "," + d12 + "," + d13 + " (" + d14 + ", " + d15 + ", " + d16 + ")");
++ if (d15 - d14 > org.spigotmc.SpigotConfig.movedTooQuicklyThreshold && this.checkMovement && (!this.minecraftServer.T() || !this.minecraftServer.S().equals(this.player.getName()))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports
+ PlayerConnection.c.warn(this.player.getName() + " moved too quickly! " + d11 + "," + d12 + "," + d13 + " (" + d11 + ", " + d12 + ", " + d13 + ")");
this.a(this.o, this.p, this.q, this.player.yaw, this.player.pitch);
return;
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
diff --git a/CraftBukkit-Patches/0139-Apply-NBTReadLimiter-to-more-things.patch b/CraftBukkit-Patches/0138-Apply-NBTReadLimiter-to-more-things.patch
similarity index 100%
rename from CraftBukkit-Patches/0139-Apply-NBTReadLimiter-to-more-things.patch
rename to CraftBukkit-Patches/0138-Apply-NBTReadLimiter-to-more-things.patch
diff --git a/CraftBukkit-Patches/0140-Allow-Attribute-Capping.patch b/CraftBukkit-Patches/0139-Allow-Attribute-Capping.patch
similarity index 74%
rename from CraftBukkit-Patches/0140-Allow-Attribute-Capping.patch
rename to CraftBukkit-Patches/0139-Allow-Attribute-Capping.patch
index c1ca6894e0..6eb5c6d76e 100644
--- a/CraftBukkit-Patches/0140-Allow-Attribute-Capping.patch
+++ b/CraftBukkit-Patches/0139-Allow-Attribute-Capping.patch
@@ -28,13 +28,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
private static final Logger f = LogManager.getLogger();
- public static final IAttribute maxHealth = (new AttributeRanged((IAttribute) null, "generic.maxHealth", 20.0D, 0.0D, Double.MAX_VALUE)).a("Max Health").a(true);
+ // Spigot start
-+ public static final IAttribute maxHealth = (new AttributeRanged((IAttribute) null, "generic.maxHealth", 20.0D, 0.1D, org.spigotmc.SpigotConfig.maxHealth)).a("Max Health").a(true);
- public static final IAttribute b = (new AttributeRanged((IAttribute) null, "generic.followRange", 32.0D, 0.0D, 2048.0D)).a("Follow Range");
++ public static final IAttribute maxHealth = (new AttributeRanged((IAttribute) null, "generic.maxHealth", 20.0D, 0.1D, org.spigotmc.SpigotConfig.maxHealth)).a("Max Health").a(true);
+ public static final IAttribute FOLLOW_RANGE = (new AttributeRanged((IAttribute) null, "generic.followRange", 32.0D, 0.0D, 2048.0D)).a("Follow Range");
public static final IAttribute c = (new AttributeRanged((IAttribute) null, "generic.knockbackResistance", 0.0D, 0.0D, 1.0D)).a("Knockback Resistance");
-- public static final IAttribute d = (new AttributeRanged((IAttribute) null, "generic.movementSpeed", 0.699999988079071D, 0.0D, Double.MAX_VALUE)).a("Movement Speed").a(true);
-- public static final IAttribute e = new AttributeRanged((IAttribute) null, "generic.attackDamage", 2.0D, 0.0D, Double.MAX_VALUE);
-+ public static final IAttribute d = (new AttributeRanged((IAttribute) null, "generic.movementSpeed", 0.699999988079071D, 0.0D, org.spigotmc.SpigotConfig.movementSpeed)).a("Movement Speed").a(true);
-+ public static final IAttribute e = new AttributeRanged((IAttribute) null, "generic.attackDamage", 2.0D, 0.0D, org.spigotmc.SpigotConfig.attackDamage);
+- public static final IAttribute MOVEMENT_SPEED = (new AttributeRanged((IAttribute) null, "generic.movementSpeed", 0.699999988079071D, 0.0D, Double.MAX_VALUE)).a("Movement Speed").a(true);
+- public static final IAttribute ATTACK_DAMAGE = new AttributeRanged((IAttribute) null, "generic.attackDamage", 2.0D, 0.0D, Double.MAX_VALUE);
++ public static final IAttribute MOVEMENT_SPEED = (new AttributeRanged((IAttribute) null, "generic.movementSpeed", 0.699999988079071D, 0.0D, org.spigotmc.SpigotConfig.movementSpeed)).a("Movement Speed").a(true);
++ public static final IAttribute ATTACK_DAMAGE = new AttributeRanged((IAttribute) null, "generic.attackDamage", 2.0D, 0.0D, org.spigotmc.SpigotConfig.attackDamage);
+ // Spigot end
public static NBTTagList a(AttributeMapBase attributemapbase) {
@@ -65,9 +65,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ maxHealth = getDouble( "settings.attribute.maxHealth.max", maxHealth );
+ ( (AttributeRanged) GenericAttributes.maxHealth ).b = maxHealth;
+ movementSpeed = getDouble( "settings.attribute.movementSpeed.max", movementSpeed );
-+ ( (AttributeRanged) GenericAttributes.d ).b = movementSpeed;
++ ( (AttributeRanged) GenericAttributes.MOVEMENT_SPEED ).b = movementSpeed;
+ attackDamage = getDouble( "settings.attribute.attackDamage.max", attackDamage );
-+ ( (AttributeRanged) GenericAttributes.e ).b = attackDamage;
++ ( (AttributeRanged) GenericAttributes.ATTACK_DAMAGE ).b = attackDamage;
+ }
}
--
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0141-Only-fetch-an-online-UUID-in-online-mode.patch b/CraftBukkit-Patches/0140-Only-fetch-an-online-UUID-in-online-mode.patch
similarity index 100%
rename from CraftBukkit-Patches/0141-Only-fetch-an-online-UUID-in-online-mode.patch
rename to CraftBukkit-Patches/0140-Only-fetch-an-online-UUID-in-online-mode.patch
diff --git a/CraftBukkit-Patches/0142-Filter-attribute-modifiers-which-cause-the-attribute.patch b/CraftBukkit-Patches/0141-Filter-attribute-modifiers-which-cause-the-attribute.patch
similarity index 98%
rename from CraftBukkit-Patches/0142-Filter-attribute-modifiers-which-cause-the-attribute.patch
rename to CraftBukkit-Patches/0141-Filter-attribute-modifiers-which-cause-the-attribute.patch
index 64e231e35c..db5b5232ca 100644
--- a/CraftBukkit-Patches/0142-Filter-attribute-modifiers-which-cause-the-attribute.patch
+++ b/CraftBukkit-Patches/0141-Filter-attribute-modifiers-which-cause-the-attribute.patch
@@ -29,13 +29,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ attributeTracker.put( "generic.maxHealth", 20.0 );
+ attributesByName.put( "generic.maxHealth", GenericAttributes.maxHealth );
+ attributeTracker.put( "generic.followRange", 32.0 );
-+ attributesByName.put( "generic.followRange", GenericAttributes.b );
++ attributesByName.put( "generic.followRange", GenericAttributes.FOLLOW_RANGE );
+ attributeTracker.put( "generic.knockbackResistance", 0.0 );
+ attributesByName.put( "generic.knockbackResistance", GenericAttributes.c );
+ attributeTracker.put( "generic.movementSpeed", 0.7 );
-+ attributesByName.put( "generic.movementSpeed", GenericAttributes.d );
++ attributesByName.put( "generic.movementSpeed", GenericAttributes.MOVEMENT_SPEED );
+ attributeTracker.put( "generic.attackDamage", 1.0 );
-+ attributesByName.put( "generic.attackDamage", GenericAttributes.e );
++ attributesByName.put( "generic.attackDamage", GenericAttributes.ATTACK_DAMAGE );
+ NBTTagList oldList = nbttaglist;
+ nbttaglist = new NBTTagList();
+
diff --git a/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch b/CraftBukkit-Patches/0142-Plug-WorldMap-Memory-Leak.patch
similarity index 100%
rename from CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch
rename to CraftBukkit-Patches/0142-Plug-WorldMap-Memory-Leak.patch
diff --git a/CraftBukkit-Patches/0144-Fix-Corrupted-Trapped-Chest.patch b/CraftBukkit-Patches/0143-Fix-Corrupted-Trapped-Chest.patch
similarity index 100%
rename from CraftBukkit-Patches/0144-Fix-Corrupted-Trapped-Chest.patch
rename to CraftBukkit-Patches/0143-Fix-Corrupted-Trapped-Chest.patch
diff --git a/CraftBukkit-Patches/0145-Remove-uneeded-validation.patch b/CraftBukkit-Patches/0144-Remove-uneeded-validation.patch
similarity index 100%
rename from CraftBukkit-Patches/0145-Remove-uneeded-validation.patch
rename to CraftBukkit-Patches/0144-Remove-uneeded-validation.patch
diff --git a/CraftBukkit-Patches/0146-Add-Hunger-Config-Values.patch b/CraftBukkit-Patches/0145-Add-Hunger-Config-Values.patch
similarity index 100%
rename from CraftBukkit-Patches/0146-Add-Hunger-Config-Values.patch
rename to CraftBukkit-Patches/0145-Add-Hunger-Config-Values.patch
diff --git a/CraftBukkit-Patches/0147-Make-debug-logging-togglable.patch b/CraftBukkit-Patches/0146-Make-debug-logging-togglable.patch
similarity index 96%
rename from CraftBukkit-Patches/0147-Make-debug-logging-togglable.patch
rename to CraftBukkit-Patches/0146-Make-debug-logging-togglable.patch
index 3adbaf20ac..6dafbdbea4 100644
--- a/CraftBukkit-Patches/0147-Make-debug-logging-togglable.patch
+++ b/CraftBukkit-Patches/0146-Make-debug-logging-togglable.patch
@@ -20,7 +20,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.bukkit.command.Command;
@@ -0,0 +0,0 @@ public class SpigotConfig
attackDamage = getDouble( "settings.attribute.attackDamage.max", attackDamage );
- ( (AttributeRanged) GenericAttributes.e ).b = attackDamage;
+ ( (AttributeRanged) GenericAttributes.ATTACK_DAMAGE ).b = attackDamage;
}
+
+ public static boolean debug;
diff --git a/CraftBukkit-Patches/0148-Skip-invalid-enchants-in-CraftMetaItem.patch b/CraftBukkit-Patches/0147-Skip-invalid-enchants-in-CraftMetaItem.patch
similarity index 100%
rename from CraftBukkit-Patches/0148-Skip-invalid-enchants-in-CraftMetaItem.patch
rename to CraftBukkit-Patches/0147-Skip-invalid-enchants-in-CraftMetaItem.patch
diff --git a/CraftBukkit-Patches/0149-Limit-TNT-Detonations-per-tick.patch b/CraftBukkit-Patches/0148-Limit-TNT-Detonations-per-tick.patch
similarity index 100%
rename from CraftBukkit-Patches/0149-Limit-TNT-Detonations-per-tick.patch
rename to CraftBukkit-Patches/0148-Limit-TNT-Detonations-per-tick.patch
diff --git a/CraftBukkit-Patches/0150-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch b/CraftBukkit-Patches/0149-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch
similarity index 100%
rename from CraftBukkit-Patches/0150-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch
rename to CraftBukkit-Patches/0149-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch
diff --git a/CraftBukkit-Patches/0151-Configurable-Hanging-Tick.patch b/CraftBukkit-Patches/0150-Configurable-Hanging-Tick.patch
similarity index 100%
rename from CraftBukkit-Patches/0151-Configurable-Hanging-Tick.patch
rename to CraftBukkit-Patches/0150-Configurable-Hanging-Tick.patch
diff --git a/CraftBukkit-Patches/0153-Refactor-ItemDoor-Place.patch b/CraftBukkit-Patches/0151-Refactor-ItemDoor-Place.patch
similarity index 100%
rename from CraftBukkit-Patches/0153-Refactor-ItemDoor-Place.patch
rename to CraftBukkit-Patches/0151-Refactor-ItemDoor-Place.patch
diff --git a/CraftBukkit-Patches/0154-BungeeCord-Chat-API.patch b/CraftBukkit-Patches/0152-BungeeCord-Chat-API.patch
similarity index 100%
rename from CraftBukkit-Patches/0154-BungeeCord-Chat-API.patch
rename to CraftBukkit-Patches/0152-BungeeCord-Chat-API.patch
diff --git a/CraftBukkit-Patches/0152-Fix-Some-Memory-Leaks.patch b/CraftBukkit-Patches/0152-Fix-Some-Memory-Leaks.patch
deleted file mode 100644
index 5ce20aa106..0000000000
--- a/CraftBukkit-Patches/0152-Fix-Some-Memory-Leaks.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: md_5
-Date: Sun, 21 Sep 2014 10:06:01 +1000
-Subject: [PATCH] Fix Some Memory Leaks
-
-
-diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/EnchantmentManager.java
-+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
-@@ -0,0 +0,0 @@ public class EnchantmentManager {
- if (entity instanceof EntityHuman) {
- a((EnchantmentManager.EnchantmentModifier) EnchantmentManager.d, entityliving.bA());
- }
--
-+ // Spigot start
-+ d.b = null;
-+ d.a = null;
-+ // Spigot end
- }
-
- public static void b(EntityLiving entityliving, Entity entity) {
-@@ -0,0 +0,0 @@ public class EnchantmentManager {
- if (entityliving instanceof EntityHuman) {
- a((EnchantmentManager.EnchantmentModifier) EnchantmentManager.e, entityliving.bA());
- }
--
-+ // Spigot start
-+ e.a = null;
-+ e.b = null;
-+ // Spigot end
- }
-
- public static int a(EntityLiving entityliving) {
-diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/EntityInsentient.java
-+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
-@@ -0,0 +0,0 @@
- package net.minecraft.server;
-
-+import java.lang.ref.WeakReference; // Spigot
- import java.util.Iterator;
- import java.util.List;
- import java.util.UUID;
-@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
- protected NavigationAbstract navigation;
- public PathfinderGoalSelector goalSelector; // CraftBukkit - public
- public PathfinderGoalSelector targetSelector; // CraftBukkit - public
-- private EntityLiving goalTarget;
-+ private WeakReference goalTarget = new WeakReference(null);
- private EntitySenses bk;
- private ItemStack[] equipment = new ItemStack[5];
- public float[] dropChances = new float[5]; // CraftBukkit - public
-@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
- }
-
- public EntityLiving getGoalTarget() {
-- return this.goalTarget;
-+ return this.goalTarget.get(); // Spigot
- }
-
- public void setGoalTarget(EntityLiving entityliving) {
-@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
- entityliving = null;
- }
- }
-- this.goalTarget = entityliving;
-+ this.goalTarget = new WeakReference(entityliving); // Spigot
- // CraftBukkit end
- }
-
-diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/NetworkManager.java
-+++ b/src/main/java/net/minecraft/server/NetworkManager.java
-@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler {
- public void close(IChatBaseComponent ichatbasecomponent) {
- // Spigot Start
- this.preparing = false;
-+ this.i.clear();
- // Spigot End
- if (this.k.isOpen()) {
- this.k.close(); // We can't wait as this may be called from an event loop.
-diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
-+++ b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
-@@ -0,0 +0,0 @@ package net.minecraft.server;
- public class PathfinderGoalSwell extends PathfinderGoal {
-
- EntityCreeper a;
-- EntityLiving b;
-+ // EntityLiving b; // Spigot
-
- public PathfinderGoalSwell(EntityCreeper entitycreeper) {
- this.a = entitycreeper;
-@@ -0,0 +0,0 @@ public class PathfinderGoalSwell extends PathfinderGoal {
-
- public void c() {
- this.a.getNavigation().n();
-- this.b = this.a.getGoalTarget();
-+ // this.b = this.a.getGoalTarget(); // Spigot
- }
-
- public void d() {
-- this.b = null;
-+ // this.b = null; // Spigot
- }
-
- public void e() {
-- if (this.b == null) {
-+ // Spigot start
-+ EntityLiving b = this.a.getGoalTarget();
-+ if (b == null) {
- this.a.a(-1);
-- } else if (this.a.h(this.b) > 49.0D) {
-+ } else if (this.a.h(b) > 49.0D) {
- this.a.a(-1);
-- } else if (!this.a.getEntitySenses().a(this.b)) {
-+ } else if (!this.a.getEntitySenses().a(b)) {
- this.a.a(-1);
- } else {
- this.a.a(1);
- }
-+ // Spigot end
- }
- }
---
\ No newline at end of file
diff --git a/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch b/CraftBukkit-Patches/0153-Use-Standard-List-for-EntitySlices.patch
similarity index 100%
rename from CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch
rename to CraftBukkit-Patches/0153-Use-Standard-List-for-EntitySlices.patch
diff --git a/CraftBukkit-Patches/0156-Allow-Capping-Tile-Entity-Tick-Time.patch b/CraftBukkit-Patches/0154-Allow-Capping-Tile-Entity-Tick-Time.patch
similarity index 100%
rename from CraftBukkit-Patches/0156-Allow-Capping-Tile-Entity-Tick-Time.patch
rename to CraftBukkit-Patches/0154-Allow-Capping-Tile-Entity-Tick-Time.patch
diff --git a/CraftBukkit-Patches/0157-Use-FastMatches-for-ItemStack-Dirty-Check.patch b/CraftBukkit-Patches/0155-Use-FastMatches-for-ItemStack-Dirty-Check.patch
similarity index 100%
rename from CraftBukkit-Patches/0157-Use-FastMatches-for-ItemStack-Dirty-Check.patch
rename to CraftBukkit-Patches/0155-Use-FastMatches-for-ItemStack-Dirty-Check.patch
diff --git a/CraftBukkit-Patches/0158-Use-CLQ-for-main-thread-tasks.patch b/CraftBukkit-Patches/0156-Use-CLQ-for-main-thread-tasks.patch
similarity index 98%
rename from CraftBukkit-Patches/0158-Use-CLQ-for-main-thread-tasks.patch
rename to CraftBukkit-Patches/0156-Use-CLQ-for-main-thread-tasks.patch
index 76fc5bb8f4..64a6bb56d8 100644
--- a/CraftBukkit-Patches/0158-Use-CLQ-for-main-thread-tasks.patch
+++ b/CraftBukkit-Patches/0156-Use-CLQ-for-main-thread-tasks.patch
@@ -15,7 +15,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- protected final Queue> j = Queues.newArrayDeque();
+ protected final Queue> j = new java.util.concurrent.ConcurrentLinkedQueue>(); // Spigot, PAIL: Rename
private Thread serverThread;
- private long ab = ay();
+ private long ab = az();
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.a("jobs");