Updated Upstream (Bukkit/CraftBukkit/Spigot)

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
bbfd13dd Hyperlink 'Events' in raid event package documentation
b2095bed SPIGOT-5413: Add TrustedPlayer API for foxes
1bf1f3f4 Block trace methods do not require hash sets
abf0cfdc Javadoc improvements per checkstyle
c4a2b425 Add TimeSkipEvent

CraftBukkit Changes:
817116de SPIGOT-5413: Add TrustedPlayer API for foxes
062680a8 SPIGOT-5467: Calm down bees that cannot exit hive
75fac431 SPIGOT-5472: Spurious warning when using clone command on tile entities
85106731 SPIGOT-5471: Allow empty title/author for books
2d9db47f Add TimeSkipEvent
384225c2 Add thread name to TerminalConsoleWriterThread

Spigot Changes:
05bb8bcf Postpone stopping the watchdog until the server is completely stopped
18e2b9be Add package-info.java for Spigot APIs
This commit is contained in:
Shane Freeder 2019-12-23 02:37:47 +00:00
parent 3f5564f1bc
commit f8fd607e04
No known key found for this signature in database
GPG key ID: A3F61EA5A085289C
51 changed files with 263 additions and 261 deletions

View file

@ -1,4 +1,4 @@
From db3f81a458a83b49003a7a119b920bc5ba79072c Mon Sep 17 00:00:00 2001
From 05ccd4a953088abcf6c53aa0c838659284e9c092 Mon Sep 17 00:00:00 2001
From: crast <contact@jamescrasta.com>
Date: Sat, 1 Jun 2013 13:52:30 -0600
Subject: [PATCH] Reduce thread synchronization in MetadataStoreBase
@ -8,7 +8,7 @@ limited synchronized portions to allow much higher concurrency in
MetadataStore as well as far less locking, especially on reads
diff --git a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java
index 027953499..b3d85d973 100644
index baf85022..d363d517 100644
--- a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java
+++ b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java
@@ -12,7 +12,7 @@ import org.bukkit.plugin.Plugin;
@ -56,8 +56,8 @@ index 027953499..b3d85d973 100644
return metadataMap.containsKey(key);
}
@@ -94,17 +97,18 @@ public abstract class MetadataStoreBase<T> {
* @see MetadataStore#removeMetadata(Object, String,
* org.bukkit.plugin.Plugin)
* @throws IllegalArgumentException If plugin is null
*/
- public synchronized void removeMetadata(@NotNull T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin) {
+ public void removeMetadata(@NotNull T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin) { // Paper
@ -80,8 +80,8 @@ index 027953499..b3d85d973 100644
}
@@ -117,7 +121,7 @@ public abstract class MetadataStoreBase<T> {
* @see MetadataStore#invalidateAll(org.bukkit.plugin.Plugin)
* @throws IllegalArgumentException If plugin is null
* @see MetadataStore#invalidateAll(org.bukkit.plugin.Plugin)
*/
- public synchronized void invalidateAll(@NotNull Plugin owningPlugin) {
+ public void invalidateAll(@NotNull Plugin owningPlugin) { // Paper
@ -89,5 +89,5 @@ index 027953499..b3d85d973 100644
for (Map<Plugin, MetadataValue> values : metadataMap.values()) {
if (values.containsKey(owningPlugin)) {
--
2.21.0
2.24.1

View file

@ -1,15 +1,15 @@
From 4f177edca5e5517d383f03df45effcf104dd02a0 Mon Sep 17 00:00:00 2001
From a648fedca90dbada98f8227d22e0c79faa83e2ca Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 19 Apr 2019 12:41:19 -0500
Subject: [PATCH] Mob Spawner API Enhancements
diff --git a/src/main/java/org/bukkit/block/CreatureSpawner.java b/src/main/java/org/bukkit/block/CreatureSpawner.java
index e73fb0ef0..2ff0f24d5 100644
index cb447a4a..35a599eb 100644
--- a/src/main/java/org/bukkit/block/CreatureSpawner.java
+++ b/src/main/java/org/bukkit/block/CreatureSpawner.java
@@ -199,4 +199,18 @@ public interface CreatureSpawner extends TileState {
* @param spawnRange the new spawn range
* @see #getSpawnRange()
*/
public void setSpawnRange(int spawnRange);
+
@ -28,5 +28,5 @@ index e73fb0ef0..2ff0f24d5 100644
+ // Paper end
}
--
2.21.0
2.24.1

View file

@ -1,4 +1,4 @@
From 12ab0732e7d8d1f9effeeaa572a87794c57b2a21 Mon Sep 17 00:00:00 2001
From 5419b6ac533ce107f58d0454a61e119fe9e522ca 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
@ -768,7 +768,7 @@ index 138bc38e6..906ca1bfa 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0d78187ae..490de37b6 100644
index a389fb5df..49c0764f1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -63,7 +63,7 @@ import org.bukkit.craftbukkit.CraftServer;
@ -1201,7 +1201,7 @@ index 820180ab3..fa6400dcc 100644
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 3122a02ab..a88ca336d 100644
index 9f0fce400..f1860809c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,7 @@
@ -1256,7 +1256,7 @@ index 3122a02ab..a88ca336d 100644
CrashReport crashreport = CrashReport.a(throwable, "Ticking entity");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked");
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index ecb356013..e4eee465a 100644
index c9646ebf7..924dd5e7f 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1,6 +1,8 @@
@ -1276,7 +1276,7 @@ index ecb356013..e4eee465a 100644
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.server.MapInitializeEvent;
@@ -96,10 +97,10 @@ public class WorldServer extends World {
@@ -97,10 +98,10 @@ public class WorldServer extends World {
// CraftBukkit end
this.nextTickListBlock = new TickListServer<>(this, (block) -> {
return block == null || block.getBlockData().isAir();
@ -1289,7 +1289,7 @@ index ecb356013..e4eee465a 100644
this.navigators = Sets.newHashSet();
this.I = new ObjectLinkedOpenHashSet();
this.dataManager = worldnbtstorage;
@@ -296,20 +297,24 @@ public class WorldServer extends World {
@@ -305,20 +306,24 @@ public class WorldServer extends World {
this.N();
this.a();
gameprofilerfiller.exitEnter("chunkSource");
@ -1316,7 +1316,7 @@ index ecb356013..e4eee465a 100644
gameprofilerfiller.exitEnter("blockEvents");
timings.doSounds.startTiming(); // Spigot
@@ -352,6 +357,7 @@ public class WorldServer extends World {
@@ -361,6 +366,7 @@ public class WorldServer extends World {
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
timings.entityTick.startTiming(); // Spigot
@ -1324,7 +1324,7 @@ index ecb356013..e4eee465a 100644
while (objectiterator.hasNext()) {
Entry<Entity> entry = (Entry) objectiterator.next();
Entity entity1 = (Entity) entry.getValue();
@@ -384,6 +390,7 @@ public class WorldServer extends World {
@@ -393,6 +399,7 @@ public class WorldServer extends World {
gameprofilerfiller.enter("tick");
if (!entity1.dead && !(entity1 instanceof EntityComplexPart)) {
this.a(this::entityJoinedWorld, entity1);
@ -1332,7 +1332,7 @@ index ecb356013..e4eee465a 100644
}
gameprofilerfiller.exit();
@@ -400,9 +407,11 @@ public class WorldServer extends World {
@@ -409,9 +416,11 @@ public class WorldServer extends World {
this.tickingEntities = false;
@ -1344,7 +1344,7 @@ index ecb356013..e4eee465a 100644
gameprofilerfiller.exit();
timings.tickEntities.stopTiming(); // Spigot
@@ -467,6 +476,7 @@ public class WorldServer extends World {
@@ -476,6 +485,7 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("tickBlocks");
@ -1352,7 +1352,7 @@ index ecb356013..e4eee465a 100644
if (i > 0) {
ChunkSection[] achunksection = chunk.getSections();
int l = achunksection.length;
@@ -498,7 +508,7 @@ public class WorldServer extends World {
@@ -507,7 +517,7 @@ public class WorldServer extends World {
}
}
}
@ -1361,7 +1361,7 @@ index ecb356013..e4eee465a 100644
gameprofilerfiller.exit();
}
@@ -780,6 +790,7 @@ public class WorldServer extends World {
@@ -789,6 +799,7 @@ public class WorldServer extends World {
if (!flag1) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@ -1369,7 +1369,7 @@ index ecb356013..e4eee465a 100644
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
}
@@ -789,7 +800,10 @@ public class WorldServer extends World {
@@ -798,7 +809,10 @@ public class WorldServer extends World {
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
}

View file

@ -1,4 +1,4 @@
From e33a76a4bc07f876fb9af25842d3d51294d765d9 Mon Sep 17 00:00:00 2001
From fec6c0a48a5a02df39161b7b8be75639cb0735f2 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
@ -51,7 +51,7 @@ index 2c36fc71c..29e6b88d2 100644
NBTTagList nbttaglist = new NBTTagList();
double[] adouble1 = adouble;
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index d835b9f85..55d1b3529 100644
index 0342c873a..c3c3e58ce 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -252,6 +252,14 @@ public class EntityFallingBlock extends Entity {
@ -70,7 +70,7 @@ index d835b9f85..55d1b3529 100644
public void a(boolean flag) {
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
index b92c8c47f..7625dca00 100644
index 33c51dced..346315acb 100644
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
@@ -103,6 +103,14 @@ public class EntityTNTPrimed extends Entity {
@ -89,7 +89,7 @@ index b92c8c47f..7625dca00 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
index 22035b6c0..342484373 100644
index 5406f4c40..d778eac45 100644
--- a/src/main/java/net/minecraft/server/NBTTagList.java
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
@@ -188,6 +188,7 @@ public class NBTTagList extends NBTList<NBTBase> {
@ -101,10 +101,10 @@ index 22035b6c0..342484373 100644
if (i >= 0 && i < this.list.size()) {
NBTBase nbtbase = (NBTBase) this.list.get(i);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index e4eee465a..4b619dc3d 100644
index 924dd5e7f..0584cd314 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1155,6 +1155,11 @@ public class WorldServer extends World {
@@ -1164,6 +1164,11 @@ public class WorldServer extends World {
this.navigators.add(((EntityInsentient) entity).getNavigation());
}
entity.valid = true; // CraftBukkit

View file

@ -1,4 +1,4 @@
From cb98a880d1f6001a5cb252f2a0160ecfddb59668 Mon Sep 17 00:00:00 2001
From b2aec65ac322df62cebdd5deb0cfaa32a2d94714 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:52:43 -0600
Subject: [PATCH] Disable thunder
@ -19,10 +19,10 @@ index 25e071718..41436a4ea 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 4b619dc3d..09a1f3ce3 100644
index 0584cd314..387136140 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -437,7 +437,7 @@ public class WorldServer extends World {
@@ -446,7 +446,7 @@ public class WorldServer extends World {
gameprofilerfiller.enter("thunder");
BlockPosition blockposition;

View file

@ -1,4 +1,4 @@
From bc65337839b0d346936071cb6b9e770d7408fcb7 Mon Sep 17 00:00:00 2001
From ea36944e4b2f0f7c0edff0ff49ce97e08870ba48 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:57:24 -0600
Subject: [PATCH] Disable ice and snow
@ -19,10 +19,10 @@ index 41436a4ea..f53d8b967 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 09a1f3ce3..280932ce1 100644
index 387136140..c40aebc41 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -457,7 +457,7 @@ public class WorldServer extends World {
@@ -466,7 +466,7 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("iceandsnow");

View file

@ -1,4 +1,4 @@
From 663ff229ed64a491e7b1de9d304170322485adbf Mon Sep 17 00:00:00 2001
From c3f360656a2f726e381153cd7b86f77c9b6561ca Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 22 Mar 2016 12:04:28 -0500
Subject: [PATCH] Configurable spawn chances for skeleton horses
@ -22,10 +22,10 @@ index 64146effd..cc81e1cae 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 280932ce1..38bbb3ce2 100644
index c40aebc41..5bb94fb5e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -441,7 +441,7 @@ public class WorldServer extends World {
@@ -450,7 +450,7 @@ public class WorldServer extends World {
blockposition = this.a(this.a(j, 0, k, 15));
if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);

View file

@ -1,4 +1,4 @@
From cf0c7060639d7bb09fdcf9f8597c734db294004e Mon Sep 17 00:00:00 2001
From c0ffb2e399cf9413777905bb93594a900b7506ad Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 19:55:45 -0400
Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
@ -32,7 +32,7 @@ index 42e86881b..6cdce1158 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 81d3a5262..25774fb73 100644
index 3f27c1c6c..457eea125 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1136,6 +1136,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -44,7 +44,7 @@ index 81d3a5262..25774fb73 100644
this.methodProfiler.a(() -> {
return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager());
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 0138b6bbe..1519e9e6b 100644
index ea2e92967..38ab4628d 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -390,7 +390,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -66,10 +66,10 @@ index 0138b6bbe..1519e9e6b 100644
this.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 38bbb3ce2..70b8b41ea 100644
index 5bb94fb5e..354400504 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -74,6 +74,7 @@ public class WorldServer extends World {
@@ -75,6 +75,7 @@ public class WorldServer extends World {
// CraftBukkit start
private int tickPosition;
@ -78,5 +78,5 @@ index 38bbb3ce2..70b8b41ea 100644
// Add env and gen to constructor
public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
--
2.24.0
2.24.1

View file

@ -1,14 +1,14 @@
From 95e3c5995098349a8c663fcb5198cee5b4dce478 Mon Sep 17 00:00:00 2001
From 9a72456102d41c94b143f280a277ac24859c17d5 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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 70b8b41ea..5a813c93f 100644
index 354400504..ec8e07d3f 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1123,7 +1123,7 @@ public class WorldServer extends World {
@@ -1132,7 +1132,7 @@ public class WorldServer extends World {
if (entity instanceof EntityInsentient) {
this.navigators.remove(((EntityInsentient) entity).getNavigation());
}
@ -17,7 +17,7 @@ index 70b8b41ea..5a813c93f 100644
entity.valid = false; // CraftBukkit
}
@@ -1161,6 +1161,7 @@ public class WorldServer extends World {
@@ -1170,6 +1170,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end

View file

@ -1,4 +1,4 @@
From 6251ee3823300c9286d5f21cab7ee79f64ba84a3 Mon Sep 17 00:00:00 2001
From 8f6b97e704c5433fc6957265c4c2bb776dfc95ab 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 4870264c6..b2cc85834 100644
index 9d68451c8..959d2543c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -40,7 +40,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -57,7 +57,7 @@ index 4870264c6..b2cc85834 100644
this.a(tileentity1);
}
// CraftBukkit end
@@ -1017,7 +1017,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1024,7 +1024,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
} else {
if (tileentity != null) {
this.tileEntityListPending.remove(tileentity);
@ -67,10 +67,10 @@ index 4870264c6..b2cc85834 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5a813c93f..8b17fb4b4 100644
index ec8e07d3f..f5031aed8 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1608,7 +1608,7 @@ public class WorldServer extends World {
@@ -1617,7 +1617,7 @@ public class WorldServer extends World {
}
bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size()));
@ -79,7 +79,7 @@ index 5a813c93f..8b17fb4b4 100644
bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a()));
bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a()));
bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n");
@@ -1771,7 +1771,7 @@ public class WorldServer extends World {
@@ -1780,7 +1780,7 @@ public class WorldServer extends World {
private void a(Writer writer) throws IOException {
CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer);
@ -89,5 +89,5 @@ index 5a813c93f..8b17fb4b4 100644
while (iterator.hasNext()) {
TileEntity tileentity = (TileEntity) iterator.next();
--
2.24.0
2.24.1

View file

@ -1,4 +1,4 @@
From 99a32746f9f98097d1a0708afde5fe5a246dfb3b Mon Sep 17 00:00:00 2001
From 597b89b9e2c61b27511352878a90af75de5db2a4 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 761fe32ba..242d0df1c 100644
index 4a2009550..2cce9d12f 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -615,6 +615,12 @@ public abstract class EntityHuman extends EntityLiving {
@ -102,10 +102,10 @@ index a56ac3da8..2f1be1995 100644
for ( org.bukkit.map.MapCursor cursor : render.cursors) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 8b17fb4b4..bba5013d2 100644
index f5031aed8..8b3f6b2e1 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1085,6 +1085,7 @@ public class WorldServer extends World {
@@ -1094,6 +1094,7 @@ public class WorldServer extends World {
{
if ( iter.next().trackee == entity )
{

View file

@ -1,4 +1,4 @@
From 9fa000d9172e630347678fb1b18345eaba93e149 Mon Sep 17 00:00:00 2001
From d9e254254db880d33ffa8ee1c9c04e297b98cd8b 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,10 +8,10 @@ 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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index bba5013d2..8bac56350 100644
index 8b3f6b2e1..b62e641e6 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -974,6 +974,7 @@ public class WorldServer extends World {
@@ -983,6 +983,7 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot

View file

@ -1,4 +1,4 @@
From 8c7505611a70a6af57cfd8be15fd6c5a83d314d2 Mon Sep 17 00:00:00 2001
From 6e50dc8bbe8fc8a73a37458727e1d655cab8ae7d 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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 8bac56350..f84e727d9 100644
index b62e641e6..9063e4b77 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -673,7 +673,7 @@ public class WorldServer extends World {
@@ -682,7 +682,7 @@ public class WorldServer extends World {
public void chunkCheck(Entity entity) {
this.getMethodProfiler().enter("chunkCheck");
int i = MathHelper.floor(entity.locX() / 16.0D);

View file

@ -1,4 +1,4 @@
From f7deaf13648aaedfe20b2f5b6dcebb9d93ff870e Mon Sep 17 00:00:00 2001
From 2fded221da29e5432bed979c39cdf5fb06ab3555 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 7 Jan 2017 15:24:46 -0500
Subject: [PATCH] Provide E/TE/Chunk count stat methods
@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f600d7f7c3..2abebd465a 100644
index 48e25e190..7b182498c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -275,6 +275,48 @@ public class CraftWorld implements World {
@@ -276,6 +276,48 @@ public class CraftWorld implements World {
private int waterAnimalSpawn = -1;
private int ambientSpawn = -1;

View file

@ -1,4 +1,4 @@
From 0050e0fa6932fe76fa2536579df095b8a45a893b Mon Sep 17 00:00:00 2001
From 54c157582993362948f295ca0fd3a629db0318fc Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 16:31:46 -0500
Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player
@ -265,10 +265,10 @@ index 2a51a241e..0419aea92 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2abebd465..1e59f3f14 100644
index 7b182498c..3fd589a53 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1773,7 +1773,7 @@ public class CraftWorld implements World {
@@ -1781,7 +1781,7 @@ public class CraftWorld implements World {
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
entity = new EntityTNTPrimed(world, x, y, z, null);
} else if (ExperienceOrb.class.isAssignableFrom(clazz)) {

View file

@ -1,4 +1,4 @@
From 66c89823b46d9e650360ebebe95bb84b06856cec Mon Sep 17 00:00:00 2001
From 1d3f1f1d45631a0ce0d518a2b55e88bfc6eb7271 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Fri, 9 Jun 2017 19:03:43 +0200
Subject: [PATCH] Use TerminalConsoleAppender for console improvements
@ -19,7 +19,7 @@ Other changes:
configuration
diff --git a/pom.xml b/pom.xml
index ae1de6d010..f716e98702 100644
index 22e4ce22a..011920eb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,10 +41,27 @@
@ -75,7 +75,7 @@ index ae1de6d010..f716e98702 100644
<groupId>org.apache.maven.plugins</groupId>
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
new file mode 100644
index 0000000000..cd6e259239
index 000000000..cd6e25923
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
@@ -0,0 +1,40 @@
@ -121,7 +121,7 @@ index 0000000000..cd6e259239
+}
diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
new file mode 100644
index 0000000000..685deaa0e5
index 000000000..685deaa0e
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
@@ -0,0 +1,17 @@
@ -143,7 +143,7 @@ index 0000000000..685deaa0e5
+
+}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index a5a8bad4f8..dfe8062919 100644
index a5a8bad4f..dfe806291 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -85,6 +85,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -185,7 +185,7 @@ index a5a8bad4f8..dfe8062919 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 a180ba6b0c..7df3ae0ec5 100644
index 321875948..44c8dffd2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate;
@ -226,7 +226,7 @@ index a180ba6b0c..7df3ae0ec5 100644
}
// CraftBukkit end
@@ -950,7 +954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} finally {
org.spigotmc.WatchdogThread.doStop(); // Spigot
// CraftBukkit start - Restore terminal to original settings
try {
- reader.getTerminal().restore();
@ -244,7 +244,7 @@ index a180ba6b0c..7df3ae0ec5 100644
public KeyPair getKeyPair() {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 1eb53f67ef..308bc3baf2 100644
index 1eb53f67e..308bc3baf 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -76,8 +76,7 @@ public abstract class PlayerList {
@ -258,7 +258,7 @@ index 1eb53f67ef..308bc3baf2 100644
this.k = new GameProfileBanList(PlayerList.b);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 77bb686052..cd58906ad4 100644
index 77bb68605..cd58906ad 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -41,7 +41,6 @@ import java.util.function.Consumer;
@ -284,7 +284,7 @@ index 77bb686052..cd58906ad4 100644
@Override
public PluginCommand getPluginCommand(String name) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 4a4e56e764..b562e95dcd 100644
index 4a4e56e76..b562e95dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -13,7 +13,7 @@ import java.util.logging.Logger;
@ -335,7 +335,7 @@ index 4a4e56e764..b562e95dcd 100644
} catch (Throwable t) {
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
deleted file mode 100644
index fdf2f075e2..0000000000
index fdf2f075e..000000000
--- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
+++ /dev/null
@@ -1,72 +0,0 @@
@ -412,7 +412,7 @@ index fdf2f075e2..0000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
index befcc19f9b..5510266fb1 100644
index befcc19f9..5510266fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
@@ -4,20 +4,31 @@ import java.util.Collections;
@ -495,7 +495,7 @@ index befcc19f9b..5510266fb1 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
index 70f8d42992..449e99d1b6 100644
index 70f8d4299..449e99d1b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
@@ -17,7 +17,7 @@ public class ServerShutdownThread extends Thread {
@ -509,10 +509,10 @@ index 70f8d42992..449e99d1b6 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
deleted file mode 100644
index f267f99f96..0000000000
index 99564fed7..000000000
--- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
+++ /dev/null
@@ -1,57 +0,0 @@
@@ -1,58 +0,0 @@
-package org.bukkit.craftbukkit.util;
-
-import com.mojang.util.QueueLogAppender;
@ -530,6 +530,7 @@ index f267f99f96..0000000000
- private final OutputStream output;
-
- public TerminalConsoleWriterThread(OutputStream output, ConsoleReader reader) {
- super("TerminalConsoleWriter");
- this.output = output;
- this.reader = reader;
-
@ -572,13 +573,13 @@ index f267f99f96..0000000000
-}
diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties
new file mode 100644
index 0000000000..0694b21465
index 000000000..0694b2146
--- /dev/null
+++ b/src/main/resources/log4j2.component.properties
@@ -0,0 +1 @@
+log4j.skipJansi=true
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 490a9acc70..08b6bb7f97 100644
index 490a9acc7..08b6bb7f9 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -1,12 +1,11 @@

View file

@ -1,4 +1,4 @@
From d6bb623518ca5a620eef3aa68a872719f181e8f3 Mon Sep 17 00:00:00 2001
From 4cc965ff50495cae65df8f0e6ba4b969f2283a1c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 15 Aug 2017 22:29:12 -0400
Subject: [PATCH] Expand World.spawnParticle API and add Builder
@ -10,10 +10,10 @@ Adds an option to control the force mode of the particle.
This adds a new Builder API which is much friendlier to use.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f84e727d9f..8a8c2eaf58 100644
index 9063e4b77..abf91bd8c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -55,7 +55,7 @@ public class WorldServer extends World {
@@ -56,7 +56,7 @@ public class WorldServer extends World {
public final Int2ObjectMap<Entity> entitiesById = new Int2ObjectLinkedOpenHashMap();
private final Map<UUID, Entity> entitiesByUUID = Maps.newHashMap();
private final Queue<Entity> entitiesToAdd = Queues.newArrayDeque();
@ -22,7 +22,7 @@ index f84e727d9f..8a8c2eaf58 100644
boolean tickingEntities;
private final MinecraftServer server;
private final WorldNBTStorage dataManager;
@@ -1381,12 +1381,17 @@ public class WorldServer extends World {
@@ -1390,12 +1390,17 @@ public class WorldServer extends World {
}
public <T extends ParticleParam> int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) {
@ -43,10 +43,10 @@ index f84e727d9f..8a8c2eaf58 100644
if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 1e59f3f147..2f1f308ab1 100644
index 3fd589a53..f0cd2afb5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2233,11 +2233,17 @@ public class CraftWorld implements World {
@@ -2241,11 +2241,17 @@ public class CraftWorld implements World {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {

View file

@ -1,4 +1,4 @@
From bf1fd2d7de1417e3d99088b483c266b01f0aa7bf Mon Sep 17 00:00:00 2001
From 86b4d607dc8d51c4cb1e74aa8603e5f8241dc174 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 4 Jun 2018 20:39:20 -0400
Subject: [PATCH] Allow spawning Item entities with World.spawnEntity
@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function
Item can be set inside of the Consumer pre spawn function.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2f1f308ab1..b66fa7b894 100644
index f0cd2afb5..24b79d110 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1465,6 +1465,10 @@ public class CraftWorld implements World {
@@ -1473,6 +1473,10 @@ public class CraftWorld implements World {
if (Boat.class.isAssignableFrom(clazz)) {
entity = new EntityBoat(world, x, y, z);
entity.setPositionRotation(x, y, z, yaw, pitch);

View file

@ -1,4 +1,4 @@
From 785f14773759aa29e05181fe93d709fc85338715 Mon Sep 17 00:00:00 2001
From a1bfec9d57d7efc546da0cd581aa0589616ad73d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 20 Jun 2018 23:17:24 -0400
Subject: [PATCH] Expand Explosions API
@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API
Add Entity as a Source capability, and add more API choices, and on Location.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index b66fa7b894..c31737d352 100644
index 24b79d110..ec537cc8e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -874,6 +874,11 @@ public class CraftWorld implements World {
@@ -882,6 +882,11 @@ public class CraftWorld implements World {
public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) {
return !world.createExplosion(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled;
}

View file

@ -1,14 +1,14 @@
From 504c9116b9c34bfa669b838fc2ff855bff1b0383 Mon Sep 17 00:00:00 2001
From 76317629574e8b9078176aa0a1338e445db0e7ba Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 3 Jul 2018 16:08:14 +0200
Subject: [PATCH] Implement World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index c31737d352..022eefc677 100644
index ec537cc8e..467773868 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1267,6 +1267,15 @@ public class CraftWorld implements World {
@@ -1275,6 +1275,15 @@ public class CraftWorld implements World {
return list;
}

View file

@ -1,4 +1,4 @@
From 7a96a2dfaadbf787727303f0241178e4d150bf75 Mon Sep 17 00:00:00 2001
From a87a35119354a4e30385988d81eca2597fa14df7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 3 Jul 2018 21:56:23 -0400
Subject: [PATCH] InventoryCloseEvent Reason API
@ -114,10 +114,10 @@ index 002f7e844..fd0f5c6f2 100644
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
cserver.getPluginManager().callEvent(playerQuitEvent);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 8a8c2eaf5..eb311a731 100644
index abf91bd8c..fa7b38a5c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1027,7 +1027,7 @@ public class WorldServer extends World {
@@ -1036,7 +1036,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
@ -126,7 +126,7 @@ index 8a8c2eaf5..eb311a731 100644
}
}
}
@@ -1050,7 +1050,7 @@ public class WorldServer extends World {
@@ -1059,7 +1059,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{

View file

@ -1,4 +1,4 @@
From a6b7202d3c5020bad4cf3a4ddac6ec7bed687c8a Mon Sep 17 00:00:00 2001
From a6e586600f6ce7513744a523bae5cbac889e4f49 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 19 Jul 2018 01:08:05 -0400
Subject: [PATCH] Re-add vanilla entity warnings for duplicates
@ -8,10 +8,10 @@ These are a critical sign that somethin went wrong, and you've lost some data...
We should kind of know about these things you know.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index eb311a731f..7d99d34ae5 100644
index fa7b38a5c..d30f2f18a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1012,7 +1012,8 @@ public class WorldServer extends World {
@@ -1021,7 +1021,8 @@ public class WorldServer extends World {
if (entity1 == null) {
return false;
} else {

View file

@ -1,4 +1,4 @@
From b4ce7aea9124f040e0957161a0968112fc2ff61f Mon Sep 17 00:00:00 2001
From 133c4428c9213988f6aa1456827a302ae93f9600 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 21 Jul 2018 08:25:40 -0400
Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
@ -40,7 +40,7 @@ index 6012b86f1..c97349010 100644
protected void g() {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 838651c78..5d0a14577 100644
index e2caba80c..257ea4f33 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -67,6 +67,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -52,10 +52,10 @@ index 838651c78..5d0a14577 100644
public boolean captureBlockStates = false;
public boolean captureTreeGeneration = false;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 7d99d34ae..0cd48c5bc 100644
index d30f2f18a..aaf35e02f 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -75,6 +75,9 @@ public class WorldServer extends World {
@@ -76,6 +76,9 @@ public class WorldServer extends World {
// CraftBukkit start
private int tickPosition;
boolean hasPhysicsEvent = true; // Paper
@ -65,7 +65,7 @@ index 7d99d34ae..0cd48c5bc 100644
// Add env and gen to constructor
public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
@@ -974,8 +977,28 @@ public class WorldServer extends World {
@@ -983,8 +986,28 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
@ -95,7 +95,7 @@ index 7d99d34ae..0cd48c5bc 100644
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit
return false;
} else if (this.isUUIDTaken(entity)) {
@@ -1147,7 +1170,24 @@ public class WorldServer extends World {
@@ -1156,7 +1179,24 @@ public class WorldServer extends World {
}
}

View file

@ -1,4 +1,4 @@
From f14d77d2ac1d21189dd71118d653b9dabcddc866 Mon Sep 17 00:00:00 2001
From 677215f1242eeca88026b5d9c9bb367b3cb5f8c1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 28 Jul 2018 12:18:27 -0400
Subject: [PATCH] Ignore Dead Entities in entityList iteration
@ -11,7 +11,7 @@ This will ensure that dead entities are skipped from iteration since
they shouldn't of been in the list in the first place.
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index eecf27370b..d704fc79c0 100644
index eecf27370..d704fc79c 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -179,6 +179,7 @@ public class PaperCommand extends Command {
@ -23,7 +23,7 @@ index eecf27370b..d704fc79c0 100644
MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index b156f5428c..c7c600b80c 100644
index b156f5428..c7c600b80 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -671,6 +671,7 @@ public class Chunk implements IChunkAccess {
@ -51,7 +51,7 @@ index b156f5428c..c7c600b80c 100644
if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check
list.add(t0);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index be8f6ac99f..4a931aaf42 100644
index be8f6ac99..4a931aaf4 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -196,6 +196,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -63,10 +63,10 @@ index be8f6ac99f..4a931aaf42 100644
public float getBukkitYaw() {
return this.yaw;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 0cd48c5bcf..f4d6c68f4d 100644
index aaf35e02f..71da6f37e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -885,7 +885,7 @@ public class WorldServer extends World {
@@ -894,7 +894,7 @@ public class WorldServer extends World {
while (objectiterator.hasNext()) {
Entity entity = (Entity) objectiterator.next();
@ -75,7 +75,7 @@ index 0cd48c5bcf..f4d6c68f4d 100644
if (entity instanceof EntityInsentient) {
EntityInsentient entityinsentient = (EntityInsentient) entity;
@@ -1204,6 +1204,7 @@ public class WorldServer extends World {
@@ -1213,6 +1213,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end
@ -83,7 +83,7 @@ index 0cd48c5bcf..f4d6c68f4d 100644
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
}
@@ -1216,6 +1217,7 @@ public class WorldServer extends World {
@@ -1225,6 +1226,7 @@ public class WorldServer extends World {
this.removeEntityFromChunk(entity);
this.entitiesById.remove(entity.getId());
this.unregisterEntity(entity);
@ -92,10 +92,10 @@ index 0cd48c5bcf..f4d6c68f4d 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 022eefc677..4da55e0df5 100644
index 467773868..a9275137e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1003,6 +1003,7 @@ public class CraftWorld implements World {
@@ -1011,6 +1011,7 @@ public class CraftWorld implements World {
for (Object o : world.entitiesById.values()) {
if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
@ -103,7 +103,7 @@ index 022eefc677..4da55e0df5 100644
Entity bukkitEntity = mcEnt.getBukkitEntity();
// Assuming that bukkitEntity isn't null
@@ -1022,6 +1023,7 @@ public class CraftWorld implements World {
@@ -1030,6 +1031,7 @@ public class CraftWorld implements World {
for (Object o : world.entitiesById.values()) {
if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
@ -111,7 +111,7 @@ index 022eefc677..4da55e0df5 100644
Entity bukkitEntity = mcEnt.getBukkitEntity();
// Assuming that bukkitEntity isn't null
@@ -1048,6 +1050,7 @@ public class CraftWorld implements World {
@@ -1056,6 +1058,7 @@ public class CraftWorld implements World {
for (Object entity: world.entitiesById.values()) {
if (entity instanceof net.minecraft.server.Entity) {
@ -119,7 +119,7 @@ index 022eefc677..4da55e0df5 100644
Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity();
if (bukkitEntity == null) {
@@ -1071,6 +1074,7 @@ public class CraftWorld implements World {
@@ -1079,6 +1082,7 @@ public class CraftWorld implements World {
for (Object entity: world.entitiesById.values()) {
if (entity instanceof net.minecraft.server.Entity) {

View file

@ -1,4 +1,4 @@
From 3798c3bcf6c92ae3bf115afd5df33e41b17c07c7 Mon Sep 17 00:00:00 2001
From a06e7f64ec3e47385a8f00de2dd6a4f01f96089a Mon Sep 17 00:00:00 2001
From: miclebrick <miclebrick@outlook.com>
Date: Wed, 8 Aug 2018 15:30:52 -0400
Subject: [PATCH] Add Early Warning Feature to WatchDog
@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash.
This will help diagnose what was going on in that time before the crash.
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index adef07d4d5..214b577b32 100644
index adef07d4d..214b577b3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -24,6 +24,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
@ -36,7 +36,7 @@ index adef07d4d5..214b577b32 100644
public static int tabSpamLimit = 500;
private static void tabSpamLimiters() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 97a0a69247..dd2d8712ed 100644
index e75e976ff..1251f4581 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -869,6 +869,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -48,7 +48,7 @@ index 97a0a69247..dd2d8712ed 100644
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 296a11f141..8636283fd1 100644
index 296a11f14..8636283fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -758,6 +758,7 @@ public final class CraftServer implements Server {
@ -68,7 +68,7 @@ index 296a11f141..8636283fd1 100644
@Override
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 1cf214eaca..e66050b87a 100644
index 1cf214eac..e66050b87 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -225,7 +225,7 @@ public class SpigotConfig
@ -81,7 +81,7 @@ index 1cf214eaca..e66050b87a 100644
public static boolean bungee;
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index 9532aada82..a1d93200e6 100644
index 121c7ff60..07936eeba 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -5,6 +5,7 @@ import java.lang.management.MonitorInfo;
@ -112,7 +112,7 @@ index 9532aada82..a1d93200e6 100644
}
private static long monotonicMillis()
@@ -56,10 +63,17 @@ public class WatchdogThread extends Thread
@@ -56,10 +63,18 @@ public class WatchdogThread extends Thread
{
while ( !stopping )
{
@ -127,13 +127,14 @@ index 9532aada82..a1d93200e6 100644
+ boolean isLongTimeout = currentTime > lastTick + timeoutTime;
+ // Don't spam early warning dumps
+ if ( !isLongTimeout && (earlyWarningEvery <= 0 || !hasStarted || currentTime < lastEarlyWarning + earlyWarningEvery || currentTime < lastTick + earlyWarningDelay)) continue;
+ if ( !isLongTimeout && MinecraftServer.getServer().hasStopped()) continue; // Don't spam early watchdog warnings during shutdown, we'll come back to this...
+ lastEarlyWarning = currentTime;
+ if (isLongTimeout) {
+ // Paper end
log.log( Level.SEVERE, "------------------------------" );
log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Paper bug." ); // Paper
log.log( Level.SEVERE, "If you see a plugin in the Server thread dump below, then please report it to that author" );
@@ -89,29 +103,46 @@ public class WatchdogThread extends Thread
@@ -89,29 +104,46 @@ public class WatchdogThread extends Thread
}
}
// Paper end
@ -166,7 +167,7 @@ index 9532aada82..a1d93200e6 100644
+ if ( isLongTimeout )
+ {
if ( restart )
if ( restart && !MinecraftServer.getServer().hasStopped() )
{
RestartCommand.restart();
}

View file

@ -1,11 +1,11 @@
From e4699158564e1f29cbc7ff4c82964f5b7af6529e Mon Sep 17 00:00:00 2001
From b6769bd6ed23f65f8a4fda99b9d4b61bdb27883a Mon Sep 17 00:00:00 2001
From: Mystiflow <mystiflow@gmail.com>
Date: Fri, 6 Jul 2018 13:21:30 +0100
Subject: [PATCH] Send nearby packets from world player list not server list
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index fd0f5c6f29..e46436623c 100644
index fd0f5c6f2..e46436623 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -923,8 +923,25 @@ public abstract class PlayerList {
@ -46,10 +46,10 @@ index fd0f5c6f29..e46436623c 100644
double d5 = d1 - entityplayer.locY();
double d6 = d2 - entityplayer.locZ();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f4d6c68f4d..a0c7141294 100644
index 71da6f37e..00a1fe759 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1250,7 +1250,7 @@ public class WorldServer extends World {
@@ -1259,7 +1259,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);
@ -58,7 +58,7 @@ index f4d6c68f4d..a0c7141294 100644
}
@Override
@@ -1382,7 +1382,7 @@ public class WorldServer extends World {
@@ -1391,7 +1391,7 @@ public class WorldServer extends World {
BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst();
if (this.a(blockactiondata)) {
@ -68,10 +68,10 @@ index f4d6c68f4d..a0c7141294 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 4da55e0df5..7d8ec94508 100644
index a9275137e..7d620ef59 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2068,7 +2068,7 @@ public class CraftWorld implements World {
@@ -2076,7 +2076,7 @@ public class CraftWorld implements World {
double z = loc.getZ();
PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch);

View file

@ -1,4 +1,4 @@
From 2c13d701a9622e0b5d380f32f396ec529d99f220 Mon Sep 17 00:00:00 2001
From 9bcdfcfff2a1bcf8df643d2c3589e446f5707347 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sun, 2 Sep 2018 19:34:33 -0700
Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 7d8ec94508..8a0675037a 100644
index 7d620ef59..a9258b975 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -500,7 +500,7 @@ public class CraftWorld implements World {
@@ -501,7 +501,7 @@ public class CraftWorld implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot

View file

@ -1,4 +1,4 @@
From dfeec0c304273748ef2d8c84c8f709c4a0a9c986 Mon Sep 17 00:00:00 2001
From 3ea138c5a2f03731148659ad7268607897929c71 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 7 Oct 2018 00:54:21 -0500
Subject: [PATCH] Add sun related API
@ -17,10 +17,10 @@ index 5ca281172..e259c868e 100644
if (this.world.isDay() && !this.world.isClientSide) {
float f = this.aI();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8a0675037..9def4b01f 100644
index a9258b975..7761af906 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -855,6 +855,13 @@ public class CraftWorld implements World {
@@ -863,6 +863,13 @@ public class CraftWorld implements World {
}
}

View file

@ -1,11 +1,11 @@
From c430c8018281f7ebbfab4a4d44b8a1a5808987f5 Mon Sep 17 00:00:00 2001
From 0b13559bf28c95ee98407b3e6b0fb58c5a92c186 Mon Sep 17 00:00:00 2001
From: Trigary <trigary0@gmail.com>
Date: Fri, 14 Sep 2018 17:42:08 +0200
Subject: [PATCH] Limit lightning strike effect distance
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 50ac7afa36..7dda0803c4 100644
index 50ac7afa3..7dda0803c 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -240,6 +240,28 @@ public class PaperWorldConfig {
@ -38,7 +38,7 @@ index 50ac7afa36..7dda0803c4 100644
private void fixedInhabitedTime() {
if (PaperConfig.version < 16) {
diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java
index 7c518983a9..bdb534deb4 100644
index 7c518983a..bdb534deb 100644
--- a/src/main/java/net/minecraft/server/EntityLightning.java
+++ b/src/main/java/net/minecraft/server/EntityLightning.java
@@ -64,6 +64,17 @@ public class EntityLightning extends Entity {
@ -69,10 +69,10 @@ index 7c518983a9..bdb534deb4 100644
--this.lifeTicks;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index a0c7141294..ecfcecfdc2 100644
index 00a1fe759..bcf406f22 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1250,7 +1250,7 @@ public class WorldServer extends World {
@@ -1259,7 +1259,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);

View file

@ -1,4 +1,4 @@
From 324c940c895a6b81e18157a5aa86c6bae9592b00 Mon Sep 17 00:00:00 2001
From 9382064df0fb23829f26cfa668d948625c046239 Mon Sep 17 00:00:00 2001
From: theosib <millerti@172.16.221.1>
Date: Thu, 27 Sep 2018 01:43:35 -0600
Subject: [PATCH] Optimize redstone algorithm
@ -1124,7 +1124,7 @@ index 5bf2fc0b3..52a4982ec 100644
c(iblockdata, world, blockposition);
world.a(blockposition, false);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 1fbecceb9..ced4e5e00 100644
index b6d904007..697c99d94 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -543,6 +543,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -1135,7 +1135,7 @@ index 1fbecceb9..ced4e5e00 100644
public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) {
if (!this.isClientSide) {
IBlockData iblockdata = this.getType(blockposition);
@@ -1291,6 +1292,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1298,6 +1299,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0))));
}

View file

@ -1,4 +1,4 @@
From fb92210339f1d8233f92eec22ced9465bb0fb3af Mon Sep 17 00:00:00 2001
From af87f78dd526e4e86214023e9da175cd5e0e46db Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 24 Mar 2019 00:24:52 -0400
Subject: [PATCH] Entity#getEntitySpawnReason
@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners,
or DEFAULT since data was not stored.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 2e8aedf5fb..96b0917a3b 100644
index 2e8aedf5f..96b0917a3 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -72,6 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -59,7 +59,7 @@ index 2e8aedf5fb..96b0917a3b 100644
} catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 9d715d891d..49437f2124 100644
index 9d715d891..49437f212 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -251,7 +251,7 @@ public abstract class PlayerList {
@ -72,10 +72,10 @@ index 9d715d891d..49437f2124 100644
});
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index ecfcecfdc2..63e7f2bce7 100644
index bcf406f22..8428ce779 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -977,6 +977,7 @@ public class WorldServer extends World {
@@ -986,6 +986,7 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
@ -84,7 +84,7 @@ index ecfcecfdc2..63e7f2bce7 100644
if (entity.valid) {
MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 915ccb1807..dfa15372b8 100644
index 915ccb180..dfa15372b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1051,5 +1051,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {

View file

@ -1,4 +1,4 @@
From ce387ed73b42b470bffc930031a18ced0b092f0d Mon Sep 17 00:00:00 2001
From 2b71f54314ccc158d0be01e9ea15d667e9c88e95 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 6 Apr 2019 10:16:48 -0400
Subject: [PATCH] Optimize Captured TileEntity Lookup
@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to
just do a get call since the value can never be null.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 45389f2ab..f59bdd1b9 100644
index e07e63e55..3e57546a3 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1016,12 +1016,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1023,12 +1023,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return null;
} else {
// CraftBukkit start

View file

@ -1,11 +1,11 @@
From a7de9681908350f748dcb6e52078bbd34ac04bfc Mon Sep 17 00:00:00 2001
From 681d0a4378f3e6101c324345238cb320cec62b6a Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Tue, 1 Jan 2019 02:22:01 -0800
Subject: [PATCH] Add Heightmap API
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index a99b2405c9..1846aacc9a 100644
index 3e57546a3..59a1c6aae 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -594,8 +594,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -20,10 +20,10 @@ index a99b2405c9..1846aacc9a 100644
if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index aec657952c..38f61fddfd 100644
index 7761af906..acd6a3a42 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -340,6 +340,29 @@ public class CraftWorld implements World {
@@ -341,6 +341,29 @@ public class CraftWorld implements World {
return world.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, new BlockPosition(x, 0, z)).getY();
}

View file

@ -1,4 +1,4 @@
From c6aa4fb92ed12be093c17d299f13c766f5b06734 Mon Sep 17 00:00:00 2001
From da5add0dd519ed45bb4ec1633e522986c1c4050c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 28 Sep 2018 21:49:53 -0400
Subject: [PATCH] Fix issues with entity loss due to unloaded chunks
@ -19,10 +19,10 @@ This change ensures the chunks are always loaded when entities are
added to the world, or a valid entity moves between chunks.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 63e7f2bce7..0138738b33 100644
index 8428ce779..ae1e4b34b 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -684,7 +684,7 @@ public class WorldServer extends World {
@@ -693,7 +693,7 @@ public class WorldServer extends World {
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
}
@ -31,7 +31,7 @@ index 63e7f2bce7..0138738b33 100644
entity.inChunk = false;
} else {
this.getChunkAt(i, k).a(entity);
@@ -1009,7 +1009,7 @@ public class WorldServer extends World {
@@ -1018,7 +1018,7 @@ public class WorldServer extends World {
return false;
}
// CraftBukkit end

View file

@ -1,4 +1,4 @@
From 68bda6379bcd93dc02eaba78af9deddd735e1b56 Mon Sep 17 00:00:00 2001
From 74764a9936dcd13520c6bcf1e7e7de723bf6f860 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 21 Jul 2018 14:27:34 -0400
Subject: [PATCH] Duplicate UUID Resolve Option
@ -210,7 +210,7 @@ index c97349010..ca3f9d3d3 100644
if (list != null) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 0138738b3..d59eee27a 100644
index ae1e4b34b..c4fabc477 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -3,6 +3,8 @@ package net.minecraft.server;
@ -222,7 +222,7 @@ index 0138738b3..d59eee27a 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Queues;
@@ -1036,8 +1038,23 @@ public class WorldServer extends World {
@@ -1045,8 +1047,23 @@ public class WorldServer extends World {
if (entity1 == null) {
return false;
} else {
@ -248,7 +248,7 @@ index 0138738b3..d59eee27a 100644
return true;
}
}
@@ -1176,7 +1193,7 @@ public class WorldServer extends World {
@@ -1185,7 +1202,7 @@ public class WorldServer extends World {
}
Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity);

View file

@ -1,4 +1,4 @@
From 4cd88e841cae81f8bbcd16d99759cef8092820b9 Mon Sep 17 00:00:00 2001
From 7d424590e3494410fc72b187a4d538110e2fc60e Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 21 May 2019 02:34:04 +0100
Subject: [PATCH] improve CraftWorld#isChunkLoaded
@ -9,10 +9,10 @@ waiting for the execution queue to get to our request; We can just query
the chunk status and get a response now, vs having to wait
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 38f61fddfd..f773534d9a 100644
index acd6a3a42..bc968fc7e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -404,14 +404,13 @@ public class CraftWorld implements World {
@@ -405,14 +405,13 @@ public class CraftWorld implements World {
@Override
public boolean isChunkLoaded(int x, int z) {

View file

@ -1,4 +1,4 @@
From 8cf203a7fc3b1d8a0356a42e088a75bf69561115 Mon Sep 17 00:00:00 2001
From 32d9af31e6fe690da40e488379a36f1510796959 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
@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 2b2c82d5ee..778de46305 100644
index 2b2c82d5e..778de4630 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -479,4 +479,10 @@ public class PaperWorldConfig {
@ -21,7 +21,7 @@ index 2b2c82d5ee..778de46305 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index be31fef799..6be2e1e2ff 100644
index fd7526137..105ac1358 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -585,6 +585,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -72,7 +72,7 @@ index be31fef799..6be2e1e2ff 100644
// CraftBukkit start
// this.nextTick = SystemUtils.getMonotonicMillis() + 10L;
diff --git a/src/main/java/net/minecraft/server/WorldLoadListener.java b/src/main/java/net/minecraft/server/WorldLoadListener.java
index d6762d3853..7b6f5b2da0 100644
index d6762d385..7b6f5b2da 100644
--- a/src/main/java/net/minecraft/server/WorldLoadListener.java
+++ b/src/main/java/net/minecraft/server/WorldLoadListener.java
@@ -9,4 +9,6 @@ public interface WorldLoadListener {
@ -83,7 +83,7 @@ index d6762d3853..7b6f5b2da0 100644
+ void setChunkRadius(int radius); // Paper - allow changing chunk radius
}
diff --git a/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java b/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java
index 3868572aed..ae77805f71 100644
index 3868572ae..ae77805f7 100644
--- a/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java
+++ b/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java
@@ -7,16 +7,24 @@ import org.apache.logging.log4j.Logger;
@ -114,10 +114,10 @@ index 3868572aed..ae77805f71 100644
@Override
public void a(ChunkCoordIntPair chunkcoordintpair) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index d59eee27a1..c28c0431a2 100644
index c4fabc477..8b3ea6544 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1557,13 +1557,85 @@ public class WorldServer extends World {
@@ -1566,13 +1566,85 @@ public class WorldServer extends World {
return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a();
}
@ -207,10 +207,10 @@ index d59eee27a1..c28c0431a2 100644
public LongSet getForceLoadedChunks() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f773534d9a..ceb638c988 100644
index bc968fc7e..0850d78e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1906,15 +1906,21 @@ public class CraftWorld implements World {
@@ -1914,15 +1914,21 @@ public class CraftWorld implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {

View file

@ -1,4 +1,4 @@
From 60ac4e9386f6eb54c76727dd1b42f59b9be8d98d Mon Sep 17 00:00:00 2001
From 4688cfc998f599ddb723bf1a06d90cafacc4e2a5 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 9 Jun 2019 03:53:22 +0100
Subject: [PATCH] incremental chunk saving
@ -62,7 +62,7 @@ index 9b2bafdbd..f138b112f 100644
public void close() throws IOException {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6be2e1e2f..f63269157 100644
index 105ac1358..4eba20b6a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -168,6 +168,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -149,10 +149,10 @@ index dfbac1b3b..4acb03c9e 100644
if (flag) {
List<PlayerChunk> list = (List) this.visibleChunks.values().stream().filter(PlayerChunk::hasBeenLoaded).peek(PlayerChunk::m).collect(Collectors.toList());
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index c28c0431a..4bfa6ea0e 100644
index 8b3ea6544..2b42f3262 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -791,11 +791,44 @@ public class WorldServer extends World {
@@ -800,11 +800,44 @@ public class WorldServer extends World {
return this.worldProvider.c();
}
@ -198,7 +198,7 @@ index c28c0431a..4bfa6ea0e 100644
try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
@@ -822,6 +855,7 @@ public class WorldServer extends World {
@@ -831,6 +864,7 @@ public class WorldServer extends World {
// CraftBukkit end
}

View file

@ -1,4 +1,4 @@
From 65a4a817870660f425c2fd1abed0d2443e1bc79b Mon Sep 17 00:00:00 2001
From dcda7cc11dfe9bd798ada56d54e25477ef873487 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 15 Jun 2019 08:54:33 -0700
Subject: [PATCH] Fix World#isChunkGenerated calls
@ -279,7 +279,7 @@ index b3d1bb5fd..e07ae9854 100644
throwable = throwable1;
throw throwable1;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2dd137b94..891ce4977 100644
index 0850d78e2..ea3526461 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -18,6 +18,7 @@ import java.util.Objects;
@ -290,7 +290,7 @@ index 2dd137b94..891ce4977 100644
import java.util.function.Predicate;
import java.util.stream.Collectors;
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
@@ -409,8 +410,22 @@ public class CraftWorld implements World {
@@ -410,8 +411,22 @@ public class CraftWorld implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
@ -314,7 +314,7 @@ index 2dd137b94..891ce4977 100644
} catch (IOException ex) {
throw new RuntimeException(ex);
}
@@ -522,20 +537,49 @@ public class CraftWorld implements World {
@@ -523,20 +538,49 @@ public class CraftWorld implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot

View file

@ -1,4 +1,4 @@
From 9a85a6ce658aa5a9e2acf2a67353c3a8ed2cd717 Mon Sep 17 00:00:00 2001
From 559672aa60c1d20af16028bbac444831b9712ac1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 24 Mar 2019 01:01:32 -0400
Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob
@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural
influences natural spawns.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 6634ef923a..2f0b06dc55 100644
index 6634ef923..2f0b06dc5 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -505,6 +505,16 @@ public class PaperWorldConfig {
@ -38,10 +38,10 @@ index 6634ef923a..2f0b06dc55 100644
public boolean asynchronous;
public EngineMode engineMode;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 4bfa6ea0e7..733f3e10ef 100644
index 2b42f3262..d1b2800b2 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -934,6 +934,13 @@ public class WorldServer extends World {
@@ -943,6 +943,13 @@ public class WorldServer extends World {
EnumCreatureType enumcreaturetype = entity.getEntityType().e();
if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) {

View file

@ -1,14 +1,14 @@
From d086e8f6567f4a4ff33aff067a9bbf33a08c80c2 Mon Sep 17 00:00:00 2001
From 03f8e0d9211b682c9ead96de67b59b54368e01b0 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 28 Jul 2019 00:51:11 +0100
Subject: [PATCH] Mark entities as being ticked when notifying navigation
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 733f3e10ef..049d4ef4ee 100644
index d1b2800b2..90272d0c0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1371,6 +1371,7 @@ public class WorldServer extends World {
@@ -1380,6 +1380,7 @@ public class WorldServer extends World {
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
@ -16,7 +16,7 @@ index 733f3e10ef..049d4ef4ee 100644
Iterator iterator = this.navigators.iterator();
while (iterator.hasNext()) {
@@ -1381,6 +1382,7 @@ public class WorldServer extends World {
@@ -1390,6 +1391,7 @@ public class WorldServer extends World {
}
}

View file

@ -1,4 +1,4 @@
From 28e64d87c6aeed98e0d5d105fe41f7401985658d Mon Sep 17 00:00:00 2001
From 4b5b983b930189efae55117e5616bb1a973bc064 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 13 Jul 2019 09:23:10 -0700
Subject: [PATCH] Asynchronous chunk IO and loading
@ -2962,7 +2962,7 @@ index 25a87c2d3..c02c53b50 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f63269157..664c48d68 100644
index 4eba20b6a..fe24d924e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -788,6 +788,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -3847,10 +3847,10 @@ index c999f8c9b..b59ef1a63 100644
HAS_SPACE(VillagePlaceRecord::d), IS_OCCUPIED(VillagePlaceRecord::e), ANY((villageplacerecord) -> {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 049d4ef4e..59b2fc629 100644
index 90272d0c0..136c18d10 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -81,6 +81,79 @@ public class WorldServer extends World {
@@ -82,6 +82,79 @@ public class WorldServer extends World {
return new Throwable(entity + " Added to world at " + new java.util.Date());
}
@ -3930,7 +3930,7 @@ index 049d4ef4e..59b2fc629 100644
// Add env and gen to constructor
public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
super(worlddata, dimensionmanager, (world, worldprovider) -> {
@@ -124,6 +197,8 @@ public class WorldServer extends World {
@@ -125,6 +198,8 @@ public class WorldServer extends World {
this.mobSpawnerTrader = this.worldProvider.getDimensionManager().getType() == DimensionManager.OVERWORLD ? new MobSpawnerTrader(this) : null; // CraftBukkit - getType()
this.getServer().addWorld(this.getWorld()); // CraftBukkit
@ -3940,10 +3940,10 @@ index 049d4ef4e..59b2fc629 100644
// CraftBukkit start
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 891ce4977..31667d667 100644
index ea3526461..7ef0756ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -555,22 +555,23 @@ public class CraftWorld implements World {
@@ -556,22 +556,23 @@ public class CraftWorld implements World {
return true;
}
@ -3975,7 +3975,7 @@ index 891ce4977..31667d667 100644
// fall through to load
// we do this so we do not re-read the chunk data on disk
@@ -2378,6 +2379,25 @@ public class CraftWorld implements World {
@@ -2386,6 +2387,25 @@ public class CraftWorld implements World {
return persistentRaid.raids.values().stream().map(CraftRaid::new).collect(Collectors.toList());
}
@ -4002,7 +4002,7 @@ index 891ce4977..31667d667 100644
@Override
public int getViewDistance() {
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index a1d93200e..6ca0ebfde 100644
index 07936eeba..fe68df45b 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -6,6 +6,7 @@ import java.lang.management.ThreadInfo;
@ -4013,7 +4013,7 @@ index a1d93200e..6ca0ebfde 100644
import net.minecraft.server.MinecraftServer;
import org.bukkit.Bukkit;
@@ -83,6 +84,7 @@ public class WatchdogThread extends Thread
@@ -84,6 +85,7 @@ public class WatchdogThread extends Thread
log.log( Level.SEVERE, "If you are unsure or still think this is a Paper bug, please report this to https://github.com/PaperMC/Paper/issues" );
log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" );
log.log( Level.SEVERE, "Paper version: " + Bukkit.getServer().getVersion() );
@ -4021,7 +4021,7 @@ index a1d93200e..6ca0ebfde 100644
//
if ( net.minecraft.server.World.lastPhysicsProblem != null )
{
@@ -111,6 +113,7 @@ public class WatchdogThread extends Thread
@@ -112,6 +114,7 @@ public class WatchdogThread extends Thread
// Paper end - Different message for short timeout
log.log( Level.SEVERE, "------------------------------" );
log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper

View file

@ -1,4 +1,4 @@
From abed93f940fe53e748ee26128e7958c0cd9300b4 Mon Sep 17 00:00:00 2001
From cc9d4e04761b5953e80552358e7663c3f3e40583 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Mon, 8 Jul 2019 00:13:36 -0700
Subject: [PATCH] Use getChunkIfLoadedImmediately in places
@ -34,7 +34,7 @@ index 8c54022e0..f6fbba36f 100644
return;
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 040610ecd..cdedbee87 100644
index 06e8c27d9..37604d8cc 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -130,8 +130,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -55,7 +55,7 @@ index 040610ecd..cdedbee87 100644
protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction<World, WorldProvider, IChunkProvider> bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
@@ -1127,14 +1135,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1134,14 +1142,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
public boolean n(BlockPosition blockposition) {

View file

@ -1,4 +1,4 @@
From ba6f66a868796491a225b910a2fe42337bc838e6 Mon Sep 17 00:00:00 2001
From 0d6bd6ef77c14a6a7d648dc84ac43d675e46973e Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Fri, 19 Jul 2019 03:29:14 -0700
Subject: [PATCH] Reduce sync loads
@ -280,10 +280,10 @@ index 1f6b1c4f1..58654f453 100644
this.serverThreadQueue.awaitTasks(completablefuture::isDone);
com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index cdedbee87..2c33ba49c 100644
index 37604d8cc..5460ace8f 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1190,7 +1190,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1197,7 +1197,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 <= j; ++i1) {
for (int j1 = k; j1 <= l; ++j1) {
@ -292,7 +292,7 @@ index cdedbee87..2c33ba49c 100644
if (chunk != null) {
chunk.a(entity, axisalignedbb, list, predicate);
@@ -1210,7 +1210,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1217,7 +1217,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {
@ -301,7 +301,7 @@ index cdedbee87..2c33ba49c 100644
if (chunk != null) {
chunk.a(entitytypes, axisalignedbb, list, predicate);
@@ -1232,7 +1232,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1239,7 +1239,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {
@ -311,10 +311,10 @@ index cdedbee87..2c33ba49c 100644
if (chunk != null) {
chunk.a(oclass, axisalignedbb, list, predicate);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 59b2fc629..9aaa28e6c 100644
index 136c18d10..14f25caa0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -153,6 +153,12 @@ public class WorldServer extends World {
@@ -154,6 +154,12 @@ public class WorldServer extends World {
};
public final com.destroystokyo.paper.io.chunk.ChunkTaskManager asyncChunkTaskManager;
// Paper end

View file

@ -1,4 +1,4 @@
From f06f45d1b44c70f9ef4bdd0609fe3d9c192fcfef Mon Sep 17 00:00:00 2001
From d9c3b4c7139a9ac5c83a40d03cbd3381f74f711c Mon Sep 17 00:00:00 2001
From: Paul Sauve <paul@burngames.net>
Date: Sun, 14 Jul 2019 21:05:03 -0500
Subject: [PATCH] Do less work if we have a custom Bukkit generator
@ -7,10 +7,10 @@ If the Bukkit generator already has a spawn, use it immediately instead
of spending time generating one that we won't use
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 9aaa28e6cd..219861a2d8 100644
index 14f25caa0..aad93723e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -788,12 +788,13 @@ public class WorldServer extends World {
@@ -797,12 +797,13 @@ public class WorldServer extends World {
} else if (this.worldData.getType() == WorldType.DEBUG_ALL_BLOCK_STATES) {
this.worldData.setSpawn(BlockPosition.ZERO.up());
} else {
@ -30,7 +30,7 @@ index 9aaa28e6cd..219861a2d8 100644
// CraftBukkit start
if (this.generator != null) {
Random rand = new Random(this.getSeed());
@@ -810,6 +811,13 @@ public class WorldServer extends World {
@@ -819,6 +820,13 @@ public class WorldServer extends World {
}
// CraftBukkit end

View file

@ -1,11 +1,11 @@
From 213eef20e57994d1827227b529da8058c1ae11b3 Mon Sep 17 00:00:00 2001
From 56fbbd1827c4153ca6cd35339da70d7d7c17906b Mon Sep 17 00:00:00 2001
From: kickash32 <kickash32@gmail.com>
Date: Mon, 19 Aug 2019 01:27:58 +0500
Subject: [PATCH] implement optional per player mob spawns
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
index 8de6c4816c..e25544f116 100644
index 8de6c4816..e25544f11 100644
--- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -62,6 +62,7 @@ public class WorldTimingsHandler {
@ -25,7 +25,7 @@ index 8de6c4816c..e25544f116 100644
poiUnload = Timings.ofSafe(name + "Chunk unload - POI");
chunkUnload = Timings.ofSafe(name + "Chunk unload - Chunk");
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 3dfe54ad3d..02715539ae 100644
index 3dfe54ad3..02715539a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -611,4 +611,9 @@ public class PaperWorldConfig {
@ -40,7 +40,7 @@ index 3dfe54ad3d..02715539ae 100644
}
diff --git a/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java
new file mode 100644
index 0000000000..9ebd7ecb7a
index 000000000..9ebd7ecb7
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java
@@ -0,0 +1,253 @@
@ -299,7 +299,7 @@ index 0000000000..9ebd7ecb7a
+}
diff --git a/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java
new file mode 100644
index 0000000000..4f13d3ff83
index 000000000..4f13d3ff8
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java
@@ -0,0 +1,241 @@
@ -545,7 +545,7 @@ index 0000000000..4f13d3ff83
+ }
+}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 58654f4538..8a35e2994d 100644
index 58654f453..8a35e2994 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -555,7 +555,22 @@ public class ChunkProviderServer extends IChunkProvider {
@ -599,7 +599,7 @@ index 58654f4538..8a35e2994d 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index ba30730b5a..7fbd390426 100644
index ba30730b5..7fbd39042 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -80,6 +80,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -631,7 +631,7 @@ index ba30730b5a..7fbd390426 100644
return this.cs;
}
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index d49ad03089..2fb04e3e93 100644
index d49ad0308..2fb04e3e9 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -254,6 +254,7 @@ public class EntityTypes<T extends Entity> {
@ -643,7 +643,7 @@ index d49ad03089..2fb04e3e93 100644
return this.bb;
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index fce37d0d67..b37c1161d1 100644
index d9faef8a6..b3ccb9a7b 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -78,7 +78,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@ -682,7 +682,7 @@ index fce37d0d67..b37c1161d1 100644
private static double a(ChunkCoordIntPair chunkcoordintpair, Entity entity) {
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index fdac5bb3a2..58bbf2f9d2 100644
index fdac5bb3a..58bbf2f9d 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -3,6 +3,7 @@ package net.minecraft.server;
@ -755,10 +755,10 @@ index fdac5bb3a2..58bbf2f9d2 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 219861a2d8..919472370d 100644
index aad93723e..f2d9392a0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1005,7 +1005,20 @@ public class WorldServer extends World {
@@ -1014,7 +1014,20 @@ public class WorldServer extends World {
}
public Object2IntMap<EnumCreatureType> l() {
@ -780,7 +780,7 @@ index 219861a2d8..919472370d 100644
ObjectIterator objectiterator = this.entitiesById.values().iterator();
while (objectiterator.hasNext()) {
@@ -1030,11 +1043,16 @@ public class WorldServer extends World {
@@ -1039,11 +1052,16 @@ public class WorldServer extends World {
continue;
}
// Paper end

View file

@ -1,11 +1,11 @@
From b995eb601a68f80e691beb7f081f21f46984b650 Mon Sep 17 00:00:00 2001
From 9503a0663360f9ef64ac72b5b8799aa15a9d709c Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Sun, 15 Sep 2019 11:32:32 -0500
Subject: [PATCH] Fix zero-tick instant grow farms MC-113809
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 33e251c87f..c0af1aaf3b 100644
index 33e251c87..c0af1aaf3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -564,6 +564,11 @@ public class PaperWorldConfig {
@ -21,7 +21,7 @@ index 33e251c87f..c0af1aaf3b 100644
public Map<Material, Integer> altItemDespawnRateMap;
private void altItemDespawnRate() {
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 46490a9430..54a61283e6 100644
index 540fcce1d..e29ec958b 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -46,6 +46,7 @@ public class Block implements IMaterial {
@ -33,7 +33,7 @@ index 46490a9430..54a61283e6 100644
private final boolean i;
private final boolean j;
diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java
index c482aad3e3..02c548dd9c 100644
index c482aad3e..02c548dd9 100644
--- a/src/main/java/net/minecraft/server/BlockBamboo.java
+++ b/src/main/java/net/minecraft/server/BlockBamboo.java
@@ -85,6 +85,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@ -45,7 +45,7 @@ index c482aad3e3..02c548dd9c 100644
int i = this.b(worldserver, blockposition) + 1;
diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java
index e0974e256f..3524fcb927 100644
index e0974e256..3524fcb92 100644
--- a/src/main/java/net/minecraft/server/BlockCactus.java
+++ b/src/main/java/net/minecraft/server/BlockCactus.java
@@ -21,6 +21,7 @@ public class BlockCactus extends Block {
@ -57,7 +57,7 @@ index e0974e256f..3524fcb927 100644
if (worldserver.isEmpty(blockposition1)) {
diff --git a/src/main/java/net/minecraft/server/BlockChorusFlower.java b/src/main/java/net/minecraft/server/BlockChorusFlower.java
index d70b52cadf..b624cf3804 100644
index d70b52cad..b624cf380 100644
--- a/src/main/java/net/minecraft/server/BlockChorusFlower.java
+++ b/src/main/java/net/minecraft/server/BlockChorusFlower.java
@@ -22,6 +22,7 @@ public class BlockChorusFlower extends Block {
@ -69,7 +69,7 @@ index d70b52cadf..b624cf3804 100644
if (worldserver.isEmpty(blockposition1) && blockposition1.getY() < 256) {
diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java
index 55b07444e1..3bc3c5aa29 100644
index 55b07444e..3bc3c5aa2 100644
--- a/src/main/java/net/minecraft/server/BlockReed.java
+++ b/src/main/java/net/minecraft/server/BlockReed.java
@@ -23,6 +23,7 @@ public class BlockReed extends Block {
@ -81,10 +81,10 @@ index 55b07444e1..3bc3c5aa29 100644
for (i = 1; worldserver.getType(blockposition.down(i)).getBlock() == this; ++i) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 919472370d..3739a95c5a 100644
index f2d9392a0..70cbff313 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -581,7 +581,9 @@ public class WorldServer extends World {
@@ -590,7 +590,9 @@ public class WorldServer extends World {
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
if (iblockdata.q()) {

View file

@ -1,4 +1,4 @@
From 53e8a47576f01a96be38659aacb7402f9b4bd8a9 Mon Sep 17 00:00:00 2001
From fcc22090568b30deeb4c34c563fce675a8685a05 Mon Sep 17 00:00:00 2001
From: MisterErwin <git@askarian.net>
Date: Wed, 30 Oct 2019 16:57:54 +0100
Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and
@ -6,10 +6,10 @@ Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 739968a69b..a974391025 100644
index 7ef0756ee..87395de25 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1824,7 +1824,12 @@ public class CraftWorld implements World {
@@ -1832,7 +1832,12 @@ public class CraftWorld implements World {
height = 9;
}

@ -1 +1 @@
Subproject commit 3aa8286b3254c1938a834d734e923fbca97c7f35
Subproject commit bbfd13dd14aeb217cd2730619d06fdb6dcdf23d1

@ -1 +1 @@
Subproject commit 90ef74efbe388b68d4e2296bb99988296d8200af
Subproject commit 817116de01089fb23c0334579cd18b9f5e079c4f

@ -1 +1 @@
Subproject commit 2ee05fef193e8c7ca00622672d059b2820a411a3
Subproject commit 05bb8bcfea17355cab4b4986524329c51ed5f5fc