diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index f82c3bb1bb..7b36718622 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 59a7ce865916d62eafb935fa6317d16938e28df7 Mon Sep 17 00:00:00 2001 +From 3586286523db67ea246cf1e37a9693b8c6f902c6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 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 0000000000..4f624e39c7 +index 000000000..4f624e39c --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,125 @@ @@ -137,7 +137,7 @@ index 0000000000..4f624e39c7 +} 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 0000000000..0bb63600f3 +index 000000000..0bb63600f --- /dev/null +++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java @@ -0,0 +1,180 @@ @@ -323,7 +323,7 @@ index 0000000000..0bb63600f3 +} 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 0000000000..145cb274b0 +index 000000000..145cb274b --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,104 @@ @@ -432,7 +432,7 @@ index 0000000000..145cb274b0 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5ab2cf6eec..b5795b6d34 100644 +index 5ab2cf6ee..b5795b6d3 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; @@ -476,7 +476,7 @@ index 5ab2cf6eec..b5795b6d34 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index ffb91b27b0..ff110c8e95 100644 +index ffb91b27b..ff110c8e9 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -29,8 +29,17 @@ public class Block implements IMaterial { @@ -500,7 +500,7 @@ index ffb91b27b0..ff110c8e95 100644 Object2ByteLinkedOpenHashMap object2bytelinkedopenhashmap = new Object2ByteLinkedOpenHashMap(200) { protected void rehash(int i) {} diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 5164e5c928..0c2386f5ec 100644 +index 5164e5c92..0c2386f5e 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,6 +14,7 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -531,7 +531,7 @@ index 5164e5c928..0c2386f5ec 100644 return chunk1; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0296d3ef02..badfe86b22 100644 +index 0296d3ef0..badfe86b2 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -221,7 +221,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -544,7 +544,7 @@ index 0296d3ef02..badfe86b22 100644 this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 90d8571053..3a0e52d882 100644 +index 90d857105..3a0e52d88 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -591,7 +591,7 @@ index 90d8571053..3a0e52d882 100644 } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 9155aa727d..a3d58b5ce5 100644 +index 9155aa727..a3d58b5ce 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level; @@ -644,7 +644,7 @@ index 9155aa727d..a3d58b5ce5 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 7a17a4ff99..2ed362791b 100644 +index 7a17a4ff9..2ed362791 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -683,7 +683,7 @@ index 7a17a4ff99..2ed362791b 100644 protected float ab() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3c1adeea65..d7a8a82a6a 100644 +index b6dd6dc5d..f1840f4fa 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -695,7 +695,7 @@ index 3c1adeea65..d7a8a82a6a 100644 public abstract class EntityLiving extends Entity { -@@ -1982,7 +1982,6 @@ public abstract class EntityLiving extends Entity { +@@ -1984,7 +1984,6 @@ public abstract class EntityLiving extends Entity { } public void tick() { @@ -703,7 +703,7 @@ index 3c1adeea65..d7a8a82a6a 100644 super.tick(); this.cU(); this.o(); -@@ -2056,9 +2055,7 @@ public abstract class EntityLiving extends Entity { +@@ -2058,9 +2057,7 @@ public abstract class EntityLiving extends Entity { } } @@ -713,7 +713,7 @@ index 3c1adeea65..d7a8a82a6a 100644 double d0 = this.locX - this.lastX; double d1 = this.locZ - this.lastZ; float f = (float) (d0 * d0 + d1 * d1); -@@ -2134,8 +2131,6 @@ public abstract class EntityLiving extends Entity { +@@ -2136,8 +2133,6 @@ public abstract class EntityLiving extends Entity { } else { this.bv = 0; } @@ -722,7 +722,7 @@ index 3c1adeea65..d7a8a82a6a 100644 } protected float e(float f, float f1) { -@@ -2205,7 +2200,6 @@ public abstract class EntityLiving extends Entity { +@@ -2207,7 +2202,6 @@ public abstract class EntityLiving extends Entity { } this.world.methodProfiler.a("ai"); @@ -730,7 +730,7 @@ index 3c1adeea65..d7a8a82a6a 100644 if (this.isFrozen()) { this.bg = false; this.bh = 0.0F; -@@ -2216,7 +2210,6 @@ public abstract class EntityLiving extends Entity { +@@ -2218,7 +2212,6 @@ public abstract class EntityLiving extends Entity { this.doTick(); this.world.methodProfiler.e(); } @@ -738,7 +738,7 @@ index 3c1adeea65..d7a8a82a6a 100644 this.world.methodProfiler.e(); this.world.methodProfiler.a("jump"); -@@ -2241,9 +2234,7 @@ public abstract class EntityLiving extends Entity { +@@ -2243,9 +2236,7 @@ public abstract class EntityLiving extends Entity { this.n(); AxisAlignedBB axisalignedbb = this.getBoundingBox(); @@ -748,7 +748,7 @@ index 3c1adeea65..d7a8a82a6a 100644 this.world.methodProfiler.e(); this.world.methodProfiler.a("push"); if (this.bw > 0) { -@@ -2251,9 +2242,7 @@ public abstract class EntityLiving extends Entity { +@@ -2253,9 +2244,7 @@ public abstract class EntityLiving extends Entity { this.a(axisalignedbb, this.getBoundingBox()); } @@ -759,7 +759,7 @@ index 3c1adeea65..d7a8a82a6a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ae31935c48..70c9b1f50c 100644 +index ae31935c4..70c9b1f50 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -168,7 +168,7 @@ public class EntityTracker { @@ -790,7 +790,7 @@ index ae31935c48..70c9b1f50c 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bcdd9e0fa4..590eb507c0 100644 +index d813c72e1..61ec088d2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,6 @@ @@ -944,7 +944,7 @@ index bcdd9e0fa4..590eb507c0 100644 this.methodProfiler.e(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ac6d8cc6e6..d975c2ccf1 100644 +index ac6d8cc6e..d975c2ccf 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -1038,7 +1038,7 @@ index ac6d8cc6e6..d975c2ccf1 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 6f21b01a83..359aa3997a 100644 +index 6f21b01a8..359aa3997 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -1077,7 +1077,7 @@ index 6f21b01a83..359aa3997a 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index 889b32287e..69da194f52 100644 +index 889b32287..69da194f5 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,11 +1,17 @@ @@ -1100,7 +1100,7 @@ index 889b32287e..69da194f52 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0156175fb8..1e3dd22e5a 100644 +index 0156175fb..1e3dd22e5 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1124,7 +1124,7 @@ index 0156175fb8..1e3dd22e5a 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index a07895935e..ee5c2421bb 100644 +index a07895935..ee5c2421b 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -24,13 +24,19 @@ public class TickListServer implements TickList { @@ -1178,7 +1178,7 @@ index a07895935e..ee5c2421bb 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index b992360ac2..5b7f6ca84c 100644 +index b992360ac..5b7f6ca84 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; @@ -1198,7 +1198,7 @@ index b992360ac2..5b7f6ca84c 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 330ea4e72e..e6b916a5db 100644 +index 330ea4e72..e6b916a5d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,6 @@ @@ -1313,7 +1313,7 @@ index 330ea4e72e..e6b916a5db 100644 public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index cecc9bc623..271d75c48d 100644 +index cecc9bc62..271d75c48 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,6 @@ @@ -1429,7 +1429,7 @@ index cecc9bc623..271d75c48d 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 88766d30d8..d33f237b76 100644 +index 60182cecf..33826231d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1853,12 +1853,31 @@ public final class CraftServer implements Server { @@ -1466,7 +1466,7 @@ index 88766d30d8..d33f237b76 100644 org.spigotmc.RestartCommand.restart(); 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 4c8ab2bc97..0000000000 +index 4c8ab2bc9..000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,174 +0,0 @@ @@ -1645,7 +1645,7 @@ index 4c8ab2bc97..0000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 413dd35f06..52a8c48fa4 100644 +index 413dd35f0..52a8c48fa 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 @@ @@ -1681,7 +1681,7 @@ index 413dd35f06..52a8c48fa4 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 0a2199b6a5..fad258f116 100644 +index 0a2199b6a..fad258f11 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1665,6 +1665,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1698,7 +1698,7 @@ index 0a2199b6a5..fad258f116 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 f11bd7545f..93b9134d6e 100644 +index f11bd7545..93b9134d6 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; @@ -1774,7 +1774,7 @@ index f11bd7545f..93b9134d6e 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 7e7ce9a81b..46029ce246 100644 +index 7e7ce9a81..46029ce24 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 @@ @@ -1856,7 +1856,7 @@ index 7e7ce9a81b..46029ce246 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 e52ef47b78..3d90b34268 100644 +index e52ef47b7..3d90b3426 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; @@ -1868,7 +1868,7 @@ index e52ef47b78..3d90b34268 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e60fe5a920..f68e42c4d4 100644 +index e60fe5a92..f68e42c4d 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither; diff --git a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch index 6742be6118..c400cc82a1 100644 --- a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch @@ -1,4 +1,4 @@ -From 8310c9fbbc16dd134af47991b8fd2b94ec6972f7 Mon Sep 17 00:00:00 2001 +From b51264983f1041ab516cbc32f6973fe9615826bd Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:09:29 -0600 Subject: [PATCH] Further improve server tick loop @@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4889a82a2..2e691b9f6 100644 +index cba7c18f2..093190108 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -141,17 +141,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -141,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; public ConsoleReader reader; @@ -24,7 +24,8 @@ index 4889a82a2..2e691b9f6 100644 public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; - public File bukkitDataPackFolder; +@@ -149,10 +149,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + public CommandDispatcher vanillaCommandDispatcher; // CraftBukkit end // Spigot start - public static final int TPS = 20; @@ -148,7 +149,7 @@ index 4889a82a2..2e691b9f6 100644 } lastTick = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 34a07a7e7..6e152fe17 100644 +index a1a0a9b34..f39ddbf09 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1850,6 +1850,17 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch index d5b90354ec..5ad06dff00 100644 --- a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch +++ b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch @@ -1,11 +1,11 @@ -From 615504d69426ef74c5f9e55af1daaa5e37221abd Mon Sep 17 00:00:00 2001 +From 2c3fc9d8180148edd78d5ce513eb6bd792cf7d0c Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:48:03 -0600 Subject: [PATCH] Disable explosion knockback diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 3626aa717d..be92c1af60 100644 +index 3626aa717..be92c1af6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -147,4 +147,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index 3626aa717d..be92c1af60 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d7a8a82a6a..18dd06980f 100644 +index f1840f4fa..17955d0f7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -1002,6 +1002,7 @@ public abstract class EntityLiving extends Entity { +@@ -1004,6 +1004,7 @@ public abstract class EntityLiving extends Entity { } } @@ -30,7 +30,7 @@ index d7a8a82a6a..18dd06980f 100644 if (flag1) { if (flag) { this.world.broadcastEntityEffect(this, (byte) 29); -@@ -1018,6 +1019,7 @@ public abstract class EntityLiving extends Entity { +@@ -1020,6 +1021,7 @@ public abstract class EntityLiving extends Entity { b0 = 2; } @@ -38,7 +38,7 @@ index d7a8a82a6a..18dd06980f 100644 this.world.broadcastEntityEffect(this, b0); } -@@ -1041,6 +1043,8 @@ public abstract class EntityLiving extends Entity { +@@ -1043,6 +1045,8 @@ public abstract class EntityLiving extends Entity { } } @@ -48,7 +48,7 @@ index d7a8a82a6a..18dd06980f 100644 if (!this.e(damagesource)) { SoundEffect soundeffect = this.cr(); diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 8fdcd52b2f..75b21010b8 100644 +index 8fdcd52b2..75b21010b 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -152,7 +152,7 @@ public class Explosion { diff --git a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch index 9e8d20b63f..f31d53a6ca 100644 --- a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From 8025896d1051dc63efd41729fc4433bc18f66e61 Mon Sep 17 00:00:00 2001 +From 4535caf1f24d08822aa9144f91c6b40edb0dcf19 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -204,7 +204,7 @@ index d41459ef0..cadff64bf 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 3b73e52fa..e43a24989 100644 +index 86ae0a4b6..86c61abe4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,12 +8,14 @@ import java.lang.reflect.Constructor; @@ -222,7 +222,7 @@ index 3b73e52fa..e43a24989 100644 import net.minecraft.server.NBTBase; import net.minecraft.server.NBTTagCompound; import net.minecraft.server.NBTTagList; -@@ -46,6 +48,7 @@ import java.util.Arrays; +@@ -47,6 +49,7 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.HashSet; import java.util.Set; @@ -230,7 +230,7 @@ index 3b73e52fa..e43a24989 100644 import java.util.logging.Level; import java.util.logging.Logger; import net.minecraft.server.NBTCompressedStreamTools; -@@ -233,7 +236,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -234,7 +237,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private IChatBaseComponent displayName; private IChatBaseComponent locName; private List lore; @@ -239,7 +239,7 @@ index 3b73e52fa..e43a24989 100644 private int repairCost; private int hideFlag; private boolean unbreakable; -@@ -242,7 +245,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -243,7 +246,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private static final Set HANDLED_TAGS = Sets.newHashSet(); private NBTTagCompound internalTag; @@ -248,7 +248,7 @@ index 3b73e52fa..e43a24989 100644 CraftMetaItem(CraftMetaItem meta) { if (meta == null) { -@@ -257,7 +260,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -258,7 +261,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } if (meta.enchantments != null) { // Spigot @@ -257,7 +257,7 @@ index 3b73e52fa..e43a24989 100644 } this.repairCost = meta.repairCost; -@@ -482,13 +485,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -491,13 +494,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } @@ -273,7 +273,7 @@ index 3b73e52fa..e43a24989 100644 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -563,13 +566,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -572,13 +575,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { void deserializeInternal(NBTTagCompound tag) { } @@ -289,7 +289,7 @@ index 3b73e52fa..e43a24989 100644 for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -724,13 +727,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -733,13 +736,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } public Map getEnchants() { @@ -305,7 +305,7 @@ index 3b73e52fa..e43a24989 100644 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -918,7 +921,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -927,7 +930,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { clone.lore = new ArrayList(this.lore); } if (this.enchantments != null) { @@ -314,7 +314,7 @@ index 3b73e52fa..e43a24989 100644 } clone.hideFlag = this.hideFlag; clone.unbreakable = this.unbreakable; -@@ -1087,6 +1090,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1096,6 +1099,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } diff --git a/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch index d0e8a4f321..401a5f22d1 100644 --- a/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch @@ -1,14 +1,14 @@ -From d5dd5cfd1519917997713ba04c795fffefcc22ee Mon Sep 17 00:00:00 2001 +From a9821eba8de7feae6fcaed3baccc7451992f2fc6 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:07:20 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ab64fb7872..8d06249b6c 100644 +index 00cd44a72..bcbc77ad2 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2561,12 +2561,13 @@ public abstract class EntityLiving extends Entity { +@@ -2563,12 +2563,13 @@ public abstract class EntityLiving extends Entity { protected void q() { if (!this.activeItem.isEmpty() && this.isHandRaised()) { @@ -23,7 +23,7 @@ index ab64fb7872..8d06249b6c 100644 world.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -2581,9 +2582,19 @@ public abstract class EntityLiving extends Entity { +@@ -2583,9 +2584,19 @@ public abstract class EntityLiving extends Entity { itemstack = this.activeItem.a(this.world, this); } diff --git a/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 0ea22445d8..91f30c57dc 100644 --- a/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -1,11 +1,11 @@ -From f094aeaa1e48c4982f902d3e2cb877c00ae32973 Mon Sep 17 00:00:00 2001 +From a56b31418ce5807fa4cfcf62f3e8b9628533a42b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 27 Sep 2015 01:18:02 -0400 Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 8d06249b6c..ed9045f62a 100644 +index bcbc77ad2..746e19165 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -498,7 +498,13 @@ public abstract class EntityLiving extends Entity { @@ -23,7 +23,7 @@ index 8d06249b6c..ed9045f62a 100644 if (nbttagcompound.hasKeyOfType("Attributes", 9) && this.world != null && !this.world.isClientSide) { GenericAttributes.a(this.getAttributeMap(), nbttagcompound.getList("Attributes", 10)); } -@@ -888,6 +894,10 @@ public abstract class EntityLiving extends Entity { +@@ -890,6 +896,10 @@ public abstract class EntityLiving extends Entity { } public void setHealth(float f) { @@ -34,7 +34,7 @@ index 8d06249b6c..ed9045f62a 100644 // CraftBukkit start - Handle scaled health if (this instanceof EntityPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((EntityPlayer) this).getBukkitEntity(); -@@ -2426,7 +2436,7 @@ public abstract class EntityLiving extends Entity { +@@ -2428,7 +2438,7 @@ public abstract class EntityLiving extends Entity { } public void setAbsorptionHearts(float f) { @@ -44,7 +44,7 @@ index 8d06249b6c..ed9045f62a 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f6a7f08f96..e71fc971d7 100644 +index f6a7f08f9..e71fc971d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1510,6 +1510,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch b/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch index 18f12e221f..4ae09c0201 100644 --- a/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch +++ b/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch @@ -1,4 +1,4 @@ -From 1af002cf0a2e3574d4010d2c2f8f860e25163f35 Mon Sep 17 00:00:00 2001 +From 591dcb3f4be1fc57cd0db75c759f1dc05e13dfed Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 01:43:11 -0500 Subject: [PATCH] EntityRegainHealthEvent isFastRegen API @@ -6,10 +6,10 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API Don't even get me started diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ed9045f62a..1bef317758 100644 +index 746e19165..f5c3679b1 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -870,10 +870,16 @@ public abstract class EntityLiving extends Entity { +@@ -872,10 +872,16 @@ public abstract class EntityLiving extends Entity { } public void heal(float f, EntityRegainHealthEvent.RegainReason regainReason) { @@ -28,7 +28,7 @@ index ed9045f62a..1bef317758 100644 if (!event.isCancelled()) { diff --git a/src/main/java/net/minecraft/server/FoodMetaData.java b/src/main/java/net/minecraft/server/FoodMetaData.java -index bbcc488bd7..d886e476bf 100644 +index bbcc488bd..d886e476b 100644 --- a/src/main/java/net/minecraft/server/FoodMetaData.java +++ b/src/main/java/net/minecraft/server/FoodMetaData.java @@ -65,7 +65,7 @@ public class FoodMetaData { diff --git a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch index 851bfbb263..920642f447 100644 --- a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 6b309368c52f9b4108b0a3619f0b7089abad52bd Mon Sep 17 00:00:00 2001 +From c1a4ecfa714d709d6c41f26869d7f52f45e27db2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c5670fe8d..e11289217 100644 +index 3c201c2e2..05dc8451e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -68,6 +68,7 @@ import co.aikar.timings.MinecraftTimings; // Paper @@ -17,15 +17,16 @@ index c5670fe8d..e11289217 100644 public static final Logger LOGGER = LogManager.getLogger(); public static final File a = new File("usercache.json"); public Convertable convertable; -@@ -152,6 +153,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -153,6 +154,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot end public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) { + SERVER = this; // Paper - better singleton - this.commandDispatcher = commanddispatcher; // CraftBukkit ++ this.commandDispatcher = commanddispatcher; // CraftBukkit this.ac = new ResourceManager(EnumResourcePackType.SERVER_DATA); this.resourcePackRepository = new ResourcePackRepository(ResourcePackLoader::new); -@@ -1742,7 +1744,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + this.ag = new CraftingManager(); +@@ -1742,7 +1745,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // CraftBukkit start @Deprecated public static MinecraftServer getServer() { diff --git a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch index 1c77511768..28c6eed7a8 100644 --- a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 6a9d38a4159ce7e437079963862bfbf5baf9c766 Mon Sep 17 00:00:00 2001 +From 1b066a794864bf5d0073b12f7d575ee00775466e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e11289217..49b2c27c6 100644 +index 05dc8451e..0e59fc9eb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -631,7 +631,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -632,7 +632,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot start if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { LOGGER.info("Saving usercache.json"); diff --git a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch index 78c7024f63..d8efe8730b 100644 --- a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From 221b6fda013cdc465dcf73d3765655e8c1d7522e Mon Sep 17 00:00:00 2001 +From 71e6ced752630d941c3d5bf62881eb81b72eb156 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -64,10 +64,22 @@ index 0e6c18b32..c182ceffb 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6c6924937..5163bd11b 100644 +index 6c6924937..2f40f687a 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1013,11 +1013,9 @@ public class Chunk implements IChunkAccess { +@@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess { + private final TickList t; + private final TickList u; + private boolean v; +- private boolean w; ++ private boolean w; public boolean hasEntities() { return w; } // Paper - OBFHELPER + private long lastSaved; +- private boolean y; ++ private boolean y; public boolean isModified() { return y; } // Paper - OBFHELPER + private int z; + private long A; public long getInhabitedTime() { return A; } // Paper - OBFHELPER + private int B; +@@ -1013,11 +1013,11 @@ public class Chunk implements IChunkAccess { if (this.w && this.world.getTime() != this.lastSaved || this.y) { return true; } @@ -76,8 +88,10 @@ index 6c6924937..5163bd11b 100644 } - - return this.y; -+ // This !flag section should say if y(isModified) or w(hasEntities), then check auto save -+ return ((this.y || this.w) && this.world.getTime() >= this.lastSaved + world.paperConfig.autoSavePeriod); // Paper - Make world configurable and incremental ++ // Paper start - Make world configurable and incremental ++ // This !flag section should say if isModified or hasEntities, then check auto save ++ return ((isModified() || hasEntities()) && this.world.getTime() >= this.lastSaved + world.paperConfig.autoSavePeriod); ++ // Paper end } public boolean isEmpty() { @@ -102,7 +116,7 @@ index 2e72a294d..1e6ea3084 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 5aafa4e23..f5fae7ba8 100644 +index 08d6f77ae..5122cee42 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -38,6 +38,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -114,18 +128,18 @@ index 5aafa4e23..f5fae7ba8 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 49b2c27c6..bf020293d 100644 +index 0e59fc9eb..603ce9fe2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -147,6 +147,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -143,6 +143,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; + public ConsoleReader reader; + public static int currentTick = 0; // Paper - Further improve tick loop ++ public boolean serverAutoSave = false; // Paper + public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; - public File bukkitDataPackFolder; -+ public boolean serverAutoSave = false; // Paper - // CraftBukkit end - // Spigot start - public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); -@@ -868,22 +869,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -869,22 +870,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.n.b().a(agameprofile); } @@ -200,7 +214,7 @@ index 6b7d81933..3ee587014 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index e3d62fc9c..72b3a6d40 100644 +index 6c976e3b1..a08ef197e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch index 94425ac9b2..54dc4fad6e 100644 --- a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From d778eb49ecc9e8d5cbfcc4b20f33d607fbc13b00 Mon Sep 17 00:00:00 2001 +From 6dcddbc648362d5b4fa1548043beacd6596d15d7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5df8b1143f..0b748d402b 100644 +index 5df8b1143..0b748d402 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -343,4 +343,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index 5df8b1143f..0b748d402b 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b47bf97387..db7e37aee6 100644 +index b47bf9738..db7e37aee 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -168,6 +168,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -39,10 +39,10 @@ index b47bf97387..db7e37aee6 100644 // Spigot end diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 9f493e43d4..fc0e440798 100644 +index b25d4b714..f85da758d 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2316,8 +2316,11 @@ public abstract class EntityLiving extends Entity { +@@ -2318,8 +2318,11 @@ public abstract class EntityLiving extends Entity { } } diff --git a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch index 79ef83c306..6794a152a6 100644 --- a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From b502589f3799987378d72bfd7fd843b6e888b490 Mon Sep 17 00:00:00 2001 +From 97859bd335e381d24dfb98d703ee44295283f04c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 May 2017 23:34:11 -0500 Subject: [PATCH] Properly handle async calls to restart the server @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f81ff5628..f679c6bc2 100644 +index ab3193295..5d13f053f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -85,6 +85,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -41,7 +41,7 @@ index f81ff5628..f679c6bc2 100644 private boolean isStopped; private int ticks; protected final Proxy d; -@@ -590,7 +591,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -591,7 +592,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (this.s != null) { MinecraftServer.LOGGER.info("Saving players"); this.s.savePlayers(); @@ -50,7 +50,7 @@ index f81ff5628..f679c6bc2 100644 try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets } -@@ -649,10 +650,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -650,10 +651,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.isRunning; } @@ -69,7 +69,7 @@ index f81ff5628..f679c6bc2 100644 // Paper start - Further improve server tick loop private static final int TPS = 20; private static final long SEC_IN_NANO = 1000000000; -@@ -1607,6 +1616,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1608,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.aa; } @@ -306,5 +306,5 @@ index 947c43a5d..f15fd9f37 100644 } } -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch index b1547310f6..26ad8fc2bb 100644 --- a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 280084302de32062c408e239b644dda5e1b24a83 Mon Sep 17 00:00:00 2001 +From af3fcc467f9180b820aaa4e89b3695f7d7d420cd Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -199,7 +199,7 @@ index a3d58b5ce..681194e94 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f679c6bc2..39a8b1d69 100644 +index 5d13f053f..c95f12351 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate; @@ -217,9 +217,9 @@ index f679c6bc2..39a8b1d69 100644 - public ConsoleReader reader; + //public ConsoleReader reader; // Paper public static int currentTick = 0; // Paper - Further improve tick loop + public boolean serverAutoSave = false; // Paper public final Thread primaryThread; - public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); -@@ -183,7 +182,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -184,7 +183,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.ac.a((IResourcePackListener) this.al); // CraftBukkit start this.options = options; @@ -229,7 +229,7 @@ index f679c6bc2..39a8b1d69 100644 if (System.console() == null && System.getProperty("jline.terminal") == null) { System.setProperty("jline.terminal", "jline.UnsupportedTerminal"); Main.useJline = false; -@@ -204,6 +205,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -205,6 +206,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati LOGGER.warn((String) null, ex); } } @@ -238,7 +238,7 @@ index f679c6bc2..39a8b1d69 100644 Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); this.serverThread = primaryThread = new Thread(this, "Server thread"); // Moved from main -@@ -804,7 +807,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -805,7 +808,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } finally { // CraftBukkit start - Restore terminal to original settings try { @@ -247,7 +247,7 @@ index f679c6bc2..39a8b1d69 100644 } catch (Exception ignored) { } // CraftBukkit end -@@ -1285,7 +1288,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1286,7 +1289,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } public void sendMessage(IChatBaseComponent ichatbasecomponent) { @@ -271,7 +271,7 @@ index 4c9ff8c29..9e403d625 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 470e334f7..9fe7c6a0d 100644 +index 8719fe35e..f6dfe2e2b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -137,8 +137,8 @@ import java.nio.ByteBuffer; diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch index 06663bfeb0..4febc1ec51 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 7e4b09409f3d9851a51215a840be880c73a0c7f1 Mon Sep 17 00:00:00 2001 +From eb7e8603e48e1cfac564dfd91c528198ac7e7a8d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -429,10 +429,10 @@ index 02940d697..4539b5601 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 39a8b1d69..4654e22c8 100644 +index c95f12351..26ace3cbf 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1114,7 +1114,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1115,7 +1115,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati */ // CraftBukkit end String s1 = "."; // PAIL? @@ -441,7 +441,7 @@ index 39a8b1d69..4654e22c8 100644 MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); UserCache usercache = new UserCache(gameprofilerepository, new File(s1, MinecraftServer.a.getName())); -@@ -1562,6 +1562,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1563,6 +1563,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.G = i; } @@ -486,7 +486,7 @@ index a47a51a41..4c476f757 100644 private UserCacheEntry(GameProfile gameprofile, Date date) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 69cfe5c4d..0ef1186b9 100644 +index ac46e50ac..a8da20e35 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -152,6 +152,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; diff --git a/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch index 61455b7f6c..0d6aa4e73f 100644 --- a/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch @@ -1,11 +1,11 @@ -From c181940c4734bff813360c6c3109e3c680107d55 Mon Sep 17 00:00:00 2001 +From 9cb4fc032e1908f0126b22723ebc8ec555e51884 Mon Sep 17 00:00:00 2001 From: pkt77 Date: Fri, 10 Nov 2017 23:46:34 -0500 Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 38baecd862..2f325f695e 100644 +index 0dcafdbcc..a4026d64a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1,5 +1,6 @@ @@ -15,7 +15,7 @@ index 38baecd862..2f325f695e 100644 import com.google.common.base.Objects; import com.google.common.collect.Maps; import java.util.Collection; -@@ -2045,6 +2046,13 @@ public abstract class EntityLiving extends Entity { +@@ -2047,6 +2048,13 @@ public abstract class EntityLiving extends Entity { ItemStack itemstack1 = this.getEquipment(enumitemslot); if (!ItemStack.matches(itemstack1, itemstack)) { @@ -30,7 +30,7 @@ index 38baecd862..2f325f695e 100644 if (!itemstack.isEmpty()) { this.getAttributeMap().a(itemstack.a(enumitemslot)); diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java -index cdf3a3ba4a..be5d0bf898 100644 +index cdf3a3ba4..be5d0bf89 100644 --- a/src/main/java/net/minecraft/server/EnumItemSlot.java +++ b/src/main/java/net/minecraft/server/EnumItemSlot.java @@ -16,6 +16,7 @@ public enum EnumItemSlot { diff --git a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch index 9ff4b2c843..82cf464c3c 100644 --- a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 3cdab27e9d5d15730d83f109ca6428e725e80c5e Mon Sep 17 00:00:00 2001 +From 461048847edbe22761d50fc017204a5f8ec15950 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -354,10 +354,10 @@ index 000000000..30941c7b0 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index e43a24989..df4bbba57 100644 +index 86c61abe4..c48911d00 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -134,6 +134,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -135,6 +135,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { .put(CraftMetaCharge.class, "FIREWORK_EFFECT") .put(CraftMetaKnowledgeBook.class, "KNOWLEDGE_BOOK") .put(CraftMetaTropicalFishBucket.class, "TROPICAL_FISH_BUCKET") @@ -365,7 +365,7 @@ index e43a24989..df4bbba57 100644 .put(CraftMetaItem.class, "UNSPECIFIC") .build(); -@@ -1083,7 +1084,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1092,7 +1093,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { CraftMetaCharge.EXPLOSION.NBT, CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT, CraftMetaKnowledgeBook.BOOK_RECIPES.NBT, diff --git a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch index ba80269169..608257e2c7 100644 --- a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 557f91f2d60f8facf05cd18160e6c1d87ec5949e Mon Sep 17 00:00:00 2001 +From a663e14dc508e217a3ea771b2d515553552b3f7d Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -177,10 +177,10 @@ index 000000000..350410527 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4654e22c8..97581d995 100644 +index 26ace3cbf..bc2712898 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -870,7 +870,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -871,7 +871,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (i - this.Y >= 5000000000L) { this.Y = i; this.n.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.B(), this.A())); @@ -189,7 +189,7 @@ index 4654e22c8..97581d995 100644 int j = MathHelper.nextInt(this.o, 0, this.A() - agameprofile.length); for (int k = 0; k < agameprofile.length; ++k) { -@@ -1220,10 +1220,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1221,10 +1221,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return "1.13-pre7"; } diff --git a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch index e66dcad16d..026c56ed2c 100644 --- a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch @@ -1,11 +1,11 @@ -From 1fe88e14503474a32459e6777e8f2e8096c85adf Mon Sep 17 00:00:00 2001 +From 3bfec59ed4647d0c87081489077dfa8289754c27 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index f1db4becde..ef4bfb480c 100644 +index f1db4becd..ef4bfb480 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -408,4 +408,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index f1db4becde..ef4bfb480c 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2f325f695e..ab3246ee02 100644 +index a4026d64a..dffa42ba5 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2661,7 +2661,7 @@ public abstract class EntityLiving extends Entity { +@@ -2663,7 +2663,7 @@ public abstract class EntityLiving extends Entity { if (this.isHandRaised() && !this.activeItem.isEmpty()) { Item item = this.activeItem.getItem(); @@ -31,7 +31,7 @@ index 2f325f695e..ab3246ee02 100644 } else { return false; } -@@ -2749,4 +2749,16 @@ public abstract class EntityLiving extends Entity { +@@ -2751,4 +2751,16 @@ public abstract class EntityLiving extends Entity { public boolean de() { return true; } @@ -49,7 +49,7 @@ index 2f325f695e..ab3246ee02 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 460a050cce..35ba95e0f5 100644 +index 460a050cc..35ba95e0f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -530,5 +530,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch index 056fabf378..c77c11eab0 100644 --- a/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch +++ b/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From be0ea88947f6c5be87e3dfd4c20665785d6858db Mon Sep 17 00:00:00 2001 +From 5d0b0c840d82488619f181d2b576147a2b0f194b Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:46:23 +0200 Subject: [PATCH] Implement EntityKnockbackByEntityEvent @@ -6,10 +6,10 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent This event is called when an entity receives knockback by another entity. diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ab3246ee02..f67b4ca353 100644 +index dffa42ba5..7cacbaffe 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -1245,6 +1245,12 @@ public abstract class EntityLiving extends Entity { +@@ -1247,6 +1247,12 @@ public abstract class EntityLiving extends Entity { this.impulse = true; float f1 = MathHelper.sqrt(d0 * d0 + d1 * d1); @@ -22,7 +22,7 @@ index ab3246ee02..f67b4ca353 100644 this.motX /= 2.0D; this.motZ /= 2.0D; this.motX -= d0 / (double) f1 * (double) f; -@@ -1257,6 +1263,18 @@ public abstract class EntityLiving extends Entity { +@@ -1259,6 +1265,18 @@ public abstract class EntityLiving extends Entity { } } diff --git a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch index 8af5b0a0eb..34f7c1a4ab 100644 --- a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 42f348c4866235a751a95a6c69abeaaf826dad17 Mon Sep 17 00:00:00 2001 +From d249802a700c76fd6306b36fc4aa5d808f5000da Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -6,10 +6,10 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f67b4ca353..cda8151487 100644 +index 7cacbaffe..5f3ccee2e 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2646,14 +2646,17 @@ public abstract class EntityLiving extends Entity { +@@ -2648,14 +2648,17 @@ public abstract class EntityLiving extends Entity { } @@ -28,7 +28,7 @@ index f67b4ca353..cda8151487 100644 return this.isHandRaised() ? this.activeItem.k() - this.cW() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 35ba95e0f5..0975181e06 100644 +index 35ba95e0f..0975181e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -540,5 +540,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/work/Bukkit b/work/Bukkit index ac92f0355a..2ba30dddd4 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit ac92f0355a7bf319d51b78837f8e7a3889b6c549 +Subproject commit 2ba30dddd4acb3bd789b4e487ed0647984576e8c diff --git a/work/CraftBukkit b/work/CraftBukkit index 7c0f69e449..961295e432 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 7c0f69e449b94547f95daa5c09407dd3f4a6fd52 +Subproject commit 961295e4327324766a0404857c1ca85051971995 diff --git a/work/Spigot b/work/Spigot index 751edf9136..3fa6cc486b 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 751edf9136cc98e37842b9dc43d4d119452c5433 +Subproject commit 3fa6cc486bf213165cc95cc3809162036cf9bf78