aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Spigot-Server-Patches/0005-Timings-v2.patch84
-rw-r--r--Spigot-Server-Patches/0016-Player-affects-spawning-API.patch18
-rw-r--r--Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch12
-rw-r--r--Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch12
-rw-r--r--Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch10
-rw-r--r--Spigot-Server-Patches/0050-Ensure-commands-are-not-ran-async.patch10
-rw-r--r--Spigot-Server-Patches/0058-Change-implementation-of-tile-entity-removal-list.patch10
-rw-r--r--Spigot-Server-Patches/0062-Add-exception-reporting-event.patch30
-rw-r--r--Spigot-Server-Patches/0066-Complete-resource-pack-API.patch17
-rw-r--r--Spigot-Server-Patches/0090-Optimize-isValidLocation-getType-and-getBlockData-fo.patch20
-rw-r--r--Spigot-Server-Patches/0095-Entity-AddTo-RemoveFrom-World-Events.patch10
-rw-r--r--Spigot-Server-Patches/0106-Configurable-Keep-Spawn-Loaded-range-per-world.patch16
-rw-r--r--Spigot-Server-Patches/0108-Don-t-spam-reload-spawn-chunks-in-nether-end.patch10
-rw-r--r--Spigot-Server-Patches/0112-Remove-unused-World-Tile-Entity-List.patch16
-rw-r--r--Spigot-Server-Patches/0119-Prevent-Fire-from-loading-chunks.patch22
-rw-r--r--Spigot-Server-Patches/0127-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch16
-rw-r--r--Spigot-Server-Patches/0154-Disable-ticking-of-snow-blocks.patch10
-rw-r--r--Spigot-Server-Patches/0159-Chunk-registration-fixes.patch8
-rw-r--r--Spigot-Server-Patches/0165-Add-EntityZapEvent.patch12
-rw-r--r--Spigot-Server-Patches/0175-Add-source-to-PlayerExpChangeEvent.patch10
-rw-r--r--Spigot-Server-Patches/0179-Add-ProjectileCollideEvent.patch16
-rw-r--r--Spigot-Server-Patches/0180-Vanished-players-don-t-have-rights.patch18
-rw-r--r--Spigot-Server-Patches/0187-Option-to-prevent-armor-stands-from-doing-entity-loo.patch10
m---------work/Bukkit0
m---------work/CraftBukkit10
m---------work/Spigot0
26 files changed, 204 insertions, 203 deletions
diff --git a/Spigot-Server-Patches/0005-Timings-v2.patch b/Spigot-Server-Patches/0005-Timings-v2.patch
index cc804e7cd6..558a4c70fe 100644
--- a/Spigot-Server-Patches/0005-Timings-v2.patch
+++ b/Spigot-Server-Patches/0005-Timings-v2.patch
@@ -1,11 +1,11 @@
-From 825072f7c8654c5bc9803075a03873afc787eaa9 Mon Sep 17 00:00:00 2001
+From 3e37c01cae2afb8617608e37133bce66429d60d2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
diff --git a/pom.xml b/pom.xml
-index 8b96966..8d1e868 100644
+index 8b96966d..8d1e8680 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,12 @@
@@ -23,7 +23,7 @@ index 8b96966..8d1e868 100644
<version>3.0.3</version>
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
new file mode 100644
-index 0000000..4b4b77a
+index 00000000..4b4b77a5
--- /dev/null
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +1,124 @@
@@ -153,7 +153,7 @@ index 0000000..4b4b77a
+}
diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
new file mode 100644
-index 0000000..b79f1be
+index 00000000..b79f1be7
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
@@ -0,0 +1,126 @@
@@ -285,7 +285,7 @@ index 0000000..b79f1be
+}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
new file mode 100644
-index 0000000..e778911
+index 00000000..e7789117
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,101 @@
@@ -391,7 +391,7 @@ index 0000000..e778911
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index c009c5f..e679890 100644
+index c009c5f1..e6798908 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit;
@@ -435,7 +435,7 @@ index c009c5f..e679890 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index e8511ac..d3f1a4a 100644
+index e8511ac9..d3f1a4ac 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -35,6 +35,15 @@ public class Block {
@@ -455,7 +455,7 @@ index e8511ac..d3f1a4a 100644
public static int getId(Block block) {
return Block.REGISTRY.a(block); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 81fc04e..bd3b160 100644
+index 81fc04ed..bd3b1602 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -900,7 +900,7 @@ public class Chunk {
@@ -503,7 +503,7 @@ index 81fc04e..bd3b160 100644
private void z() {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index daf2c0a..3ba489d 100644
+index daf2c0a6..3ba489d4 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -195,7 +195,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -525,7 +525,7 @@ index daf2c0a..3ba489d 100644
this.chunkLoader.a(this.world, chunk);
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index a97e7d3..4890023 100644
+index a97e7d3c..4890023d 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -402,7 +402,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -565,7 +565,7 @@ index a97e7d3..4890023 100644
// return chunk; // CraftBukkit
}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index cb83e4f..e681913 100644
+index cb83e4f5..e6819139 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -23,7 +23,7 @@ import java.io.PrintStream;
@@ -618,7 +618,7 @@ index cb83e4f..e681913 100644
return waitable.get();
} catch (java.util.concurrent.ExecutionException e) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 2797392..8fd8843 100644
+index 27973925..8fd88431 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -25,7 +25,8 @@ import org.bukkit.block.BlockFace;
@@ -657,7 +657,7 @@ index 2797392..8fd8843 100644
public void recalcPosition() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 318d57e..955e1f7 100644
+index e9002c95..b22f81b1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -31,7 +31,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -728,7 +728,7 @@ index 318d57e..955e1f7 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
-index 347a2b6..aceb08c 100644
+index 347a2b67..aceb08ce 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -175,7 +175,7 @@ public class EntityTracker {
@@ -759,7 +759,7 @@ index 347a2b6..aceb08c 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index d1b488e..8f7b148 100644
+index d1b488e8..8f7b148a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -47,8 +47,8 @@ import org.bukkit.Bukkit;
@@ -900,7 +900,7 @@ index d1b488e..8f7b148 100644
this.methodProfiler.b();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 703d581..021dfba 100644
+index 703d5813..021dfba1 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,5 +1,6 @@
@@ -1000,7 +1000,7 @@ index 703d581..021dfba 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index dc630c5..1248613 100644
+index f2c2bab8..db651f67 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory;
@@ -1011,7 +1011,7 @@ index dc630c5..1248613 100644
// CraftBukkit end
public class PlayerConnection implements PacketListenerPlayIn, ITickable {
-@@ -1325,7 +1326,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
+@@ -1326,7 +1327,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// CraftBukkit end
private void handleCommand(String s) {
@@ -1020,7 +1020,7 @@ index dc630c5..1248613 100644
// CraftBukkit start - whole method
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getName() + " issued server command: " + s);
-@@ -1336,22 +1337,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
+@@ -1337,22 +1338,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
this.server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -1048,7 +1048,7 @@ index dc630c5..1248613 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
-index f74b067..1fc632e 100644
+index f74b0679..1fc632e0 100644
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
@@ -1,15 +1,21 @@
@@ -1078,7 +1078,7 @@ index f74b067..1fc632e 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index c0af82b..676cc3f 100644
+index c0af82b4..676cc3f3 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@@ -1102,7 +1102,7 @@ index c0af82b..676cc3f 100644
public void addWhitelist(GameProfile gameprofile) {
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
-index f1f2065..fb350c4 100644
+index f1f20650..fb350c40 100644
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
@@ -1,5 +1,7 @@
@@ -1144,7 +1144,7 @@ index f1f2065..fb350c4 100644
return flag;
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index 6958a2e..b3d3df4 100644
+index 6958a2e0..b3d3df4c 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -4,12 +4,13 @@ import javax.annotation.Nullable;
@@ -1164,7 +1164,7 @@ index 6958a2e..b3d3df4 100644
private static final RegistryMaterials<MinecraftKey, Class<? extends TileEntity>> f = new RegistryMaterials();
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index b29375a..c2326cd 100644
+index 65f5d63e..216a627d 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,11 +18,11 @@ import com.google.common.collect.Maps;
@@ -1198,7 +1198,7 @@ index b29375a..c2326cd 100644
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
-@@ -1379,6 +1379,7 @@ public abstract class World implements IBlockAccess {
+@@ -1381,6 +1381,7 @@ public abstract class World implements IBlockAccess {
}
this.methodProfiler.c("remove");
@@ -1206,7 +1206,7 @@ index b29375a..c2326cd 100644
this.entityList.removeAll(this.f);
int j;
-@@ -1399,6 +1400,7 @@ public abstract class World implements IBlockAccess {
+@@ -1401,6 +1402,7 @@ public abstract class World implements IBlockAccess {
this.f.clear();
this.l();
@@ -1214,7 +1214,7 @@ index b29375a..c2326cd 100644
this.methodProfiler.c("regular");
CrashReportSystemDetails crashreportsystemdetails1;
-@@ -1408,6 +1410,7 @@ public abstract class World implements IBlockAccess {
+@@ -1410,6 +1412,7 @@ public abstract class World implements IBlockAccess {
timings.entityTick.startTiming(); // Spigot
guardEntityList = true; // Spigot
// CraftBukkit start - Use field for loop variable
@@ -1222,7 +1222,7 @@ index b29375a..c2326cd 100644
int entitiesThisCycle = 0;
if (tickPosition < 0) tickPosition = 0;
for (entityLimiter.initTick();
-@@ -1429,10 +1432,11 @@ public abstract class World implements IBlockAccess {
+@@ -1431,10 +1434,11 @@ public abstract class World implements IBlockAccess {
this.methodProfiler.a("tick");
if (!entity.dead && !(entity instanceof EntityPlayer)) {
try {
@@ -1236,7 +1236,7 @@ index b29375a..c2326cd 100644
crashreport1 = CrashReport.a(throwable1, "Ticking entity");
crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
entity.appendEntityCrashDetails(crashreportsystemdetails1);
-@@ -1565,6 +1569,7 @@ public abstract class World implements IBlockAccess {
+@@ -1567,6 +1571,7 @@ public abstract class World implements IBlockAccess {
}
timings.tileEntityPending.stopTiming(); // Spigot
@@ -1244,7 +1244,7 @@ index b29375a..c2326cd 100644
this.methodProfiler.b();
this.methodProfiler.b();
}
-@@ -1617,7 +1622,6 @@ public abstract class World implements IBlockAccess {
+@@ -1619,7 +1624,6 @@ public abstract class World implements IBlockAccess {
entity.ticksLived++;
entity.inactiveTick();
} else {
@@ -1252,7 +1252,7 @@ index b29375a..c2326cd 100644
// CraftBukkit end
entity.M = entity.locX;
entity.N = entity.locY;
-@@ -1626,6 +1630,7 @@ public abstract class World implements IBlockAccess {
+@@ -1628,6 +1632,7 @@ public abstract class World implements IBlockAccess {
entity.lastPitch = entity.pitch;
if (flag && entity.aa) {
++entity.ticksLived;
@@ -1260,7 +1260,7 @@ index b29375a..c2326cd 100644
if (entity.isPassenger()) {
entity.aw();
} else {
-@@ -1684,8 +1689,6 @@ public abstract class World implements IBlockAccess {
+@@ -1686,8 +1691,6 @@ public abstract class World implements IBlockAccess {
}
}
}
@@ -1270,7 +1270,7 @@ index b29375a..c2326cd 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 391a09c..9669389 100644
+index 391a09c5..96693899 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -247,13 +247,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -1403,7 +1403,7 @@ index 391a09c..9669389 100644
// CraftBukkit start
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 791383f..38ce058 100644
+index 791383fb..38ce0582 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1737,6 +1737,7 @@ public final class CraftServer implements Server {
@@ -1441,7 +1441,7 @@ index 791383f..38ce058 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
deleted file mode 100644
-index 41d2d87..0000000
+index 41d2d87e..00000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,173 +0,0 @@
@@ -1619,7 +1619,7 @@ index 41d2d87..0000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
-index 3a95b44..b5efb9c 100644
+index 3a95b446..b5efb9c3 100644
--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
+++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
@@ -1,6 +1,8 @@
@@ -1663,7 +1663,7 @@ index 3a95b44..b5efb9c 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ed2ccdd..08f3b08 100644
+index ed2ccdd5..08f3b080 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -39,15 +39,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
@@ -1697,7 +1697,7 @@ index ed2ccdd..08f3b08 100644
public Player.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index 92d217b..9952b64 100644
+index 92d217bc..9952b64b 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -14,6 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger;
@@ -1773,7 +1773,7 @@ index 92d217b..9952b64 100644
private boolean isReady(final int currentTick) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
-index 220e39a..afc6c17 100644
+index 220e39ab..afc6c17e 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -1,8 +1,8 @@
@@ -1855,7 +1855,7 @@ index 220e39a..afc6c17 100644
- // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
-index e52ef47..3d90b34 100644
+index e52ef47b..3d90b342 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
@@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon;
@@ -1867,7 +1867,7 @@ index e52ef47..3d90b34 100644
this.value = value;
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index c32d44d..5c2fb00 100644
+index c32d44df..5c2fb005 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither;
@@ -1929,5 +1929,5 @@ index c32d44d..5c2fb00 100644
}
}
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0016-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0016-Player-affects-spawning-API.patch
index 6c3cbd6035..27dc440958 100644
--- a/Spigot-Server-Patches/0016-Player-affects-spawning-API.patch
+++ b/Spigot-Server-Patches/0016-Player-affects-spawning-API.patch
@@ -1,11 +1,11 @@
-From 3f3590bd24fd8de0aea64160d530aa3e8676089d Mon Sep 17 00:00:00 2001
+From 712d5956c8de0c6e33b8bb09bf92c90b19cd7627 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <[email protected]>
Date: Tue, 1 Mar 2016 14:47:52 -0600
Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index ec8f581..43e28d6 100644
+index ec8f581a..43e28d61 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -63,6 +63,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -17,7 +17,7 @@ index ec8f581..43e28d6 100644
// CraftBukkit start
public boolean fauxSleeping;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
-index 21f5df3..a7283d3 100644
+index 21f5df3c..a7283d36 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -616,7 +616,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -30,7 +30,7 @@ index 21f5df3..a7283d3 100644
double d1 = entityhuman.locY - this.locY;
double d2 = entityhuman.locZ - this.locZ;
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
-index 5af51cc..7531c9b 100644
+index 5af51cc0..7531c9ba 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -99,8 +99,7 @@ public class EntitySilverfish extends EntityMonster {
@@ -44,7 +44,7 @@ index 5af51cc..7531c9b 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
-index 17bf3e4..a05fad5 100644
+index 17bf3e41..a05fad54 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -52,7 +52,7 @@ public final class SpawnerCreature {
@@ -57,10 +57,10 @@ index 17bf3e4..a05fad5 100644
j = MathHelper.floor(entityhuman.locZ / 16.0D);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 8265e3e..dd5fe02 100644
+index 40685515..70d62e8d 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -2719,7 +2719,7 @@ public abstract class World implements IBlockAccess {
+@@ -2721,7 +2721,7 @@ public abstract class World implements IBlockAccess {
for (int i = 0; i < this.players.size(); ++i) {
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
@@ -70,7 +70,7 @@ index 8265e3e..dd5fe02 100644
if (d3 < 0.0D || d4 < d3 * d3) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 08f3b08..b6cfd0d 100644
+index 08f3b080..b6cfd0dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1468,6 +1468,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -91,5 +91,5 @@ index 08f3b08..b6cfd0d 100644
private final Player.Spigot spigot = new Player.Spigot()
{
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch
index b218ffc0ab..8a9fc18874 100644
--- a/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch
+++ b/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch
@@ -1,11 +1,11 @@
-From d36a29dd1d783b4872ed28d76ed7d840262a0524 Mon Sep 17 00:00:00 2001
+From 7883878587bcd59f62d9a361ac68b1dc024a85c3 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 1 Mar 2016 23:52:34 -0600
Subject: [PATCH] Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index b3d3df4..d0c0371 100644
+index b3d3df4c..d0c0371f 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -175,7 +175,12 @@ public abstract class TileEntity {
@@ -23,10 +23,10 @@ index b3d3df4..d0c0371 100644
public String a() throws Exception {
int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock());
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index ca641ab..1143b3e 100644
+index e39b966c..9cdc94be 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1444,10 +1444,12 @@ public abstract class World implements IBlockAccess {
+@@ -1446,10 +1446,12 @@ public abstract class World implements IBlockAccess {
entity.tickTimer.stopTiming(); // Paper
} catch (Throwable throwable1) {
entity.tickTimer.stopTiming();
@@ -43,7 +43,7 @@ index ca641ab..1143b3e 100644
}
}
-@@ -1510,10 +1512,13 @@ public abstract class World implements IBlockAccess {
+@@ -1512,10 +1514,13 @@ public abstract class World implements IBlockAccess {
((ITickable) tileentity).F_();
this.methodProfiler.b();
} catch (Throwable throwable2) {
@@ -62,5 +62,5 @@ index ca641ab..1143b3e 100644
// Spigot start
finally {
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch
index ec18bb16cc..60d8608dd5 100644
--- a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch
+++ b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch
@@ -1,11 +1,11 @@
-From 66a919e1275e53a9d28c58b412e473ab6e9baa78 Mon Sep 17 00:00:00 2001
+From e908056a4daf3e4518969e549bf3a48147229fa3 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 1 Mar 2016 23:58:50 -0600
Subject: [PATCH] Configurable top of nether void damage
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 06d1527..2767ffb 100644
+index 06d15276..2767ffb7 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -143,4 +143,10 @@ public class PaperWorldConfig {
@@ -20,7 +20,7 @@ index 06d1527..2767ffb 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 537adb5..7f6d492 100644
+index 1e2e042b..e851e78a 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -394,9 +394,15 @@ public abstract class Entity implements ICommandListener {
@@ -67,10 +67,10 @@ index 537adb5..7f6d492 100644
this.die();
}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-index fdacb6d..ec75bab 100644
+index fd3337d3..ca1faa41 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-@@ -206,9 +206,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
+@@ -204,9 +204,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
this.setDamage(this.getDamage() - 1.0F);
}
@@ -87,5 +87,5 @@ index fdacb6d..ec75bab 100644
int i;
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch b/Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch
index 1fdd3d724f..5c41e5ffcc 100644
--- a/Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch
+++ b/Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch
@@ -1,14 +1,14 @@
-From 90b57bb256a8c8a8f5287583fc2856d60d2deae5 Mon Sep 17 00:00:00 2001
+From 75cf51dbbbd0aa6c336f1a293dbc5a33daecb0f3 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Wed, 2 Mar 2016 23:45:17 -0600
Subject: [PATCH] Disable spigot tick limiters
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 796f6c6..b4dacbe 100644
+index d2b90fda..3c5a3532 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1421,10 +1421,10 @@ public abstract class World implements IBlockAccess {
+@@ -1423,10 +1423,10 @@ public abstract class World implements IBlockAccess {
// CraftBukkit start - Use field for loop variable
co.aikar.timings.TimingHistory.entityTicks += this.entityList.size(); // Paper
int entitiesThisCycle = 0;
@@ -23,7 +23,7 @@ index 796f6c6..b4dacbe 100644
tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0;
entity = (Entity) this.entityList.get(this.tickPosition);
// CraftBukkit end
-@@ -1490,9 +1490,7 @@ public abstract class World implements IBlockAccess {
+@@ -1492,9 +1492,7 @@ public abstract class World implements IBlockAccess {
// Spigot start
// Iterator iterator = this.tileEntityListTick.iterator();
int tilesThisCycle = 0;
@@ -35,5 +35,5 @@ index 796f6c6..b4dacbe 100644
TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition);
// Spigot start
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0050-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0050-Ensure-commands-are-not-ran-async.patch
index e0d076c69a..32f8fd631e 100644
--- a/Spigot-Server-Patches/0050-Ensure-commands-are-not-ran-async.patch
+++ b/Spigot-Server-Patches/0050-Ensure-commands-are-not-ran-async.patch
@@ -1,4 +1,4 @@
-From df13bd01b30384d625284d39cf4d3e53f1b4f3f8 Mon Sep 17 00:00:00 2001
+From d2e3821f21b5bde3936bc82c0b365f489611db3e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 01:17:12 -0600
Subject: [PATCH] Ensure commands are not ran async
@@ -14,10 +14,10 @@ big slowdown in execution but throwing an exception at same time to raise awaren
that it is happening so that plugin authors can fix their code to stop executing commands async.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 04b4980..6d92e6b 100644
+index db651f67..358d5d3b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
-@@ -1258,6 +1258,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
+@@ -1259,6 +1259,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
if (!async && s.startsWith("/")) {
@@ -48,7 +48,7 @@ index 04b4980..6d92e6b 100644
} else if (this.player.getChatFlags() == EntityHuman.EnumChatVisibility.SYSTEM) {
// Do nothing, this is coming from a plugin
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 30ed3ad..a795a16 100644
+index 30ed3ad5..a795a165 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -647,6 +647,29 @@ public final class CraftServer implements Server {
@@ -82,5 +82,5 @@ index 30ed3ad..a795a16 100644
return true;
}
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0058-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0058-Change-implementation-of-tile-entity-removal-list.patch
index 194abc45c6..0b57b779f3 100644
--- a/Spigot-Server-Patches/0058-Change-implementation-of-tile-entity-removal-list.patch
+++ b/Spigot-Server-Patches/0058-Change-implementation-of-tile-entity-removal-list.patch
@@ -1,11 +1,11 @@
-From 37786a98d29978e37f255293e26b5018041495f4 Mon Sep 17 00:00:00 2001
+From aef0d783f0c288be9a2cbb3d4d80f2fe8a765dc0 Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <[email protected]>
Date: Thu, 3 Mar 2016 02:39:54 -0600
Subject: [PATCH] Change implementation of (tile)entity removal list
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 50a4462..e8f5044 100644
+index e851e78a..223b0512 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -121,10 +121,10 @@ public abstract class Entity implements ICommandListener {
@@ -24,7 +24,7 @@ index 50a4462..e8f5044 100644
public boolean impulse;
public int portalCooldown;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index b4dacbe..857b423 100644
+index 3c5a3532..412854b6 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -30,6 +30,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -53,7 +53,7 @@ index b4dacbe..857b423 100644
public final List<EntityHuman> players = Lists.newArrayList();
public final List<Entity> j = Lists.newArrayList();
protected final IntHashMap<Entity> entitiesById = new IntHashMap();
-@@ -1392,20 +1397,20 @@ public abstract class World implements IBlockAccess {
+@@ -1394,20 +1399,20 @@ public abstract class World implements IBlockAccess {
this.entityList.removeAll(this.f);
int j;
@@ -84,5 +84,5 @@ index b4dacbe..857b423 100644
this.f.clear();
this.l();
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch
index ea6bcff300..633f66dde3 100644
--- a/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch
+++ b/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch
@@ -1,4 +1,4 @@
-From d2b86b9051ba6b0bba4f9a4f81793c6231860bbd Mon Sep 17 00:00:00 2001
+From 63975534b050bf243aa688ce5210229565b23715 Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <[email protected]>
Date: Thu, 3 Mar 2016 03:15:41 -0600
Subject: [PATCH] Add exception reporting event
@@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event
diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java
new file mode 100644
-index 000000000..93397188b
+index 00000000..93397188
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java
@@ -0,0 +1,38 @@
@@ -50,7 +50,7 @@ index 000000000..93397188b
+}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index e1fc4ea6c..8f1a68d67 100644
+index e1fc4ea6..8f1a68d6 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -1,5 +1,6 @@
@@ -89,7 +89,7 @@ index e1fc4ea6c..8f1a68d67 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index f7f2d12cf..b0a82e7ed 100644
+index f7f2d12c..b0a82e7e 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -12,6 +12,7 @@ import java.util.Iterator;
@@ -144,7 +144,7 @@ index f7f2d12cf..b0a82e7ed 100644
}
diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
-index 016c64e82..2ff8a6da0 100644
+index 016c64e8..2ff8a6da 100644
--- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
+++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
@@ -1,5 +1,6 @@
@@ -171,7 +171,7 @@ index 016c64e82..2ff8a6da0 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PersistentCollection.java b/src/main/java/net/minecraft/server/PersistentCollection.java
-index 936d6c640..50056f49a 100644
+index 936d6c64..50056f49 100644
--- a/src/main/java/net/minecraft/server/PersistentCollection.java
+++ b/src/main/java/net/minecraft/server/PersistentCollection.java
@@ -1,5 +1,6 @@
@@ -198,7 +198,7 @@ index 936d6c640..50056f49a 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
-index b0279ac3e..be13c1131 100644
+index b0279ac3..be13c113 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -1,5 +1,6 @@
@@ -225,7 +225,7 @@ index b0279ac3e..be13c1131 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
-index 933934fb6..19fbf9b4a 100644
+index 933934fb..19fbf9b4 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -1,5 +1,6 @@
@@ -244,7 +244,7 @@ index 933934fb6..19fbf9b4a 100644
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
-index a05fad54f..29219ec7b 100644
+index a05fad54..29219ec7 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -7,6 +7,7 @@ import java.util.Random;
@@ -272,7 +272,7 @@ index a05fad54f..29219ec7b 100644
}
diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java
-index 7af5b7dd7..2b498024c 100644
+index 7af5b7dd..2b498024 100644
--- a/src/main/java/net/minecraft/server/VillageSiege.java
+++ b/src/main/java/net/minecraft/server/VillageSiege.java
@@ -1,5 +1,7 @@
@@ -292,7 +292,7 @@ index 7af5b7dd7..2b498024c 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 8b8054ca0..b11ebed03 100644
+index 412854b6..22e191ef 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,7 @@
@@ -303,7 +303,7 @@ index 8b8054ca0..b11ebed03 100644
import com.google.common.base.Function;
import com.google.common.base.Objects;
import com.google.common.base.Predicate;
-@@ -1452,8 +1454,10 @@ public abstract class World implements IBlockAccess {
+@@ -1454,8 +1456,10 @@ public abstract class World implements IBlockAccess {
} catch (Throwable throwable1) {
entity.tickTimer.stopTiming();
// Paper start - Prevent tile entity and entity crashes
@@ -315,7 +315,7 @@ index 8b8054ca0..b11ebed03 100644
entity.dead = true;
continue;
// Paper end
-@@ -1518,8 +1522,10 @@ public abstract class World implements IBlockAccess {
+@@ -1520,8 +1524,10 @@ public abstract class World implements IBlockAccess {
this.methodProfiler.b();
} catch (Throwable throwable2) {
// Paper start - Prevent tile entity and entity crashes
@@ -328,7 +328,7 @@ index 8b8054ca0..b11ebed03 100644
this.tileEntityListTick.remove(tileTickPosition--);
continue;
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index 9952b64be..e30cfb7b7 100644
+index 9952b64b..e30cfb7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -15,6 +15,9 @@ import java.util.concurrent.atomic.AtomicReference;
@@ -372,5 +372,5 @@ index 9952b64be..e30cfb7b7 100644
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
--
-2.11.0
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0066-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0066-Complete-resource-pack-API.patch
index 9c6d26d205..185dc305a1 100644
--- a/Spigot-Server-Patches/0066-Complete-resource-pack-API.patch
+++ b/Spigot-Server-Patches/0066-Complete-resource-pack-API.patch
@@ -1,30 +1,29 @@
-From f723b9fa6313d76c8e15f7d597be8e3c0bcac1ae Mon Sep 17 00:00:00 2001
+From e8e13c91dda2297f85ab4adc890637f4848409fe Mon Sep 17 00:00:00 2001
From: Jedediah Smith <[email protected]>
Date: Sat, 4 Apr 2015 23:17:52 -0400
Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 2fb1a3d..87e0707 100644
+index 358d5d3b..f30a9ad6 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
-@@ -1019,7 +1019,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
-
+@@ -1020,7 +1020,12 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// CraftBukkit start
public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) {
+ PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.x());
- this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()]));
-+ //this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()])); // Paper - comment
+ // Paper start
-+ PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.x());
++ //this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()]));
+ final PlayerResourcePackStatusEvent.Status status = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()];
+ this.getPlayer().setResourcePackStatus(status);
+ this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), status));
-+ // paper end
++ // Paper end
}
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a1e46ef..15da24d 100644
+index a1e46efe..15da24d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -74,6 +74,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -72,5 +71,5 @@ index a1e46ef..15da24d 100644
private final Player.Spigot spigot = new Player.Spigot()
{
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0090-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0090-Optimize-isValidLocation-getType-and-getBlockData-fo.patch
index c6eb6fef54..7a6208ae29 100644
--- a/Spigot-Server-Patches/0090-Optimize-isValidLocation-getType-and-getBlockData-fo.patch
+++ b/Spigot-Server-Patches/0090-Optimize-isValidLocation-getType-and-getBlockData-fo.patch
@@ -1,4 +1,4 @@
-From 5514efc07ac11a3023ec54ec4ef3cbe58b812f74 Mon Sep 17 00:00:00 2001
+From 02f6cc91e81fa17215f3085fdd97283b211ed33f Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 02:07:55 -0600
Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling
@@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward.
Optimize getType and getBlockData to manually inline and optimize the calls
diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java
-index d60e755..f772c7c 100644
+index d60e7550..f772c7cd 100644
--- a/src/main/java/net/minecraft/server/BaseBlockPosition.java
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java
@@ -10,6 +10,14 @@ public class BaseBlockPosition implements Comparable<BaseBlockPosition> {
@@ -31,7 +31,7 @@ index d60e755..f772c7c 100644
public BaseBlockPosition(int i, int j, int k) {
this.a = i;
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
-index 67b476b..008ed20 100644
+index 67b476b2..008ed206 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -339,6 +339,16 @@ public class BlockPosition extends BaseBlockPosition {
@@ -52,7 +52,7 @@ index 67b476b..008ed20 100644
public MutableBlockPosition() {
this(0, 0, 0);
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 8f1a68d..736fa1f 100644
+index 8f1a68d6..736fa1f6 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -406,11 +406,26 @@ public class Chunk {
@@ -85,7 +85,7 @@ index 8f1a68d..736fa1f 100644
IBlockData iblockdata = null;
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
-index 3d784d0..afdc4a7 100644
+index 3d784d0d..afdc4a77 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -5,7 +5,7 @@ public class ChunkSection {
@@ -98,7 +98,7 @@ index 3d784d0..afdc4a7 100644
private NibbleArray skyLight;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index c5b5c84..c1d1414 100644
+index 1523301c..3fca13d3 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -273,12 +273,12 @@ public abstract class World implements IBlockAccess {
@@ -227,7 +227,7 @@ index c5b5c84..c1d1414 100644
public boolean B() {
return this.J < 4;
-@@ -2014,7 +2023,7 @@ public abstract class World implements IBlockAccess {
+@@ -2016,7 +2025,7 @@ public abstract class World implements IBlockAccess {
public Map<BlockPosition, TileEntity> capturedTileEntities = Maps.newHashMap();
@Nullable
public TileEntity getTileEntity(BlockPosition blockposition) {
@@ -236,7 +236,7 @@ index c5b5c84..c1d1414 100644
return null;
} else {
// CraftBukkit start
-@@ -2055,7 +2064,7 @@ public abstract class World implements IBlockAccess {
+@@ -2057,7 +2066,7 @@ public abstract class World implements IBlockAccess {
}
public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) {
@@ -245,7 +245,7 @@ index c5b5c84..c1d1414 100644
if (tileentity != null && !tileentity.y()) {
// CraftBukkit start
if (captureBlockStates) {
-@@ -2118,7 +2127,7 @@ public abstract class World implements IBlockAccess {
+@@ -2120,7 +2129,7 @@ public abstract class World implements IBlockAccess {
}
public boolean d(BlockPosition blockposition, boolean flag) {
@@ -255,5 +255,5 @@ index c5b5c84..c1d1414 100644
} else {
Chunk chunk = this.chunkProvider.getLoadedChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4);
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0095-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0095-Entity-AddTo-RemoveFrom-World-Events.patch
index 41d033e78f..f146bfa717 100644
--- a/Spigot-Server-Patches/0095-Entity-AddTo-RemoveFrom-World-Events.patch
+++ b/Spigot-Server-Patches/0095-Entity-AddTo-RemoveFrom-World-Events.patch
@@ -1,14 +1,14 @@
-From e09b7acbdcfdb399602433af50a246e2bcbfb276 Mon Sep 17 00:00:00 2001
+From eba67cd7c25447448c3fbeb37fc5a899108a23c4 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 28 Mar 2016 20:32:58 -0400
Subject: [PATCH] Entity AddTo/RemoveFrom World Events
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 1f12ff5..dd4634e 100644
+index 48cd4c39..ffa0d18b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1180,6 +1180,7 @@ public abstract class World implements IBlockAccess {
+@@ -1182,6 +1182,7 @@ public abstract class World implements IBlockAccess {
}
entity.valid = true; // CraftBukkit
@@ -16,7 +16,7 @@ index 1f12ff5..dd4634e 100644
}
protected void c(Entity entity) {
-@@ -1187,6 +1188,7 @@ public abstract class World implements IBlockAccess {
+@@ -1189,6 +1190,7 @@ public abstract class World implements IBlockAccess {
((IWorldAccess) this.u.get(i)).b(entity);
}
@@ -25,5 +25,5 @@ index 1f12ff5..dd4634e 100644
}
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0106-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0106-Configurable-Keep-Spawn-Loaded-range-per-world.patch
index 325e677333..8e8095a953 100644
--- a/Spigot-Server-Patches/0106-Configurable-Keep-Spawn-Loaded-range-per-world.patch
+++ b/Spigot-Server-Patches/0106-Configurable-Keep-Spawn-Loaded-range-per-world.patch
@@ -1,4 +1,4 @@
-From 4b228df11853e75ad2d1c99fccb53c1f786ce270 Mon Sep 17 00:00:00 2001
+From 9bd768eb024594ce6921d483eb2ecdeb2e59ccf1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 13 Sep 2014 23:14:43 -0400
Subject: [PATCH] Configurable Keep Spawn Loaded range per world
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 615a6af99..6517c3223 100644
+index 615a6af9..6517c322 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -290,4 +290,10 @@ public class PaperWorldConfig {
@@ -21,7 +21,7 @@ index 615a6af99..6517c3223 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index b3454eae6..abffaedbe 100644
+index 3b67ff52..33d23f4b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -356,8 +356,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -39,10 +39,10 @@ index b3454eae6..abffaedbe 100644
if (i1 - j > 1000L) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index a48fafdd4..5028663d0 100644
+index b38a4f12..3ef58f39 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -3191,8 +3191,9 @@ public abstract class World implements IBlockAccess {
+@@ -3193,8 +3193,9 @@ public abstract class World implements IBlockAccess {
int k = i * 16 + 8 - blockposition.getX();
int l = j * 16 + 8 - blockposition.getZ();
boolean flag = true;
@@ -54,7 +54,7 @@ index a48fafdd4..5028663d0 100644
public void a(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 540d57855..8cb8cbe2d 100644
+index 540d5785..8cb8cbe2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -952,7 +952,7 @@ public final class CraftServer implements Server {
@@ -67,7 +67,7 @@ index 540d57855..8cb8cbe2d 100644
for (int j = -short1; j <= short1; j += 16) {
for (int k = -short1; k <= short1; k += 16) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index f65611a6a..9965235ab 100644
+index f65611a6..9965235a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1265,8 +1265,9 @@ public class CraftWorld implements World {
@@ -83,5 +83,5 @@ index f65611a6a..9965235ab 100644
loadChunk(chunkCoordX + x, chunkCoordZ + z);
} else {
--
-2.11.1.windows.1
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0108-Don-t-spam-reload-spawn-chunks-in-nether-end.patch b/Spigot-Server-Patches/0108-Don-t-spam-reload-spawn-chunks-in-nether-end.patch
index 7356aff631..5944acb355 100644
--- a/Spigot-Server-Patches/0108-Don-t-spam-reload-spawn-chunks-in-nether-end.patch
+++ b/Spigot-Server-Patches/0108-Don-t-spam-reload-spawn-chunks-in-nether-end.patch
@@ -1,14 +1,14 @@
-From 0f2249076e9656417279e6382874f5160ede793d Mon Sep 17 00:00:00 2001
+From f598f947d03f1a94dfd8d801737000f96d4d1a4b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 5 Apr 2016 19:42:22 -0400
Subject: [PATCH] Don't spam reload spawn chunks in nether/end
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index d348496..5635646 100644
+index 358c1d43..bad504fe 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -3187,6 +3187,7 @@ public abstract class World implements IBlockAccess {
+@@ -3189,6 +3189,7 @@ public abstract class World implements IBlockAccess {
return this.N;
}
@@ -17,7 +17,7 @@ index d348496..5635646 100644
BlockPosition blockposition = this.getSpawn();
int k = i * 16 + 8 - blockposition.getX();
diff --git a/src/main/java/net/minecraft/server/WorldProvider.java b/src/main/java/net/minecraft/server/WorldProvider.java
-index a27512c..4691b3d 100644
+index a27512c0..4691b3d8 100644
--- a/src/main/java/net/minecraft/server/WorldProvider.java
+++ b/src/main/java/net/minecraft/server/WorldProvider.java
@@ -138,6 +138,6 @@ public abstract class WorldProvider {
@@ -29,5 +29,5 @@ index a27512c..4691b3d 100644
}
}
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0112-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0112-Remove-unused-World-Tile-Entity-List.patch
index db127437ad..b604911f0b 100644
--- a/Spigot-Server-Patches/0112-Remove-unused-World-Tile-Entity-List.patch
+++ b/Spigot-Server-Patches/0112-Remove-unused-World-Tile-Entity-List.patch
@@ -1,4 +1,4 @@
-From 700a03804e098b5366752d5cfde75ca1f9890743 Mon Sep 17 00:00:00 2001
+From 343c8a21870ca24ee63f503631d024b4fc6ef12d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 13 Apr 2016 00:25:28 -0400
Subject: [PATCH] Remove unused World Tile Entity List
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List
Massive hit to performance and it is completely unnecessary.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 5635646..1acb963 100644
+index bad504fe..0c44377f 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -68,7 +68,7 @@ public abstract class World implements IBlockAccess {
@@ -18,7 +18,7 @@ index 5635646..1acb963 100644
public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
private final List<TileEntity> b = Lists.newArrayList();
private final Set<TileEntity> tileEntityListUnload = Sets.newHashSet(); // Paper
-@@ -1566,7 +1566,7 @@ public abstract class World implements IBlockAccess {
+@@ -1568,7 +1568,7 @@ public abstract class World implements IBlockAccess {
// CraftBukkit start - From below, clean up tile entities before ticking them
if (!this.tileEntityListUnload.isEmpty()) {
this.tileEntityListTick.removeAll(this.tileEntityListUnload);
@@ -27,7 +27,7 @@ index 5635646..1acb963 100644
this.tileEntityListUnload.clear();
}
// CraftBukkit end
-@@ -1617,7 +1617,7 @@ public abstract class World implements IBlockAccess {
+@@ -1619,7 +1619,7 @@ public abstract class World implements IBlockAccess {
if (tileentity.y()) {
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
@@ -36,7 +36,7 @@ index 5635646..1acb963 100644
if (this.isLoaded(tileentity.getPosition())) {
this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition());
}
-@@ -1655,7 +1655,7 @@ public abstract class World implements IBlockAccess {
+@@ -1657,7 +1657,7 @@ public abstract class World implements IBlockAccess {
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
// CraftBukkit start
// From above, don't screw this up - SPIGOT-1746
@@ -45,7 +45,7 @@ index 5635646..1acb963 100644
this.a(tileentity1);
}
// CraftBukkit end
-@@ -1675,9 +1675,9 @@ public abstract class World implements IBlockAccess {
+@@ -1677,9 +1677,9 @@ public abstract class World implements IBlockAccess {
protected void l() {}
public boolean a(TileEntity tileentity) {
@@ -57,7 +57,7 @@ index 5635646..1acb963 100644
this.tileEntityListTick.add(tileentity);
}
-@@ -2111,7 +2111,7 @@ public abstract class World implements IBlockAccess {
+@@ -2113,7 +2113,7 @@ public abstract class World implements IBlockAccess {
} else {
if (tileentity != null) {
this.b.remove(tileentity);
@@ -67,5 +67,5 @@ index 5635646..1acb963 100644
}
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0119-Prevent-Fire-from-loading-chunks.patch b/Spigot-Server-Patches/0119-Prevent-Fire-from-loading-chunks.patch
index 73c784a8c4..fe02354bba 100644
--- a/Spigot-Server-Patches/0119-Prevent-Fire-from-loading-chunks.patch
+++ b/Spigot-Server-Patches/0119-Prevent-Fire-from-loading-chunks.patch
@@ -1,4 +1,4 @@
-From 7c16eb68a4f367726dcc39715d2ff66b9e13d18f Mon Sep 17 00:00:00 2001
+From d2497d7d2334e93387915c5f82cbb9c68d72a8f1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 17 Apr 2016 17:27:09 -0400
Subject: [PATCH] Prevent Fire from loading chunks
@@ -7,10 +7,10 @@ This causes the nether to spam unload/reload chunks, plus overall
bad behavior.
diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java
-index 20eb42d..1f2bc1e 100644
+index 94cb9d46..dfc32885 100644
--- a/src/main/java/net/minecraft/server/BlockFire.java
+++ b/src/main/java/net/minecraft/server/BlockFire.java
-@@ -162,6 +162,7 @@ public class BlockFire extends Block {
+@@ -164,6 +164,7 @@ public class BlockFire extends Block {
}
BlockPosition blockposition1 = blockposition.a(j, l, k);
@@ -18,14 +18,16 @@ index 20eb42d..1f2bc1e 100644
int j1 = this.d(world, blockposition1);
if (j1 > 0) {
-@@ -230,10 +231,12 @@ public class BlockFire extends Block {
+@@ -232,10 +233,14 @@ public class BlockFire extends Block {
}
- private void a(World world, BlockPosition blockposition, int i, Random random, int j) {
+ private void a(World world, BlockPosition blockposition, int i, Random random, int j, BlockPosition sourceposition) { // CraftBukkit add sourceposition
- int k = this.c(world.getType(blockposition).getBlock());
-+ final IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
-+ if (iblockdata == null) return; // Paper
-+ int k = this.c(iblockdata.getBlock()); // Paper
++ // Paper start
++ final IBlockData iblockdata = world.getTypeIfLoaded(blockposition);
++ if (iblockdata == null) return;
++ int k = this.c(iblockdata.getBlock());
++ // Paper end
if (random.nextInt(i) < k) {
- IBlockData iblockdata = world.getType(blockposition);
@@ -33,7 +35,7 @@ index 20eb42d..1f2bc1e 100644
// CraftBukkit start
org.bukkit.block.Block theBlock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
-@@ -291,7 +294,9 @@ public class BlockFire extends Block {
+@@ -294,7 +299,9 @@ public class BlockFire extends Block {
for (int k = 0; k < j; ++k) {
EnumDirection enumdirection = aenumdirection[k];
@@ -45,5 +47,5 @@ index 20eb42d..1f2bc1e 100644
return i;
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0127-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0127-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index 27c94a07a3..6ef5fc4944 100644
--- a/Spigot-Server-Patches/0127-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/Spigot-Server-Patches/0127-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -1,4 +1,4 @@
-From 30b393ec80969343be6ee7461d490f38f1c1cad9 Mon Sep 17 00:00:00 2001
+From e92bcd0dd3c83f7542dce25ff719ef539afca847 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 29 Apr 2016 20:02:00 -0400
Subject: [PATCH] Improve Maps (in item frames) performance and bug fixes
@@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
Additionally, numerous issues to player position tracking on maps has been fixed.
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 43e28d6..af173a1 100644
+index 43e28d61..af173a13 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -597,6 +597,12 @@ public abstract class EntityHuman extends EntityLiving {
@@ -30,7 +30,7 @@ index 43e28d6..af173a1 100644
ItemStack itemstack1 = this.a(entityitem);
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
-index f542bf4..fbda70a 100644
+index f542bf49..fbda70a3 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -90,11 +90,11 @@ public class EntityTrackerEntry {
@@ -48,10 +48,10 @@ index f542bf4..fbda70a 100644
Iterator iterator = this.trackedPlayers.iterator(); // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 2a23e29..651ab32 100644
+index 0c44377f..64deb12d 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1217,6 +1217,7 @@ public abstract class World implements IBlockAccess {
+@@ -1219,6 +1219,7 @@ public abstract class World implements IBlockAccess {
{
if ( iter.next().trackee == entity )
{
@@ -60,7 +60,7 @@ index 2a23e29..651ab32 100644
}
}
diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java
-index dd5412e..dbe6a80 100644
+index dd5412e6..dbe6a80f 100644
--- a/src/main/java/net/minecraft/server/WorldMap.java
+++ b/src/main/java/net/minecraft/server/WorldMap.java
@@ -28,6 +28,7 @@ public class WorldMap extends PersistentBase {
@@ -132,7 +132,7 @@ index dd5412e..dbe6a80 100644
for ( org.bukkit.map.MapCursor cursor : render.cursors) {
diff --git a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
-index 256a131..5768cd5 100644
+index 256a1317..5768cd51 100644
--- a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
+++ b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
@@ -5,7 +5,7 @@ import org.bukkit.map.MapCursor;
@@ -145,5 +145,5 @@ index 256a131..5768cd5 100644
public RenderData() {
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0154-Disable-ticking-of-snow-blocks.patch b/Spigot-Server-Patches/0154-Disable-ticking-of-snow-blocks.patch
index 7f7d278d09..4d931ff351 100644
--- a/Spigot-Server-Patches/0154-Disable-ticking-of-snow-blocks.patch
+++ b/Spigot-Server-Patches/0154-Disable-ticking-of-snow-blocks.patch
@@ -1,11 +1,11 @@
-From 6bff5130a0838566555545d8ecd62b3eaef7a1e5 Mon Sep 17 00:00:00 2001
+From 6ee16b4ee6ac964aaec0f126d5f8e32423e745e8 Mon Sep 17 00:00:00 2001
From: killme <[email protected]>
Date: Tue, 30 Aug 2016 16:39:48 +0200
Subject: [PATCH] Disable ticking of snow blocks
diff --git a/src/main/java/net/minecraft/server/BlockSnowBlock.java b/src/main/java/net/minecraft/server/BlockSnowBlock.java
-index f69dc17..51924fe 100644
+index 8123d729..b6765e5b 100644
--- a/src/main/java/net/minecraft/server/BlockSnowBlock.java
+++ b/src/main/java/net/minecraft/server/BlockSnowBlock.java
@@ -6,7 +6,7 @@ public class BlockSnowBlock extends Block {
@@ -25,8 +25,8 @@ index f69dc17..51924fe 100644
+ /*
public void b(World world, BlockPosition blockposition, IBlockData iblockdata, Random random) {
if (world.getBrightness(EnumSkyBlock.BLOCK, blockposition) > 11) {
- this.b(world, blockposition, world.getType(blockposition), 0);
-@@ -25,4 +27,6 @@ public class BlockSnowBlock extends Block {
+ // CraftBukkit start
+@@ -30,4 +32,6 @@ public class BlockSnowBlock extends Block {
}
}
@@ -34,5 +34,5 @@ index f69dc17..51924fe 100644
+ //Paper end
}
--
-2.9.3
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0159-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0159-Chunk-registration-fixes.patch
index 84c209e444..59ba8cd89d 100644
--- a/Spigot-Server-Patches/0159-Chunk-registration-fixes.patch
+++ b/Spigot-Server-Patches/0159-Chunk-registration-fixes.patch
@@ -1,4 +1,4 @@
-From 3cf59989e5b9a17e4186943fa44ef2b90ce192d8 Mon Sep 17 00:00:00 2001
+From 2f9b6710969db1be24ea204412272757407d816e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 21 Sep 2016 22:54:28 -0400
Subject: [PATCH] Chunk registration fixes
@@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
Keep them consistent
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index ae1edb009..ee3f14cca 100644
+index 4b6275a8..416c484b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1760,7 +1760,7 @@ public abstract class World implements IBlockAccess {
+@@ -1762,7 +1762,7 @@ public abstract class World implements IBlockAccess {
}
int k = MathHelper.floor(entity.locX / 16.0D);
@@ -21,5 +21,5 @@ index ae1edb009..ee3f14cca 100644
if (!entity.aa || entity.ab != k || entity.ac != l || entity.ad != i1) {
--
-2.11.0
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0165-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0165-Add-EntityZapEvent.patch
index 0b592088b4..6805357f2b 100644
--- a/Spigot-Server-Patches/0165-Add-EntityZapEvent.patch
+++ b/Spigot-Server-Patches/0165-Add-EntityZapEvent.patch
@@ -1,11 +1,11 @@
-From aeac2456514f88556905fdca2e008fda6a5778b6 Mon Sep 17 00:00:00 2001
+From f53a6a32b2bb709e9373fedb593b6821e352f284 Mon Sep 17 00:00:00 2001
From: AlphaBlend <[email protected]>
Date: Sun, 16 Oct 2016 23:19:30 -0700
Subject: [PATCH] Add EntityZapEvent
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
-index 88bd674ba..80ad25c1b 100644
+index 88bd674b..80ad25c1 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
@@ -159,6 +159,12 @@ public class EntityPig extends EntityAnimal {
@@ -22,7 +22,7 @@ index 88bd674ba..80ad25c1b 100644
if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) {
return;
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index ee11691bf..4ad75468c 100644
+index ee11691b..4ad75468 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -616,6 +616,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
@@ -48,10 +48,10 @@ index ee11691bf..4ad75468c 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 34dd048f4..ceefe8f5d 100644
+index 95b12331..4d252aa4 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -671,6 +671,14 @@ public class CraftEventFactory {
+@@ -673,6 +673,14 @@ public class CraftEventFactory {
return event;
}
@@ -67,5 +67,5 @@ index 34dd048f4..ceefe8f5d 100644
HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power);
horse.getBukkitEntity().getServer().getPluginManager().callEvent(event);
--
-2.11.0
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0175-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0175-Add-source-to-PlayerExpChangeEvent.patch
index ee5dad62ae..65d133eeb2 100644
--- a/Spigot-Server-Patches/0175-Add-source-to-PlayerExpChangeEvent.patch
+++ b/Spigot-Server-Patches/0175-Add-source-to-PlayerExpChangeEvent.patch
@@ -1,11 +1,11 @@
-From 94b01cbf4c1ae079c558720c06a4e19f8573a226 Mon Sep 17 00:00:00 2001
+From 9b170d015adf3f9c502c7d1c9b6b3ee26e9d2f31 Mon Sep 17 00:00:00 2001
From: AlphaBlend <[email protected]>
Date: Thu, 8 Sep 2016 08:48:33 -0700
Subject: [PATCH] Add source to PlayerExpChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 4b3816465..14431b8ad 100644
+index 4b381646..14431b8a 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -172,7 +172,7 @@ public class EntityExperienceOrb extends Entity {
@@ -18,7 +18,7 @@ index 4b3816465..14431b8ad 100644
this.die();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ceefe8f5d..104c3ce1d 100644
+index 4d252aa4..7e4982d9 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -45,6 +45,7 @@ import org.bukkit.entity.Player;
@@ -29,7 +29,7 @@ index ceefe8f5d..104c3ce1d 100644
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.block.*;
-@@ -643,6 +644,17 @@ public class CraftEventFactory {
+@@ -645,6 +646,17 @@ public class CraftEventFactory {
return event;
}
@@ -48,5 +48,5 @@ index ceefe8f5d..104c3ce1d 100644
Block block = world.getWorld().getBlockAt(x, y, z);
CraftBlockState state = (CraftBlockState) block.getState();
--
-2.11.0
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0179-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0179-Add-ProjectileCollideEvent.patch
index e014497d9f..3ee5b37eb3 100644
--- a/Spigot-Server-Patches/0179-Add-ProjectileCollideEvent.patch
+++ b/Spigot-Server-Patches/0179-Add-ProjectileCollideEvent.patch
@@ -1,11 +1,11 @@
-From bd732661c1ea17893a42fb8c6d6a301d3d411b87 Mon Sep 17 00:00:00 2001
+From c155f03d606fa1536e7a337990e7be51783ef5f3 Mon Sep 17 00:00:00 2001
From: Techcable <[email protected]>
Date: Fri, 16 Dec 2016 21:25:39 -0600
Subject: [PATCH] Add ProjectileCollideEvent
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
-index 8cda47518..79ca071bc 100644
+index 8cda4751..79ca071b 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -190,6 +190,15 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@@ -25,7 +25,7 @@ index 8cda47518..79ca071bc 100644
this.a(movingobjectposition);
}
diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java
-index 789de85d1..d5c9d24cf 100644
+index 789de85d..d5c9d24c 100644
--- a/src/main/java/net/minecraft/server/EntityFireball.java
+++ b/src/main/java/net/minecraft/server/EntityFireball.java
@@ -70,6 +70,15 @@ public abstract class EntityFireball extends Entity {
@@ -45,7 +45,7 @@ index 789de85d1..d5c9d24cf 100644
this.a(movingobjectposition);
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
-index 606160a17..b78e0e49e 100644
+index 606160a1..b78e0e49 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -240,6 +240,16 @@ public class EntityFishingHook extends Entity {
@@ -66,7 +66,7 @@ index 606160a17..b78e0e49e 100644
vec3d1 = new Vec3D(movingobjectposition.pos.x, movingobjectposition.pos.y, movingobjectposition.pos.z);
}
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
-index 6fbc84559..a8b9d9263 100644
+index 6fbc8455..a8b9d926 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -160,6 +160,15 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
@@ -86,10 +86,10 @@ index 6fbc84559..a8b9d9263 100644
if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.PORTAL) {
this.e(movingobjectposition.a());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 104c3ce1d..a7f827b67 100644
+index 7e4982d9..a850a963 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -792,6 +792,16 @@ public class CraftEventFactory {
+@@ -794,6 +794,16 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}
@@ -107,5 +107,5 @@ index 104c3ce1d..a7f827b67 100644
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
--
-2.11.0
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0180-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0180-Vanished-players-don-t-have-rights.patch
index dbb2060063..a79a95321f 100644
--- a/Spigot-Server-Patches/0180-Vanished-players-don-t-have-rights.patch
+++ b/Spigot-Server-Patches/0180-Vanished-players-don-t-have-rights.patch
@@ -1,11 +1,11 @@
-From e4f7d637a8e86123e5f99e825ed52558edce0043 Mon Sep 17 00:00:00 2001
+From 55ef237370676a3f8e7ac3a13d9fe05b01fba0ac Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Fri, 16 Dec 2016 22:10:35 -0600
Subject: [PATCH] Vanished players don't have rights
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 66563584f..4582b44ca 100644
+index d12b7d87..a75f50ef 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -68,7 +68,7 @@ public abstract class Entity implements ICommandListener {
@@ -18,7 +18,7 @@ index 66563584f..4582b44ca 100644
protected int j;
private Entity au;public void setVehicle(Entity entity) { this.au = entity; } // Paper // OBFHELPER
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
-index eb32871bd..a380e615b 100644
+index eb32871b..a380e615 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -20,7 +20,7 @@ public class ItemBlock extends Item {
@@ -31,10 +31,10 @@ index eb32871bd..a380e615b 100644
IBlockData iblockdata1 = this.a.getPlacedState(world, blockposition, enumdirection, f, f1, f2, i, entityhuman);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 5ea201ed9..fbdc450d1 100644
+index d8c07768..eea9c598 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1796,6 +1796,33 @@ public abstract class World implements IBlockAccess {
+@@ -1798,6 +1798,33 @@ public abstract class World implements IBlockAccess {
return this.a(axisalignedbb, (Entity) null);
}
@@ -68,7 +68,7 @@ index 5ea201ed9..fbdc450d1 100644
public boolean a(AxisAlignedBB axisalignedbb, @Nullable Entity entity) {
List list = this.getEntities((Entity) null, axisalignedbb);
-@@ -2680,7 +2707,7 @@ public abstract class World implements IBlockAccess {
+@@ -2682,7 +2709,7 @@ public abstract class World implements IBlockAccess {
AxisAlignedBB axisalignedbb = flag ? null : block.getBlockData().c(this, blockposition);
// CraftBukkit start - store default return
@@ -78,10 +78,10 @@ index 5ea201ed9..fbdc450d1 100644
this.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a7f827b67..21a8cc7f0 100644
+index a850a963..59942d9c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -797,6 +797,13 @@ public class CraftEventFactory {
+@@ -799,6 +799,13 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.entity.getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);
@@ -96,5 +96,5 @@ index a7f827b67..21a8cc7f0 100644
return event;
}
--
-2.11.0
+2.12.0.windows.1
diff --git a/Spigot-Server-Patches/0187-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0187-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
index e51b85ffa9..2a6995a5df 100644
--- a/Spigot-Server-Patches/0187-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
+++ b/Spigot-Server-Patches/0187-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
@@ -1,11 +1,11 @@
-From dad89fd5e206bc4c96bc01e552022513c6d39afa Mon Sep 17 00:00:00 2001
+From 3788bfea0a0f0b8dd5f856e8fc97c1ba6417359f Mon Sep 17 00:00:00 2001
From: kashike <[email protected]>
Date: Wed, 21 Dec 2016 11:52:04 -0600
Subject: [PATCH] Option to prevent armor stands from doing entity lookups
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index a655b3310..e8762c487 100644
+index a655b331..e8762c48 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -409,4 +409,9 @@ public class PaperWorldConfig {
@@ -19,10 +19,10 @@ index a655b3310..e8762c487 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index fbdc450d1..869c11f81 100644
+index eea9c598..fa251672 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1329,6 +1329,7 @@ public abstract class World implements IBlockAccess {
+@@ -1331,6 +1331,7 @@ public abstract class World implements IBlockAccess {
this.a(entity, axisalignedbb, false, arraylist);
if (entity != null) {
@@ -31,5 +31,5 @@ index fbdc450d1..869c11f81 100644
for (int i = 0; i < list.size(); ++i) {
--
-2.11.0
+2.12.0.windows.1
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 2eb7b9fd887cb2b2257ca9f09435c0ab72a393f
+Subproject dd4b40424c2afeca8bb5f5bb6234db1ee35933f
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject cb61ac0404a52ba8c3f6ab8d92304aeeb625084
+Subproject 2aa5ac6c92a0e53ae917cae348d662d014ef936
diff --git a/work/Spigot b/work/Spigot
-Subproject 283de8b687227d823f4f27992e1ee5f8e690fe2
+Subproject 96235abb3d06748ce050436c0109346fef7348a