Update upstream

This commit is contained in:
Aikar 2017-12-09 12:37:09 -05:00
parent eefbd63ea9
commit ad40e694a3
No known key found for this signature in database
GPG Key ID: 401ADFC9891FAAFE
22 changed files with 107 additions and 107 deletions

View File

@ -1,4 +1,4 @@
From 19d2f5bbd5d683721b54525da8cd8aa6591689ee Mon Sep 17 00:00:00 2001
From de8e09394533bfc3baf552877d5088a7bb52eefa Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<MinecraftKey, Class<? extends TileEntity>> f = new RegistryMaterials();
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 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

View File

@ -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 <jedediah@silencegreys.com>
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

View File

@ -1,4 +1,4 @@
From 7a10da3fb20eb14e2662924c5a7d4b94809777cf Mon Sep 17 00:00:00 2001
From ee0d7d7e916d947a8fb486318b86b998649687ab Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
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

View File

@ -1,4 +1,4 @@
From ea97aaf4fc101088eba933640867fb7b23fe90f7 Mon Sep 17 00:00:00 2001
From 80f84d70004416226822704a2c67d06c21967b1d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -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 <zach.brown@destroystokyo.com>
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

View File

@ -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 <joe@ibj.io>
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<EntityHuman> players = Lists.newArrayList();
public final List<Entity> j = Lists.newArrayList();
protected final IntHashMap<Entity> 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

View File

@ -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 <joe@ibj.io>
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

View File

@ -1,4 +1,4 @@
From d9aa3ae519bd7235a528ce850414ddf33bf4b1d6 Mon Sep 17 00:00:00 2001
From 66124bd3037af7b231c57fd9b90226497c4495af Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<BlockPosition, TileEntity> 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

View File

@ -1,14 +1,14 @@
From d5c5dbd1a9fbff14c4f8d3da5c15365c8ed741bf Mon Sep 17 00:00:00 2001
From 0a2a8de008cd59aab6ac5aef1233fc37c3ab76c2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -1,4 +1,4 @@
From 4ed7d6240915b4157d0dbe0ab537b4e76061f120 Mon Sep 17 00:00:00 2001
From c5ca314202ca961e543c7bdf36cf96288f56a491 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -1,14 +1,14 @@
From 7afb68dd6652bc7684704811a4f00d94e3378599 Mon Sep 17 00:00:00 2001
From a70b4e697f8e255d15bfcf9243ef528173268fba Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -1,4 +1,4 @@
From 557026b0f5055642ce2cfc003e1e14671e17755f Mon Sep 17 00:00:00 2001
From b1691470ba918f9cc7690d548fc30a7f448bab6b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<TileEntity> tileEntityListTick = Lists.newArrayList();
private final List<TileEntity> b = Lists.newArrayList();
private final Set<TileEntity> 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

View File

@ -1,4 +1,4 @@
From 90570f88597e87920b1fee8e41d71c6af763d429 Mon Sep 17 00:00:00 2001
From 1ac1d17af48c1cc06c0240ce6bec19736689c003 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -1,4 +1,4 @@
From 675a5f849faf266403c1cca10e1db3914dd9a42e Mon Sep 17 00:00:00 2001
From 3c13e279f2a7d98057c446d5ae6bc08968e786d9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -1,4 +1,4 @@
From f526ddfc9009c6687cab1037386ba1b1af75686e Mon Sep 17 00:00:00 2001
From 2588f86cae4141fca5ac102cf7f220694b6db36b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -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 <zach.brown@destroystokyo.com>
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

View File

@ -1,4 +1,4 @@
From e8c8ed97ba71d78ae174cda9add33a9b3c491b03 Mon Sep 17 00:00:00 2001
From f33e7ac1c7ba3da738e7c02131aa9ec3909acf8a Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
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

View File

@ -1,14 +1,14 @@
From 96892dd268a65e7af2375a9ccd7a2286dcbfa162 Mon Sep 17 00:00:00 2001
From 7452027038fb266d6b1331362adadf196cdc3d9d Mon Sep 17 00:00:00 2001
From: mezz <tehgeek@gmail.com>
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

View File

@ -1,11 +1,11 @@
From 9a01c82ac164d387248cbb3d008629db0d87f176 Mon Sep 17 00:00:00 2001
From 0fd5ff2f5fdbbb4cc02543e5439004e2e049aafd Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
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

@ -1 +1 @@
Subproject commit 1b5583319cc4a9d2e9e1a966be980b95480c3587
Subproject commit c1a0994aa668087b94784576ea9fb45505db9f1d

@ -1 +1 @@
Subproject commit d063cd0d3b24012dc17f64be0c74eb6ce82db58b
Subproject commit 70cc3820cfe2b7e97b0096e50b6d6057857cb7cc

@ -1 +1 @@
Subproject commit 00128b53078dd6096a8687bceabaf879e449eb64
Subproject commit 549c1fa536ddc0b877288e6d9252f02140e31d01