From ad40e694a38d002c9f55b80319b6466e94b4ca60 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 9 Dec 2017 12:37:09 -0500 Subject: [PATCH] Update upstream --- Spigot-Server-Patches/0006-Timings-v2.patch | 22 +++++++++---------- .../0017-Player-affects-spawning-API.patch | 8 +++---- .../0023-Entity-Origin-API.patch | 10 ++++----- ...event-tile-entity-and-entity-crashes.patch | 10 ++++----- .../0045-Disable-spigot-tick-limiters.patch | 10 ++++----- ...entation-of-tile-entity-removal-list.patch | 10 ++++----- .../0061-Add-exception-reporting-event.patch | 14 ++++++------ ...Location-getType-and-getBlockData-fo.patch | 14 ++++++------ ...Entity-AddTo-RemoveFrom-World-Events.patch | 10 ++++----- ...le-Keep-Spawn-Loaded-range-per-world.patch | 8 +++---- ...am-reload-spawn-chunks-in-nether-end.patch | 8 +++---- ...Remove-unused-World-Tile-Entity-List.patch | 16 +++++++------- ...item-frames-performance-and-bug-fixe.patch | 10 ++++----- .../0144-Fix-Double-World-Add-issues.patch | 14 ++++++------ .../0156-Chunk-registration-fixes.patch | 8 +++---- ...6-Vanished-players-don-t-have-rights.patch | 10 ++++----- ...t-armor-stands-from-doing-entity-loo.patch | 8 +++---- ...32-Fix-MC-117075-TE-Unload-Lag-Spike.patch | 8 +++---- ...-maximum-exp-value-when-merging-orbs.patch | 10 ++++----- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 22 files changed, 107 insertions(+), 107 deletions(-) diff --git a/Spigot-Server-Patches/0006-Timings-v2.patch b/Spigot-Server-Patches/0006-Timings-v2.patch index 190623a67e..09351f73fd 100644 --- a/Spigot-Server-Patches/0006-Timings-v2.patch +++ b/Spigot-Server-Patches/0006-Timings-v2.patch @@ -1,4 +1,4 @@ -From 19d2f5bbd5d683721b54525da8cd8aa6591689ee Mon Sep 17 00:00:00 2001 +From de8e09394533bfc3baf552877d5088a7bb52eefa Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -1148,7 +1148,7 @@ index 5a5a588e7..d2d4ff6fb 100644 private static final RegistryMaterials> 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 dbfed7c62..57607f25c 100644 +index 843320ffb..d902e2630 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -19,11 +19,11 @@ import com.google.common.collect.Maps; @@ -1182,7 +1182,7 @@ index dbfed7c62..57607f25c 100644 this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } -@@ -1386,6 +1386,7 @@ public abstract class World implements IBlockAccess { +@@ -1384,6 +1384,7 @@ public abstract class World implements IBlockAccess { } this.methodProfiler.c("remove"); @@ -1190,7 +1190,7 @@ index dbfed7c62..57607f25c 100644 this.entityList.removeAll(this.f); int j; -@@ -1406,6 +1407,7 @@ public abstract class World implements IBlockAccess { +@@ -1404,6 +1405,7 @@ public abstract class World implements IBlockAccess { this.f.clear(); this.l(); @@ -1198,7 +1198,7 @@ index dbfed7c62..57607f25c 100644 this.methodProfiler.c("regular"); CrashReportSystemDetails crashreportsystemdetails1; -@@ -1415,6 +1417,7 @@ public abstract class World implements IBlockAccess { +@@ -1413,6 +1415,7 @@ public abstract class World implements IBlockAccess { timings.entityTick.startTiming(); // Spigot guardEntityList = true; // Spigot // CraftBukkit start - Use field for loop variable @@ -1206,7 +1206,7 @@ index dbfed7c62..57607f25c 100644 int entitiesThisCycle = 0; if (tickPosition < 0) tickPosition = 0; for (entityLimiter.initTick(); -@@ -1436,10 +1439,11 @@ public abstract class World implements IBlockAccess { +@@ -1434,10 +1437,11 @@ public abstract class World implements IBlockAccess { this.methodProfiler.a("tick"); if (!entity.dead && !(entity instanceof EntityPlayer)) { try { @@ -1220,7 +1220,7 @@ index dbfed7c62..57607f25c 100644 crashreport1 = CrashReport.a(throwable1, "Ticking entity"); crashreportsystemdetails1 = crashreport1.a("Entity being ticked"); entity.appendEntityCrashDetails(crashreportsystemdetails1); -@@ -1564,6 +1568,7 @@ public abstract class World implements IBlockAccess { +@@ -1562,6 +1566,7 @@ public abstract class World implements IBlockAccess { } timings.tileEntityPending.stopTiming(); // Spigot @@ -1228,7 +1228,7 @@ index dbfed7c62..57607f25c 100644 this.methodProfiler.b(); this.methodProfiler.b(); } -@@ -1622,7 +1627,6 @@ public abstract class World implements IBlockAccess { +@@ -1620,7 +1625,6 @@ public abstract class World implements IBlockAccess { } // CraftBukkit end @@ -1236,7 +1236,7 @@ index dbfed7c62..57607f25c 100644 entity.M = entity.locX; entity.N = entity.locY; entity.O = entity.locZ; -@@ -1630,6 +1634,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; @@ -1244,7 +1244,7 @@ index dbfed7c62..57607f25c 100644 if (entity.isPassenger()) { entity.aE(); } else { -@@ -1689,8 +1694,6 @@ public abstract class World implements IBlockAccess { +@@ -1687,8 +1692,6 @@ public abstract class World implements IBlockAccess { } } } @@ -1906,5 +1906,5 @@ index 2bd690fdf..38be7ed71 100644 } } -- -2.15.0 +2.15.1 diff --git a/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch index 2cfce16e60..2f415faaf8 100644 --- a/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch +++ b/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch @@ -1,4 +1,4 @@ -From e4318dc2a3a2974522740ce1aec6e299ebf26cb6 Mon Sep 17 00:00:00 2001 +From 431256683eff92a78786d888c39861a814291811 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Tue, 1 Mar 2016 14:47:52 -0600 Subject: [PATCH] Player affects spawning API @@ -57,10 +57,10 @@ index a599a043d..1c7c187c7 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 eb27d080c..a35f714eb 100644 +index 759964b0f..26d4bd690 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2729,7 +2729,7 @@ public abstract class World implements IBlockAccess { +@@ -2727,7 +2727,7 @@ public abstract class World implements IBlockAccess { for (int i = 0; i < this.players.size(); ++i) { EntityHuman entityhuman = (EntityHuman) this.players.get(i); @@ -91,5 +91,5 @@ index f387b623d..fa91ecbef 100644 // Spigot start -- -2.15.0 +2.15.1 diff --git a/Spigot-Server-Patches/0023-Entity-Origin-API.patch b/Spigot-Server-Patches/0023-Entity-Origin-API.patch index 92960294bd..d6848eed59 100644 --- a/Spigot-Server-Patches/0023-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0023-Entity-Origin-API.patch @@ -1,4 +1,4 @@ -From 7a10da3fb20eb14e2662924c5a7d4b94809777cf Mon Sep 17 00:00:00 2001 +From ee0d7d7e916d947a8fb486318b86b998649687ab Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] Entity Origin API @@ -101,10 +101,10 @@ index bc6383669..ca9eb2f3b 100644 if (i >= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a35f714eb..957e0101e 100644 +index 26d4bd690..31b765dea 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1025,6 +1025,12 @@ public abstract class World implements IBlockAccess { +@@ -1071,6 +1071,12 @@ public abstract class World implements IBlockAccess { int j = MathHelper.floor(entity.locZ / 16.0D); boolean flag = entity.attachedToPlayer; @@ -118,7 +118,7 @@ index a35f714eb..957e0101e 100644 flag = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 51cc15e79..fa2bdabc6 100644 +index 9958bf869..0f38abaf8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -754,4 +754,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -135,5 +135,5 @@ index 51cc15e79..fa2bdabc6 100644 + // Paper end } -- -2.14.3 +2.15.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 20f245d880..4c100fad42 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,4 +1,4 @@ -From ea97aaf4fc101088eba933640867fb7b23fe90f7 Mon Sep 17 00:00:00 2001 +From 80f84d70004416226822704a2c67d06c21967b1d Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:52:34 -0600 Subject: [PATCH] Prevent tile entity and entity crashes @@ -23,10 +23,10 @@ index d2d4ff6fb..65297a761 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 957e0101e..f29e518c7 100644 +index 31b765dea..fd5f8102a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1451,10 +1451,12 @@ public abstract class World implements IBlockAccess { +@@ -1449,10 +1449,12 @@ public abstract class World implements IBlockAccess { entity.tickTimer.stopTiming(); // Paper } catch (Throwable throwable1) { entity.tickTimer.stopTiming(); @@ -43,7 +43,7 @@ index 957e0101e..f29e518c7 100644 } } -@@ -1517,10 +1519,13 @@ public abstract class World implements IBlockAccess { +@@ -1515,10 +1517,13 @@ public abstract class World implements IBlockAccess { ((ITickable) tileentity).e(); this.methodProfiler.b(); } catch (Throwable throwable2) { @@ -62,5 +62,5 @@ index 957e0101e..f29e518c7 100644 // Spigot start finally { -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch b/Spigot-Server-Patches/0045-Disable-spigot-tick-limiters.patch index 05c56ac037..f6cbbbc31f 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 2c2e25a2ebff5602a158022297d13a46cc9fdf9a Mon Sep 17 00:00:00 2001 +From b6b6996f477feb25fe5ccbd67064bc4ce83dae6c Mon Sep 17 00:00:00 2001 From: Zach Brown 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 31730fe35..41a0f5a62 100644 +index 44801d898..6d200b809 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1428,10 +1428,10 @@ public abstract class World implements IBlockAccess { +@@ -1426,10 +1426,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 31730fe35..41a0f5a62 100644 tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0; entity = (Entity) this.entityList.get(this.tickPosition); // CraftBukkit end -@@ -1495,9 +1495,7 @@ public abstract class World implements IBlockAccess { +@@ -1493,9 +1493,7 @@ public abstract class World implements IBlockAccess { // Spigot start // Iterator iterator = this.tileEntityListTick.iterator(); int tilesThisCycle = 0; @@ -35,5 +35,5 @@ index 31730fe35..41a0f5a62 100644 TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition); // Spigot start -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0057-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0057-Change-implementation-of-tile-entity-removal-list.patch index 3668c51e3d..c0ed3d9143 100644 --- a/Spigot-Server-Patches/0057-Change-implementation-of-tile-entity-removal-list.patch +++ b/Spigot-Server-Patches/0057-Change-implementation-of-tile-entity-removal-list.patch @@ -1,11 +1,11 @@ -From 99c9149f9e4fd8ef73bd16d37af7c41a70ff316b Mon Sep 17 00:00:00 2001 +From 36a0759426050336602e3495938b275ab59ce6fd Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld 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 ba779727..5ef4978d 100644 +index 9ee8c40a5..438624dd7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -122,7 +122,7 @@ public abstract class Entity implements ICommandListener { @@ -18,7 +18,7 @@ index ba779727..5ef4978d 100644 public int ac; public int getChunkY() { return ac; } // Paper - OBFHELPER public int ad; public int getChunkZ() { return ad; } // Paper - OBFHELPER diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 41a0f5a6..6d801019 100644 +index 6d200b809..b814d965e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -31,6 +31,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -47,7 +47,7 @@ index 41a0f5a6..6d801019 100644 public final List players = Lists.newArrayList(); public final List j = Lists.newArrayList(); protected final IntHashMap entitiesById = new IntHashMap(); -@@ -1399,20 +1404,20 @@ public abstract class World implements IBlockAccess { +@@ -1397,20 +1402,20 @@ public abstract class World implements IBlockAccess { this.entityList.removeAll(this.f); int j; @@ -78,5 +78,5 @@ index 41a0f5a6..6d801019 100644 this.f.clear(); this.l(); -- -2.14.2.windows.2 +2.15.1 diff --git a/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch index ba823173de..6d671fe115 100644 --- a/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 3fb9c9e6dc87134f2723e78edaf12d4dddc907c7 Mon Sep 17 00:00:00 2001 +From b2d4ae07752d89d22e2ccabc3d2aed3990e9dd81 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -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 c8e52eab1..33737af78 100644 +index b815acd3e..2a8393dcb 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -293,7 +293,7 @@ index 9ff4f23ab..6fce3015f 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6d8010194..41e72aa01 100644 +index b814d965e..550d916ce 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -304,7 +304,7 @@ index 6d8010194..41e72aa01 100644 import com.google.common.base.Function; import com.google.common.base.MoreObjects; import com.google.common.base.Predicate; -@@ -1459,8 +1461,10 @@ public abstract class World implements IBlockAccess { +@@ -1457,8 +1459,10 @@ public abstract class World implements IBlockAccess { } catch (Throwable throwable1) { entity.tickTimer.stopTiming(); // Paper start - Prevent tile entity and entity crashes @@ -316,7 +316,7 @@ index 6d8010194..41e72aa01 100644 entity.dead = true; continue; // Paper end -@@ -1525,8 +1529,10 @@ public abstract class World implements IBlockAccess { +@@ -1523,8 +1527,10 @@ public abstract class World implements IBlockAccess { this.methodProfiler.b(); } catch (Throwable throwable2) { // Paper start - Prevent tile entity and entity crashes @@ -329,7 +329,7 @@ index 6d8010194..41e72aa01 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 19adb77b5..b9d93a01f 100644 +index d50bbd2a6..bce411288 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; @@ -373,5 +373,5 @@ index 19adb77b5..b9d93a01f 100644 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0087-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0087-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index c9d4d4f7b0..c13f3e9d50 100644 --- a/Spigot-Server-Patches/0087-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0087-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From d9aa3ae519bd7235a528ce850414ddf33bf4b1d6 Mon Sep 17 00:00:00 2001 +From 66124bd3037af7b231c57fd9b90226497c4495af Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -52,7 +52,7 @@ index 67b476b22..008ed206d 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 1a77dfe4e..7eb8deb2c 100644 +index a15befd6a..6bf2f8d2d 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -406,11 +406,27 @@ public class Chunk { @@ -99,7 +99,7 @@ index 3d784d0dc..afdc4a779 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 9086a606f..e93c45cfc 100644 +index 5546f95b9..6b93dcca8 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -277,12 +277,12 @@ public abstract class World implements IBlockAccess { @@ -228,7 +228,7 @@ index 9086a606f..e93c45cfc 100644 public boolean D() { return this.L < 4; -@@ -2019,7 +2028,7 @@ public abstract class World implements IBlockAccess { +@@ -2017,7 +2026,7 @@ public abstract class World implements IBlockAccess { public Map capturedTileEntities = Maps.newHashMap(); @Nullable public TileEntity getTileEntity(BlockPosition blockposition) { @@ -237,7 +237,7 @@ index 9086a606f..e93c45cfc 100644 return null; } else { // CraftBukkit start -@@ -2060,7 +2069,7 @@ public abstract class World implements IBlockAccess { +@@ -2058,7 +2067,7 @@ public abstract class World implements IBlockAccess { } public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) { @@ -246,7 +246,7 @@ index 9086a606f..e93c45cfc 100644 if (tileentity != null && !tileentity.y()) { // CraftBukkit start if (captureBlockStates) { -@@ -2123,7 +2132,7 @@ public abstract class World implements IBlockAccess { +@@ -2121,7 +2130,7 @@ public abstract class World implements IBlockAccess { } public boolean d(BlockPosition blockposition, boolean flag) { @@ -256,5 +256,5 @@ index 9086a606f..e93c45cfc 100644 } else { Chunk chunk = this.chunkProvider.getLoadedChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4); -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0092-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0092-Entity-AddTo-RemoveFrom-World-Events.patch index 78e40efd1c..0867a7a3da 100644 --- a/Spigot-Server-Patches/0092-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0092-Entity-AddTo-RemoveFrom-World-Events.patch @@ -1,14 +1,14 @@ -From d5c5dbd1a9fbff14c4f8d3da5c15365c8ed741bf Mon Sep 17 00:00:00 2001 +From 0a2a8de008cd59aab6ac5aef1233fc37c3ab76c2 Mon Sep 17 00:00:00 2001 From: Aikar 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 6bb711d1f..79216be29 100644 +index d038a3da7..c6c85a5f1 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1187,6 +1187,7 @@ public abstract class World implements IBlockAccess { +@@ -1185,6 +1185,7 @@ public abstract class World implements IBlockAccess { } entity.valid = true; // CraftBukkit @@ -16,7 +16,7 @@ index 6bb711d1f..79216be29 100644 } protected void c(Entity entity) { -@@ -1194,6 +1195,7 @@ public abstract class World implements IBlockAccess { +@@ -1192,6 +1193,7 @@ public abstract class World implements IBlockAccess { ((IWorldAccess) this.u.get(i)).b(entity); } @@ -25,5 +25,5 @@ index 6bb711d1f..79216be29 100644 } -- -2.13.3.windows.1 +2.15.1 diff --git a/Spigot-Server-Patches/0103-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0103-Configurable-Keep-Spawn-Loaded-range-per-world.patch index e3db05f643..72b94cc20d 100644 --- a/Spigot-Server-Patches/0103-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0103-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 4ed7d6240915b4157d0dbe0ab537b4e76061f120 Mon Sep 17 00:00:00 2001 +From c5ca314202ca961e543c7bdf36cf96288f56a491 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -39,10 +39,10 @@ index 4e8ce79ff..2300ee10b 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 f7987bb7b..641a1d7dd 100644 +index 77791ffeb..71907eb56 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -3202,8 +3202,9 @@ public abstract class World implements IBlockAccess { +@@ -3200,8 +3200,9 @@ public abstract class World implements IBlockAccess { int k = i * 16 + 8 - blockposition.getX(); int l = j * 16 + 8 - blockposition.getZ(); boolean flag = true; @@ -83,5 +83,5 @@ index 01fc193db..69dc11e2b 100644 loadChunk(chunkCoordX + x, chunkCoordZ + z); } else { -- -2.15.0 +2.15.1 diff --git a/Spigot-Server-Patches/0105-Don-t-spam-reload-spawn-chunks-in-nether-end.patch b/Spigot-Server-Patches/0105-Don-t-spam-reload-spawn-chunks-in-nether-end.patch index 69652f3f56..8866950c56 100644 --- a/Spigot-Server-Patches/0105-Don-t-spam-reload-spawn-chunks-in-nether-end.patch +++ b/Spigot-Server-Patches/0105-Don-t-spam-reload-spawn-chunks-in-nether-end.patch @@ -1,14 +1,14 @@ -From 7afb68dd6652bc7684704811a4f00d94e3378599 Mon Sep 17 00:00:00 2001 +From a70b4e697f8e255d15bfcf9243ef528173268fba Mon Sep 17 00:00:00 2001 From: Aikar 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 a968a5bb6..e4f509ce3 100644 +index 06d8e82ad..532096782 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -3198,6 +3198,7 @@ public abstract class World implements IBlockAccess { +@@ -3196,6 +3196,7 @@ public abstract class World implements IBlockAccess { return this.P; } @@ -29,5 +29,5 @@ index d0265f960..35d8d1a6e 100644 } } -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0109-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0109-Remove-unused-World-Tile-Entity-List.patch index 5ebd4093b7..4bcf9b995c 100644 --- a/Spigot-Server-Patches/0109-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0109-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From 557026b0f5055642ce2cfc003e1e14671e17755f Mon Sep 17 00:00:00 2001 +From b1691470ba918f9cc7690d548fc30a7f448bab6b Mon Sep 17 00:00:00 2001 From: Aikar 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 e4f509ce3..506946049 100644 +index 532096782..2b2105e4e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -69,7 +69,7 @@ public abstract class World implements IBlockAccess { @@ -18,7 +18,7 @@ index e4f509ce3..506946049 100644 public final List tileEntityListTick = Lists.newArrayList(); private final List b = Lists.newArrayList(); private final Set tileEntityListUnload = Sets.newHashSet(); // Paper -@@ -1572,7 +1572,7 @@ public abstract class World implements IBlockAccess { +@@ -1570,7 +1570,7 @@ public abstract class World implements IBlockAccess { timings.tileEntityTick.startTiming(); // Spigot if (!this.tileEntityListUnload.isEmpty()) { this.tileEntityListTick.removeAll(this.tileEntityListUnload); @@ -27,7 +27,7 @@ index e4f509ce3..506946049 100644 this.tileEntityListUnload.clear(); } -@@ -1625,7 +1625,7 @@ public abstract class World implements IBlockAccess { +@@ -1623,7 +1623,7 @@ public abstract class World implements IBlockAccess { if (tileentity.y()) { tilesThisCycle--; this.tileEntityListTick.remove(tileTickPosition--); @@ -36,7 +36,7 @@ index e4f509ce3..506946049 100644 if (this.isLoaded(tileentity.getPosition())) { this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition()); } -@@ -1655,7 +1655,7 @@ public abstract class World implements IBlockAccess { +@@ -1653,7 +1653,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 e4f509ce3..506946049 100644 this.a(tileentity1); } // CraftBukkit end -@@ -1675,9 +1675,9 @@ public abstract class World implements IBlockAccess { +@@ -1673,9 +1673,9 @@ public abstract class World implements IBlockAccess { protected void l() {} public boolean a(TileEntity tileentity) { @@ -57,7 +57,7 @@ index e4f509ce3..506946049 100644 this.tileEntityListTick.add(tileentity); } -@@ -2116,7 +2116,7 @@ public abstract class World implements IBlockAccess { +@@ -2114,7 +2114,7 @@ public abstract class World implements IBlockAccess { } else { if (tileentity != null) { this.b.remove(tileentity); @@ -67,5 +67,5 @@ index e4f509ce3..506946049 100644 } -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0124-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0124-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index e7ef9c7909..7ba2ee5de9 100644 --- a/Spigot-Server-Patches/0124-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/Spigot-Server-Patches/0124-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -1,4 +1,4 @@ -From 90570f88597e87920b1fee8e41d71c6af763d429 Mon Sep 17 00:00:00 2001 +From 1ac1d17af48c1cc06c0240ce6bec19736689c003 Mon Sep 17 00:00:00 2001 From: Aikar 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 5080290cd..1c841a907 100644 +index 467c5bf1a..0f1d99636 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -548,6 +548,12 @@ public abstract class EntityHuman extends EntityLiving { @@ -48,10 +48,10 @@ index 4c6eb6ed1..759dacba7 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 6d452a968..91cfed1e5 100644 +index 2b2105e4e..565b1d7e5 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1225,6 +1225,7 @@ public abstract class World implements IBlockAccess { +@@ -1223,6 +1223,7 @@ public abstract class World implements IBlockAccess { { if ( iter.next().trackee == entity ) { @@ -145,5 +145,5 @@ index 256a13178..5768cd512 100644 public RenderData() { -- -2.13.3.windows.1 +2.15.1 diff --git a/Spigot-Server-Patches/0144-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0144-Fix-Double-World-Add-issues.patch index 0c8bd68203..7f1ca9898b 100644 --- a/Spigot-Server-Patches/0144-Fix-Double-World-Add-issues.patch +++ b/Spigot-Server-Patches/0144-Fix-Double-World-Add-issues.patch @@ -1,4 +1,4 @@ -From 675a5f849faf266403c1cca10e1db3914dd9a42e Mon Sep 17 00:00:00 2001 +From 3c13e279f2a7d98057c446d5ae6bc08968e786d9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 21 Jun 2016 22:54:34 -0400 Subject: [PATCH] Fix Double World Add issues @@ -8,7 +8,7 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added. Also add debug if something else tries to, and abort before world gets bad state diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index cee77e7a3..f5366ebf0 100644 +index 12bd558a7..8747d9a45 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -546,7 +546,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -21,7 +21,7 @@ index cee77e7a3..f5366ebf0 100644 Iterator iterator = entity.bF().iterator(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 91cfed1e5..5672689cf 100644 +index 565b1d7e5..3cacf2c6d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1103,6 +1103,7 @@ public abstract class World implements IBlockAccess { @@ -29,9 +29,9 @@ index 91cfed1e5..5672689cf 100644 org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot if (entity == null) return false; + if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper - // CraftBukkit end - int i = MathHelper.floor(entity.locX / 16.0D); - int j = MathHelper.floor(entity.locZ / 16.0D); + + org.bukkit.event.Cancellable event = null; + if (entity instanceof EntityLiving && !(entity instanceof EntityPlayer)) { -- -2.13.4 +2.15.1 diff --git a/Spigot-Server-Patches/0156-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0156-Chunk-registration-fixes.patch index 61512b26e8..4bf1824828 100644 --- a/Spigot-Server-Patches/0156-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0156-Chunk-registration-fixes.patch @@ -1,4 +1,4 @@ -From f526ddfc9009c6687cab1037386ba1b1af75686e Mon Sep 17 00:00:00 2001 +From 2588f86cae4141fca5ac102cf7f220694b6db36b Mon Sep 17 00:00:00 2001 From: Aikar 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 dfa98b6e1..a2b5926a1 100644 +index 3cacf2c6d..1117a0835 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1766,7 +1766,7 @@ public abstract class World implements IBlockAccess { +@@ -1764,7 +1764,7 @@ public abstract class World implements IBlockAccess { } i = MathHelper.floor(entity.locX / 16.0D); @@ -21,5 +21,5 @@ index dfa98b6e1..a2b5926a1 100644 if (!entity.aa || entity.ab != i || entity.ac != j || entity.ad != k) { -- -2.14.1 +2.15.1 diff --git a/Spigot-Server-Patches/0176-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0176-Vanished-players-don-t-have-rights.patch index caca1d980d..7d173fea8b 100644 --- a/Spigot-Server-Patches/0176-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0176-Vanished-players-don-t-have-rights.patch @@ -1,4 +1,4 @@ -From 8637b48ac66365659560c2b876b8e2b6da7ce3fe Mon Sep 17 00:00:00 2001 +From c18f1b2c567988de0b4a9d7903e68a4b071a9370 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 16 Dec 2016 22:10:35 -0600 Subject: [PATCH] Vanished players don't have rights @@ -31,10 +31,10 @@ index 60149c1ca..a5730d1c7 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 445936c7b..843c944ab 100644 +index adfc1adfa..0a7e70284 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1801,6 +1801,33 @@ public abstract class World implements IBlockAccess { +@@ -1799,6 +1799,33 @@ public abstract class World implements IBlockAccess { return this.a(axisalignedbb, (Entity) null); } @@ -68,7 +68,7 @@ index 445936c7b..843c944ab 100644 public boolean a(AxisAlignedBB axisalignedbb, @Nullable Entity entity) { List list = this.getEntities((Entity) null, axisalignedbb); -@@ -2691,7 +2718,7 @@ public abstract class World implements IBlockAccess { +@@ -2689,7 +2716,7 @@ public abstract class World implements IBlockAccess { AxisAlignedBB axisalignedbb = flag ? null : block.getBlockData().d(this, blockposition); // CraftBukkit start - store default return @@ -96,5 +96,5 @@ index 06a277b3b..5f816e44f 100644 return event; } -- -2.15.0 +2.15.1 diff --git a/Spigot-Server-Patches/0182-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0182-Option-to-prevent-armor-stands-from-doing-entity-loo.patch index 836ed0f850..7d6d51a2a6 100644 --- a/Spigot-Server-Patches/0182-Option-to-prevent-armor-stands-from-doing-entity-loo.patch +++ b/Spigot-Server-Patches/0182-Option-to-prevent-armor-stands-from-doing-entity-loo.patch @@ -1,4 +1,4 @@ -From e8c8ed97ba71d78ae174cda9add33a9b3c491b03 Mon Sep 17 00:00:00 2001 +From f33e7ac1c7ba3da738e7c02131aa9ec3909acf8a Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:52:04 -0600 Subject: [PATCH] Option to prevent armor stands from doing entity lookups @@ -19,10 +19,10 @@ index 32ca0a40e..70af657f5 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 843c944ab..30cf4a251 100644 +index 0a7e70284..90031af4d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1337,6 +1337,7 @@ public abstract class World implements IBlockAccess { +@@ -1335,6 +1335,7 @@ public abstract class World implements IBlockAccess { this.a(entity, axisalignedbb, false, arraylist); if (entity != null) { @@ -31,5 +31,5 @@ index 843c944ab..30cf4a251 100644 for (int i = 0; i < list.size(); ++i) { -- -2.14.2 +2.15.1 diff --git a/Spigot-Server-Patches/0232-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0232-Fix-MC-117075-TE-Unload-Lag-Spike.patch index 5927aa2050..05bd0836c3 100644 --- a/Spigot-Server-Patches/0232-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/Spigot-Server-Patches/0232-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -1,14 +1,14 @@ -From 96892dd268a65e7af2375a9ccd7a2286dcbfa162 Mon Sep 17 00:00:00 2001 +From 7452027038fb266d6b1331362adadf196cdc3d9d Mon Sep 17 00:00:00 2001 From: mezz Date: Wed, 9 Aug 2017 17:51:22 -0500 Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 30cf4a251..f690aaa10 100644 +index 90031af4d..67873b57b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1574,7 +1574,11 @@ public abstract class World implements IBlockAccess { +@@ -1572,7 +1572,11 @@ public abstract class World implements IBlockAccess { this.methodProfiler.c("blockEntities"); timings.tileEntityTick.startTiming(); // Spigot if (!this.tileEntityListUnload.isEmpty()) { @@ -22,5 +22,5 @@ index 30cf4a251..f690aaa10 100644 this.tileEntityListUnload.clear(); } -- -2.15.0 +2.15.1 diff --git a/Spigot-Server-Patches/0249-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0249-Option-for-maximum-exp-value-when-merging-orbs.patch index c9b65a8e4a..593da97c50 100644 --- a/Spigot-Server-Patches/0249-Option-for-maximum-exp-value-when-merging-orbs.patch +++ b/Spigot-Server-Patches/0249-Option-for-maximum-exp-value-when-merging-orbs.patch @@ -1,11 +1,11 @@ -From 9a01c82ac164d387248cbb3d008629db0d87f176 Mon Sep 17 00:00:00 2001 +From 0fd5ff2f5fdbbb4cc02543e5439004e2e049aafd Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 10 Nov 2017 23:03:12 -0500 Subject: [PATCH] Option for maximum exp value when merging orbs diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 14f652d4..47d35228 100644 +index 14f652d48..47d352285 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -452,4 +452,10 @@ public class PaperWorldConfig { @@ -20,10 +20,10 @@ index 14f652d4..47d35228 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9aec59d3..f9c5da59 100644 +index 8d28d7e19..ad55631cf 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1158,16 +1158,30 @@ public abstract class World implements IBlockAccess { +@@ -1143,16 +1143,30 @@ public abstract class World implements IBlockAccess { EntityExperienceOrb xp = (EntityExperienceOrb) entity; double radius = spigotConfig.expMerge; if (radius > 0) { @@ -56,5 +56,5 @@ index 9aec59d3..f9c5da59 100644 } // Spigot end -- -2.14.3 +2.15.1 diff --git a/work/Bukkit b/work/Bukkit index 1b5583319c..c1a0994aa6 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 1b5583319cc4a9d2e9e1a966be980b95480c3587 +Subproject commit c1a0994aa668087b94784576ea9fb45505db9f1d diff --git a/work/CraftBukkit b/work/CraftBukkit index d063cd0d3b..70cc3820cf 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit d063cd0d3b24012dc17f64be0c74eb6ce82db58b +Subproject commit 70cc3820cfe2b7e97b0096e50b6d6057857cb7cc diff --git a/work/Spigot b/work/Spigot index 00128b5307..549c1fa536 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 00128b53078dd6096a8687bceabaf879e449eb64 +Subproject commit 549c1fa536ddc0b877288e6d9252f02140e31d01