Timings changes (#3044)

* Timings changes

- Increment entity tick count only when an entity ticks
- Remove chunk inhabited timer
- Try finally entity timings

* Add activated entity ticks

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
This commit is contained in:
Spottedleaf 2020-03-18 23:03:32 -07:00 committed by GitHub
parent d63075dff8
commit 49fdb18206
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 273 additions and 257 deletions

View File

@ -1,4 +1,4 @@
From 5e3f0af8030d2a96e8e22faf1b883b719c7fe1da Mon Sep 17 00:00:00 2001
From df62772a53a003d63c7eaf493ddfa13d5d3bba54 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
@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
new file mode 100644
index 000000000..69e26a826
index 0000000000..69e26a8267
--- /dev/null
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +1,141 @@
@ -153,10 +153,10 @@ index 000000000..69e26a826
+}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
new file mode 100644
index 000000000..e41083f14
index 0000000000..27ce4a828e
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,128 @@
@@ -0,0 +1,126 @@
+package co.aikar.timings;
+
+import net.minecraft.server.World;
@ -219,7 +219,6 @@ index 000000000..e41083f14
+
+
+ public final Timing miscMobSpawning;
+ public final Timing chunkInhibitedRangeCheck;
+
+ public WorldTimingsHandler(World server) {
+ String name = server.worldData.getName() +" - ";
@ -277,7 +276,6 @@ index 000000000..e41083f14
+ countNaturalMobs = Timings.ofSafe(name + "Count natural mobs");
+
+
+ chunkInhibitedRangeCheck = Timings.ofSafe(name + "Chunks - Inhibited Range Check");
+ miscMobSpawning = Timings.ofSafe(name + "Mob spawning - Misc");
+ }
+
@ -286,7 +284,7 @@ index 000000000..e41083f14
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index b6d470e59..f402a29b0 100644
index b6d470e594..f402a29b09 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit;
@ -333,7 +331,7 @@ index b6d470e59..f402a29b0 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index cd72a9c84..5de881371 100644
index cd72a9c845..5de881371a 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -31,6 +31,15 @@ public class Block implements IMaterial {
@ -353,7 +351,7 @@ index cd72a9c84..5de881371 100644
private final float frictionFactor;
private final float f;
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index e58dd3e6d..0b32179b7 100644
index e58dd3e6df..0b32179b79 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -576,6 +576,7 @@ public class Chunk implements IChunkAccess {
@ -373,7 +371,7 @@ index e58dd3e6d..0b32179b7 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index a5f2468a6..a3d150a13 100644
index 2b0ad4226e..a878f7c759 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -227,11 +227,13 @@ public class ChunkProviderServer extends IChunkProvider {
@ -425,7 +423,7 @@ index a5f2468a6..a3d150a13 100644
this.world.getMethodProfiler().exit();
this.playerChunkMap.f().forEach((playerchunk) -> {
Optional<Chunk> optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left();
@@ -504,11 +512,15 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -504,11 +512,14 @@ public class ChunkProviderServer extends IChunkProvider {
Chunk chunk = (Chunk) optional.get();
this.world.getMethodProfiler().enter("broadcast");
@ -435,13 +433,12 @@ index a5f2468a6..a3d150a13 100644
this.world.getMethodProfiler().exit();
ChunkCoordIntPair chunkcoordintpair = playerchunk.i();
+ this.world.timings.chunkInhibitedRangeCheck.startTiming();
if (!this.playerChunkMap.isOutsideOfRange(chunkcoordintpair)) {
+ // Paper end
chunk.setInhabitedTime(chunk.getInhabitedTime() + j);
if (flag1 && (this.allowMonsters || this.allowAnimals) && this.world.getWorldBorder().isInBounds(chunk.getPos()) && !this.playerChunkMap.isOutsideOfRange(chunkcoordintpair, true)) { // Spigot
this.world.getMethodProfiler().enter("spawner");
@@ -559,24 +571,25 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -559,24 +570,24 @@ public class ChunkProviderServer extends IChunkProvider {
this.world.getMethodProfiler().exit();
}
@ -451,7 +448,6 @@ index a5f2468a6..a3d150a13 100644
- this.world.timings.doTickTiles.stopTiming(); // Spigot
+ this.world.timings.chunkTicks.stopTiming(); // Spigot // Paper
}
+ this.world.timings.chunkInhibitedRangeCheck.stopTiming(); // Paper
}
});
this.world.getMethodProfiler().enter("customSpawners");
@ -472,7 +468,7 @@ index a5f2468a6..a3d150a13 100644
@Override
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index e16d30f2c..4af5a230b 100644
index e16d30f2ca..4af5a230ba 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -1,5 +1,6 @@
@ -510,7 +506,7 @@ index e16d30f2c..4af5a230b 100644
}
diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java
index 8d7a6d240..707bd2600 100644
index 8d7a6d2403..707bd2600d 100644
--- a/src/main/java/net/minecraft/server/CustomFunction.java
+++ b/src/main/java/net/minecraft/server/CustomFunction.java
@@ -13,12 +13,22 @@ public class CustomFunction {
@ -537,7 +533,7 @@ index 8d7a6d240..707bd2600 100644
return this.b;
}
diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java
index ba40d5fbb..ee42e1dfa 100644
index ba40d5fbb5..ee42e1dfa4 100644
--- a/src/main/java/net/minecraft/server/CustomFunctionData.java
+++ b/src/main/java/net/minecraft/server/CustomFunctionData.java
@@ -103,7 +103,7 @@ public class CustomFunctionData implements IResourcePackListener {
@ -550,7 +546,7 @@ index ba40d5fbb..ee42e1dfa 100644
int k = 0;
CustomFunction.c[] acustomfunction_c = customfunction.b();
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 9eed98e37..d6646d7e6 100644
index 9eed98e379..d6646d7e61 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -20,6 +20,8 @@ import java.util.List;
@ -638,7 +634,7 @@ index 9eed98e37..d6646d7e6 100644
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index d2cfc6551..74a4bf9c5 100644
index d2cfc65513..74a4bf9c5c 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender;
@ -677,7 +673,7 @@ index d2cfc6551..74a4bf9c5 100644
protected BlockPosition ag() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 1f350e335..35e3f1c78 100644
index 1f350e3352..35e3f1c78d 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -37,7 +37,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@ -753,7 +749,7 @@ index 1f350e335..35e3f1c78 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b4a0bd795..4dc691775 100644
index b4a0bd7951..4dc6917759 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;
@ -929,7 +925,7 @@ index b4a0bd795..4dc691775 100644
this.methodProfiler.exit();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 93d838ec2..2a6955f85 100644
index 93d838ec2d..2a6955f855 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,7 +1,9 @@
@ -1012,7 +1008,7 @@ index 93d838ec2..2a6955f85 100644
protected void broadcast(Entity entity, Packet<?> packet) {
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 6a681d694..914366afc 100644
index 6a681d694e..914366afcd 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory;
@ -1067,7 +1063,7 @@ index 6a681d694..914366afc 100644
// this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s);
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
index 2c671629a..eb3269e0e 100644
index 2c671629a4..eb3269e0ea 100644
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
@@ -2,6 +2,8 @@ package net.minecraft.server;
@ -1094,7 +1090,7 @@ index 2c671629a..eb3269e0e 100644
PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet);
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 0694f4563..1652a57e2 100644
index 0694f4563e..1652a57e25 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@ -1118,7 +1114,7 @@ index 0694f4563..1652a57e2 100644
public WhiteList getWhitelist() {
diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java
index 00bbd34b6..f533860bb 100644
index 00bbd34b6a..f533860bbe 100644
--- a/src/main/java/net/minecraft/server/TickListServer.java
+++ b/src/main/java/net/minecraft/server/TickListServer.java
@@ -28,13 +28,18 @@ public class TickListServer<T> implements TickList<T> {
@ -1168,7 +1164,7 @@ index 00bbd34b6..f533860bb 100644
this.g.clear();
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 820180ab3..fa6400dcc 100644
index 820180ab3f..fa6400dccd 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer;
@ -1187,7 +1183,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 6861711c2..132c08dd1 100644
index 6861711c29..132c08dd19 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,7 @@
@ -1243,7 +1239,7 @@ index 6861711c2..132c08dd1 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 8a5ac6f69..069898bad 100644
index 8a5ac6f69b..6810d49b17 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1,6 +1,8 @@
@ -1311,15 +1307,7 @@ index 8a5ac6f69..069898bad 100644
while (objectiterator.hasNext()) {
Entry<Entity> entry = (Entry) objectiterator.next();
Entity entity1 = (Entity) entry.getValue();
@@ -393,6 +399,7 @@ public class WorldServer extends World {
gameprofilerfiller.enter("tick");
if (!entity1.dead && !(entity1 instanceof EntityComplexPart)) {
this.a(this::entityJoinedWorld, entity1);
+ ++TimingHistory.entityTicks; // Paper
}
gameprofilerfiller.exit();
@@ -409,9 +416,11 @@ public class WorldServer extends World {
@@ -409,9 +415,11 @@ public class WorldServer extends World {
this.tickingEntities = false;
@ -1331,7 +1319,7 @@ index 8a5ac6f69..069898bad 100644
gameprofilerfiller.exit();
timings.tickEntities.stopTiming(); // Spigot
@@ -476,6 +485,7 @@ public class WorldServer extends World {
@@ -476,6 +484,7 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("tickBlocks");
@ -1339,7 +1327,7 @@ index 8a5ac6f69..069898bad 100644
if (i > 0) {
ChunkSection[] achunksection = chunk.getSections();
int l = achunksection.length;
@@ -507,7 +517,7 @@ public class WorldServer extends World {
@@ -507,7 +516,7 @@ public class WorldServer extends World {
}
}
}
@ -1348,7 +1336,35 @@ index 8a5ac6f69..069898bad 100644
gameprofilerfiller.exit();
}
@@ -799,6 +809,7 @@ public class WorldServer extends World {
@@ -603,6 +612,7 @@ public class WorldServer extends World {
public void entityJoinedWorld(Entity entity) {
if (entity instanceof EntityHuman || this.getChunkProvider().a(entity)) {
+ ++TimingHistory.entityTicks; // Paper - timings
// Spigot start
if (!org.spigotmc.ActivationRange.checkIfActive(entity)) {
entity.ticksLived++;
@@ -611,7 +621,9 @@ public class WorldServer extends World {
}
// Spigot end
+ TimingHistory.activatedEntityTicks++; // Paper - timings
entity.tickTimer.startTiming(); // Spigot
+ try { // Paper - timings
entity.f(entity.locX(), entity.locY(), entity.locZ());
entity.lastYaw = entity.yaw;
entity.lastPitch = entity.pitch;
@@ -638,7 +650,9 @@ public class WorldServer extends World {
this.a(entity, entity1);
}
}
+ } finally { // Paper - timings
entity.tickTimer.stopTiming(); // Spigot
+ } // Paper - timings
}
}
@@ -799,6 +813,7 @@ public class WorldServer extends World {
if (!flag1) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@ -1356,7 +1372,7 @@ index 8a5ac6f69..069898bad 100644
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
}
@@ -808,7 +819,10 @@ public class WorldServer extends World {
@@ -808,7 +823,10 @@ public class WorldServer extends World {
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
}
@ -1368,7 +1384,7 @@ index 8a5ac6f69..069898bad 100644
// CraftBukkit start - moved from MinecraftServer.saveChunks
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8d1f066f0..f3eacb181 100644
index 8d1f066f00..f3eacb1819 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1973,12 +1973,31 @@ public final class CraftServer implements Server {
@ -1405,7 +1421,7 @@ index 8d1f066f0..f3eacb181 100644
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
deleted file mode 100644
index 2bd22a369..000000000
index 2bd22a3698..0000000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,162 +0,0 @@
@ -1572,7 +1588,7 @@ index 2bd22a369..000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9eba8449e..1094190fd 100644
index 9eba8449e4..1094190fd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1753,6 +1753,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -1591,7 +1607,7 @@ index 9eba8449e..1094190fd 100644
public Player.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index b90979c7b..8823f94f7 100644
index b90979c7ba..8823f94f7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -1,5 +1,6 @@
@ -1657,7 +1673,7 @@ index b90979c7b..8823f94f7 100644
private boolean isReady(final int currentTick) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
index 3f55381c1..0d9a46680 100644
index 3f55381c15..0d9a466809 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -1,9 +1,11 @@
@ -1742,7 +1758,7 @@ index 3f55381c1..0d9a46680 100644
- // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
index e52ef47b7..3d90b3426 100644
index e52ef47b78..3d90b34268 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
@@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon;
@ -1754,7 +1770,7 @@ index e52ef47b7..3d90b3426 100644
this.value = value;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 68728b4d8..02f330053 100644
index 68728b4d86..02f3300533 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -298,6 +298,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
@ -1772,7 +1788,7 @@ index 68728b4d8..02f330053 100644
* This helper class represents the different NBT Tags.
* <p>
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index ca7789b5e..442383969 100644
index ca7789b5e0..4423839697 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -31,7 +31,7 @@ import net.minecraft.server.EntityWither;
@ -1833,5 +1849,5 @@ index ca7789b5e..442383969 100644
}
}
--
2.25.0
2.25.2

View File

@ -1,4 +1,4 @@
From 85a4e1989ff00a6ab9e60fa579668fd022f752f1 Mon Sep 17 00:00:00 2001
From eb19fb35a1fda6531c127beafb36cb5098174202 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] Entity Origin API
@ -101,10 +101,10 @@ index 5406f4c40f..d778eac45d 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 069898bad7..ce9bad42f8 100644
index 6810d49b17..450b414298 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1176,6 +1176,11 @@ public class WorldServer extends World {
@@ -1180,6 +1180,11 @@ public class WorldServer extends World {
this.navigators.add(((EntityInsentient) entity).getNavigation());
}
entity.valid = true; // CraftBukkit
@ -134,5 +134,5 @@ index c82c213260..a296936748 100644
+ // Paper end
}
--
2.25.0
2.25.2

View File

@ -1,11 +1,11 @@
From af390b8d5170b906a3d0ffe790f153f561f9e511 Mon Sep 17 00:00:00 2001
From d04b0dfb3bb79611afbde1887e6d87b9a66f9327 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
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 25e071718..41436a4ea 100644
index 25e0717186..41436a4ead 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -161,4 +161,9 @@ public class PaperWorldConfig {
@ -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 948438829..5adb59172 100644
index 5e760818fb..3ba54917af 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -446,7 +446,7 @@ public class WorldServer extends World {
@@ -445,7 +445,7 @@ public class WorldServer extends World {
gameprofilerfiller.enter("thunder");
BlockPosition blockposition;
@ -32,5 +32,5 @@ index 948438829..5adb59172 100644
if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);
--
2.25.0.windows.1
2.25.2

View File

@ -1,11 +1,11 @@
From 113e75e1dda3f6ba8ec9bef997ab5068c2cf4de0 Mon Sep 17 00:00:00 2001
From 57e7eb12376863a7faa4fba8cce5b5fec37f0767 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
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 41436a4ea..f53d8b967 100644
index 41436a4ead..f53d8b9675 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -166,4 +166,9 @@ public class PaperWorldConfig {
@ -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 5adb59172..173e3857e 100644
index 3ba54917af..4309a7d07a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -466,7 +466,7 @@ public class WorldServer extends World {
@@ -465,7 +465,7 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("iceandsnow");
@ -32,5 +32,5 @@ index 5adb59172..173e3857e 100644
BlockPosition blockposition1 = blockposition.down();
BiomeBase biomebase = this.getBiome(blockposition);
--
2.25.0.windows.1
2.25.2

View File

@ -1,11 +1,11 @@
From 9290f564d1b0d7b30aa8449be4bce60228f0d23f Mon Sep 17 00:00:00 2001
From 35098d52136374f24614dff5fc274a738a65a358 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
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 7de7b74ff..6ef0e1399 100644
index 7de7b74ff6..6ef0e1399e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -228,4 +228,12 @@ public class PaperWorldConfig {
@ -22,10 +22,10 @@ index 7de7b74ff..6ef0e1399 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 173e3857e..0146573a3 100644
index 4309a7d07a..47d177b13d 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -450,7 +450,7 @@ public class WorldServer extends World {
@@ -449,7 +449,7 @@ public class WorldServer extends World {
blockposition = this.a(this.a(j, 0, k, 15));
if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);
@ -35,5 +35,5 @@ index 173e3857e..0146573a3 100644
if (flag1) {
EntityHorseSkeleton entityhorseskeleton = (EntityHorseSkeleton) EntityTypes.SKELETON_HORSE.a((World) this);
--
2.25.0.windows.1
2.25.2

View File

@ -1,14 +1,14 @@
From b510c1a11e27b982e5a084ed3303c975eb3c36b9 Mon Sep 17 00:00:00 2001
From e7c4bd8bdfdae92f7a47353b1b3a1bd50721f93f 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 4e29746c14..dac6e10d25 100644
index 9d0edf5382..fd42f34004 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1144,7 +1144,7 @@ public class WorldServer extends World {
@@ -1148,7 +1148,7 @@ public class WorldServer extends World {
if (entity instanceof EntityInsentient) {
this.navigators.remove(((EntityInsentient) entity).getNavigation());
}
@ -17,7 +17,7 @@ index 4e29746c14..dac6e10d25 100644
entity.valid = false; // CraftBukkit
}
@@ -1182,6 +1182,7 @@ public class WorldServer extends World {
@@ -1186,6 +1186,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end
@ -26,5 +26,5 @@ index 4e29746c14..dac6e10d25 100644
}
--
2.25.0.windows.1
2.25.2

View File

@ -1,4 +1,4 @@
From 05e214f72ca86351ac42b9c56a191fedf7d9e2e4 Mon Sep 17 00:00:00 2001
From 77aec9ad41160932726decb27ba49c3f1b7a485d 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 9672248c7..1dccc2e0d 100644
index 9672248c7c..1dccc2e0dd 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -67,10 +67,10 @@ index 9672248c7..1dccc2e0d 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 2f1857dbb..92745505a 100644
index fd42f34004..6f66c38650 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1629,7 +1629,7 @@ public class WorldServer extends World {
@@ -1633,7 +1633,7 @@ public class WorldServer extends World {
}
bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size()));
@ -79,7 +79,7 @@ index 2f1857dbb..92745505a 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");
@@ -1792,7 +1792,7 @@ public class WorldServer extends World {
@@ -1796,7 +1796,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 2f1857dbb..92745505a 100644
while (iterator.hasNext()) {
TileEntity tileentity = (TileEntity) iterator.next();
--
2.25.0
2.25.2

View File

@ -1,4 +1,4 @@
From cfca191373edfe3183204448a202e179a526e830 Mon Sep 17 00:00:00 2001
From 5a352e939e763bd487f3d7e9eb075e108875e264 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
@ -102,10 +102,10 @@ index a56ac3da80..2f1be1995d 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 7b3e3487fa..23f3d7eb51 100644
index 6f66c38650..40c9cba760 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1105,6 +1105,7 @@ public class WorldServer extends World {
@@ -1109,6 +1109,7 @@ public class WorldServer extends World {
{
if ( iter.next().trackee == entity )
{
@ -127,5 +127,5 @@ index 256a131781..5768cd512e 100644
public RenderData() {
--
2.25.0.windows.1
2.25.2

View File

@ -1,4 +1,4 @@
From 188c4e80539d150665d81235bc988b53d4fc932c Mon Sep 17 00:00:00 2001
From 61b790005fc01a2e5519c426d6ff0ac80e672f2b 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 23f3d7eb51..e69f82dcd1 100644
index 40c9cba760..3004270455 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -994,6 +994,7 @@ public class WorldServer extends World {
@@ -998,6 +998,7 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
@ -20,5 +20,5 @@ index 23f3d7eb51..e69f82dcd1 100644
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit
return false;
--
2.25.0.windows.1
2.25.2

View File

@ -1,4 +1,4 @@
From fc323bdca782d5ee6048969638c3ca5f2c6908fb Mon Sep 17 00:00:00 2001
From 0e5fdda0a14744d8d2b6bab930db5ac11d159d31 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 48737366f..fe1a87ba5 100644
index 3004270455..eb99f3a967 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -692,7 +692,7 @@ public class WorldServer extends World {
@@ -696,7 +696,7 @@ public class WorldServer extends World {
public void chunkCheck(Entity entity) {
this.getMethodProfiler().enter("chunkCheck");
int i = MathHelper.floor(entity.locX() / 16.0D);
@ -21,5 +21,5 @@ index 48737366f..fe1a87ba5 100644
if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) {
--
2.25.0.windows.1
2.25.2

View File

@ -1,4 +1,4 @@
From c2f678b34e344f93581410c541b1558987a4eb1e Mon Sep 17 00:00:00 2001
From 671179f55b30b76b799ab240cf8f146e57be50a5 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,7 +10,7 @@ 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 bcb1c924b..c773314cf 100644
index eb99f3a967..da391e945c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -56,7 +56,7 @@ public class WorldServer extends World {
@ -22,7 +22,7 @@ index bcb1c924b..c773314cf 100644
boolean tickingEntities;
private final MinecraftServer server;
private final WorldNBTStorage dataManager;
@@ -1402,12 +1402,17 @@ public class WorldServer extends World {
@@ -1406,12 +1406,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,7 +43,7 @@ index bcb1c924b..c773314cf 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 8e1057cdc..367da203a 100644
index 8e1057cdca..367da203ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2281,11 +2281,17 @@ public class CraftWorld implements World {
@ -66,5 +66,5 @@ index 8e1057cdc..367da203a 100644
x, y, z, // Position
count, // Count
--
2.25.0
2.25.2

View File

@ -1,4 +1,4 @@
From 03c282e818f80d14196d55326936fdd765c10911 Mon Sep 17 00:00:00 2001
From 5e0f54825c21adebcebb902f8483fbd33f500afd 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
@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
to "confirm" things based on if it was player triggered close or not.
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 4721c288b..36748ccb7 100644
index 4721c288ba..36748ccb73 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -164,7 +164,7 @@ public abstract class EntityHuman extends EntityLiving {
@ -34,7 +34,7 @@ index 4721c288b..36748ccb7 100644
this.activeContainer = this.defaultContainer;
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 625b68428..f849dba21 100644
index 625b684287..f849dba215 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -368,7 +368,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -88,7 +88,7 @@ index 625b68428..f849dba21 100644
this.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 4a0a84794..8eb12e89e 100644
index 4a0a847944..8eb12e89ea 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2040,7 +2040,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@ -101,7 +101,7 @@ index 4a0a84794..8eb12e89e 100644
this.player.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 002f7e844..fd0f5c6f2 100644
index 002f7e844a..fd0f5c6f29 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -403,7 +403,7 @@ public abstract class PlayerList {
@ -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 c773314cf..bad4e6f7f 100644
index da391e945c..c5b4218b44 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1047,7 +1047,7 @@ public class WorldServer extends World {
@@ -1051,7 +1051,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
@ -126,7 +126,7 @@ index c773314cf..bad4e6f7f 100644
}
}
}
@@ -1070,7 +1070,7 @@ public class WorldServer extends World {
@@ -1074,7 +1074,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
@ -136,7 +136,7 @@ index c773314cf..bad4e6f7f 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index cd8ad2704..e169679c8 100644
index cd8ad27047..e169679c88 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -619,8 +619,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@ -155,7 +155,7 @@ index cd8ad2704..e169679c8 100644
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 52640237a..d7d86a8b2 100644
index 52640237ae..d7d86a8b24 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -786,7 +786,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -168,7 +168,7 @@ index 52640237a..d7d86a8b2 100644
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index caf277439..f931fa48b 100644
index caf277439a..f931fa48b4 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1293,8 +1293,19 @@ public class CraftEventFactory {
@ -193,5 +193,5 @@ index caf277439..f931fa48b 100644
human.activeContainer.transferTo(human.defaultContainer, human.getBukkitEntity());
}
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From 172128b3cbbab15cc5ddeddbec8f86ef2af5fada Mon Sep 17 00:00:00 2001
From dc76e17c9b72ead6d04b2b1be4b3b3e1ae74d6c0 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 bad4e6f7f..c30630fa9 100644
index c5b4218b44..4cbf390ce0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1032,7 +1032,8 @@ public class WorldServer extends World {
@@ -1036,7 +1036,8 @@ public class WorldServer extends World {
if (entity1 == null) {
return false;
} else {
@ -22,5 +22,5 @@ index bad4e6f7f..c30630fa9 100644
}
}
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From 8e5d2840e7a280737241deb39703c81b570f4ff0 Mon Sep 17 00:00:00 2001
From dbda58c0f89d4e42c4f779386aac8db45d91cbaa 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
@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
Add -Ddebug.entities=true to your JVM flags to gain more information
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index ec59ffc2e..2612d60e3 100644
index ec59ffc2e7..2612d60e38 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -19,7 +19,7 @@ index ec59ffc2e..2612d60e3 100644
if (bukkitEntity == null) {
bukkitEntity = CraftEntity.getEntity(world.getServer(), this);
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index fcf229ad5..f640d2ac7 100644
index fcf229ad5d..f640d2ac76 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1061,6 +1061,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@ -40,7 +40,7 @@ index fcf229ad5..f640d2ac7 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 f349c7fe2..cab9ec5dd 100644
index f349c7fe2e..cab9ec5dd4 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -63,6 +63,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -52,7 +52,7 @@ index f349c7fe2..cab9ec5dd 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 c30630fa9..70e4b58a9 100644
index 4cbf390ce0..6ce7f77a5e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -76,6 +76,9 @@ public class WorldServer extends World {
@ -65,7 +65,7 @@ index c30630fa9..70e4b58a9 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) {
@@ -994,8 +997,28 @@ public class WorldServer extends World {
@@ -998,8 +1001,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 c30630fa9..70e4b58a9 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)) {
@@ -1168,7 +1191,24 @@ public class WorldServer extends World {
@@ -1172,7 +1195,24 @@ public class WorldServer extends World {
}
}
@ -122,5 +122,5 @@ index c30630fa9..70e4b58a9 100644
// CraftBukkit start - SPIGOT-5278
if (entity instanceof EntityDrowned) {
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From 8ff60cdb29e29f95f5c7a65ae6affe3ab202086a Mon Sep 17 00:00:00 2001
From c3dd7b10963f9558e56a3276b6061082c2b31aa8 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 d2c325050..ec7c9ad4b 100644
index b839769cea..5acad8e44f 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 d2c325050..ec7c9ad4b 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 1d47e4737..c464d6962 100644
index 1d47e47370..c464d69623 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -681,6 +681,7 @@ public class Chunk implements IChunkAccess {
@ -51,7 +51,7 @@ index 1d47e4737..c464d6962 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 ace74179c..5d9d32ea4 100644
index ace74179ce..5d9d32ea45 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -195,6 +195,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -63,10 +63,10 @@ index ace74179c..5d9d32ea4 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 70e4b58a9..54505e056 100644
index 6ce7f77a5e..c13aefff94 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -904,7 +904,7 @@ public class WorldServer extends World {
@@ -908,7 +908,7 @@ public class WorldServer extends World {
while (objectiterator.hasNext()) {
Entity entity = (Entity) objectiterator.next();
@ -75,7 +75,7 @@ index 70e4b58a9..54505e056 100644
if (entity instanceof EntityInsentient) {
EntityInsentient entityinsentient = (EntityInsentient) entity;
@@ -1225,6 +1225,7 @@ public class WorldServer extends World {
@@ -1229,6 +1229,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end
@ -83,7 +83,7 @@ index 70e4b58a9..54505e056 100644
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
}
@@ -1237,6 +1238,7 @@ public class WorldServer extends World {
@@ -1241,6 +1242,7 @@ public class WorldServer extends World {
this.removeEntityFromChunk(entity);
this.entitiesById.remove(entity.getId());
this.unregisterEntity(entity);
@ -92,7 +92,7 @@ index 70e4b58a9..54505e056 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 05a6b2504..326c3564c 100644
index 05a6b25045..326c3564ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1021,6 +1021,7 @@ public class CraftWorld implements World {
@ -128,5 +128,5 @@ index 05a6b2504..326c3564c 100644
if (bukkitEntity == null) {
--
2.25.1
2.25.2

View File

@ -1,11 +1,11 @@
From 624df41d0c445d3bf05a430b44a9032d90a48376 Mon Sep 17 00:00:00 2001
From ea40fb4a20c965f87a9f9af89697d5995e231547 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 fd0f5c6f2..e46436623 100644
index fd0f5c6f29..e46436623c 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 fd0f5c6f2..e46436623 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 54505e056..a411a23de 100644
index c13aefff94..2b2b547034 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1271,7 +1271,7 @@ public class WorldServer extends World {
@@ -1275,7 +1275,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);
@ -58,7 +58,7 @@ index 54505e056..a411a23de 100644
}
@Override
@@ -1403,7 +1403,7 @@ public class WorldServer extends World {
@@ -1407,7 +1407,7 @@ public class WorldServer extends World {
BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst();
if (this.a(blockactiondata)) {
@ -68,7 +68,7 @@ index 54505e056..a411a23de 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 326c3564c..fe0912c06 100644
index 326c3564ce..fe0912c06c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2116,7 +2116,7 @@ public class CraftWorld implements World {
@ -81,5 +81,5 @@ index 326c3564c..fe0912c06 100644
private static Map<String, GameRules.GameRuleKey<?>> gamerules;
--
2.25.1
2.25.2

View File

@ -1,11 +1,11 @@
From 6a6e3975077b008f8f327ca08643cd1eaa7a87f8 Mon Sep 17 00:00:00 2001
From 92015b1945e22b466eb815d61255412792c654f3 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 487b0d5cd..b8789c8ec 100644
index 487b0d5cd6..b8789c8ecc 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -242,6 +242,28 @@ public class PaperWorldConfig {
@ -38,7 +38,7 @@ index 487b0d5cd..b8789c8ec 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 7c518983a..bdb534deb 100644
index 7c518983a9..bdb534deb4 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 7c518983a..bdb534deb 100644
--this.lifeTicks;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index a411a23de..49b1939d1 100644
index 2b2b547034..7364f48210 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1271,7 +1271,7 @@ public class WorldServer extends World {
@@ -1275,7 +1275,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);
@ -82,5 +82,5 @@ index a411a23de..49b1939d1 100644
@Override
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From bf0d7b0b102469ae08b359eb87d04dc6b1ffe93c Mon Sep 17 00:00:00 2001
From bd6fac975495dae43fbad0d9d1ea8c6b97c5dccc 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 5b7cdd66e..b45afbcde 100644
index 5b7cdd66e3..b45afbcde2 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 5b7cdd66e..b45afbcde 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 9d715d891..49437f212 100644
index 9d715d891d..49437f2124 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 9d715d891..49437f212 100644
});
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 49b1939d1..8074050b4 100644
index 7364f48210..64bd41f1e3 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -997,6 +997,7 @@ public class WorldServer extends World {
@@ -1001,6 +1001,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 49b1939d1..8074050b4 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 915ccb180..dfa15372b 100644
index 915ccb1807..dfa15372b8 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 {
@ -99,5 +99,5 @@ index 915ccb180..dfa15372b 100644
// Paper end
}
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From 9f47b15cb6ed40c2599f8de7b85faef5cd710361 Mon Sep 17 00:00:00 2001
From 5fbbfe7340d50022a05f06e38de6f6f063dafb7c 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 8074050b4..fd0edea78 100644
index 64bd41f1e3..1221c30a99 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -703,7 +703,7 @@ public class WorldServer extends World {
@@ -707,7 +707,7 @@ public class WorldServer extends World {
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
}
@ -31,7 +31,7 @@ index 8074050b4..fd0edea78 100644
entity.inChunk = false;
} else {
this.getChunkAt(i, k).a(entity);
@@ -1029,7 +1029,7 @@ public class WorldServer extends World {
@@ -1033,7 +1033,7 @@ public class WorldServer extends World {
return false;
}
// CraftBukkit end
@ -41,5 +41,5 @@ index 8074050b4..fd0edea78 100644
if (!(ichunkaccess instanceof Chunk)) {
return false;
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From ee3b5cb62838a7558620021703932a1190da2a66 Mon Sep 17 00:00:00 2001
From 91b68c7d93039aeed7ef7c5403a968460c80da50 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
@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA
It is recommended you regenerate the entities, as these were legit entities, and deserve your love.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 4ba72275b..572679e4d 100644
index 4ba72275b9..572679e4d1 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -442,4 +442,43 @@ public class PaperWorldConfig {
@ -81,7 +81,7 @@ index 4ba72275b..572679e4d 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index c464d6962..3882e5b2a 100644
index c464d69623..3882e5b2a6 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -396,6 +396,7 @@ public class Chunk implements IChunkAccess {
@ -93,7 +93,7 @@ index c464d6962..3882e5b2a 100644
int k = MathHelper.floor(entity.locY() / 16.0D);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b45afbcde..4021bb5b8 100644
index b45afbcde2..4021bb5b88 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2743,6 +2743,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -105,7 +105,7 @@ index b45afbcde..4021bb5b8 100644
this.uniqueID = uuid;
this.am = this.uniqueID.toString();
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index f640d2ac7..8c6cd4cd6 100644
index f640d2ac76..8c6cd4cd6e 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,6 +1,7 @@
@ -210,7 +210,7 @@ index f640d2ac7..8c6cd4cd6 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 fd0edea78..c969e9090 100644
index 1221c30a99..ea3a890027 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 fd0edea78..c969e9090 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Queues;
@@ -1056,8 +1058,23 @@ public class WorldServer extends World {
@@ -1060,8 +1062,23 @@ public class WorldServer extends World {
if (entity1 == null) {
return false;
} else {
@ -248,7 +248,7 @@ index fd0edea78..c969e9090 100644
return true;
}
}
@@ -1197,7 +1214,7 @@ public class WorldServer extends World {
@@ -1201,7 +1218,7 @@ public class WorldServer extends World {
}
Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity);
@ -258,5 +258,5 @@ index fd0edea78..c969e9090 100644
logger.error("Overwrote an existing entity " + old + " with " + entity);
if (DEBUG_ENTITIES) {
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From e0df56cfcf7e9834813610e675e75951d390f8a2 Mon Sep 17 00:00:00 2001
From 69bd2794444835a43e7a35f99297d9c0514653c5 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 572679e4d..071e5e7f7 100644
index 572679e4d1..071e5e7f72 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -481,4 +481,10 @@ public class PaperWorldConfig {
@ -21,7 +21,7 @@ index 572679e4d..071e5e7f7 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3ede5ce2a..eaa26e1a5 100644
index 3ede5ce2a6..eaa26e1a50 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -586,6 +586,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -72,7 +72,7 @@ index 3ede5ce2a..eaa26e1a5 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 d6762d385..7b6f5b2da 100644
index d6762d3853..7b6f5b2da0 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 d6762d385..7b6f5b2da 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 3868572ae..ae77805f7 100644
index 3868572aed..ae77805f71 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 3868572ae..ae77805f7 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 c969e9090..5f9930447 100644
index ea3a890027..f4ee20efd9 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1578,13 +1578,85 @@ public class WorldServer extends World {
@@ -1582,13 +1582,85 @@ public class WorldServer extends World {
return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a();
}
@ -207,7 +207,7 @@ index c969e9090..5f9930447 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 41d1c3bb6..ecc10a4f7 100644
index 41d1c3bb62..ecc10a4f7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1924,15 +1924,21 @@ public class CraftWorld implements World {
@ -237,5 +237,5 @@ index 41d1c3bb6..ecc10a4f7 100644
@Override
--
2.25.1
2.25.2

View File

@ -1,11 +1,11 @@
From fb2ea119cf6d948aeb18437265f21b42a8e4d4dd Mon Sep 17 00:00:00 2001
From 086611b07ae16d7b852c8b64e448375d91e749ad 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
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 071e5e7f7..486761521 100644
index 071e5e7f72..4867615215 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -487,4 +487,19 @@ public class PaperWorldConfig {
@ -29,7 +29,7 @@ index 071e5e7f7..486761521 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 3882e5b2a..4d300699f 100644
index 3882e5b2a6..4d300699f1 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess {
@ -42,7 +42,7 @@ index 3882e5b2a..4d300699f 100644
private long inhabitedTime;
@Nullable
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index b18d07b76..d2ec089e8 100644
index 0db7b88bdd..462b224dfe 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -434,6 +434,15 @@ public class ChunkProviderServer extends IChunkProvider {
@ -62,7 +62,7 @@ index b18d07b76..d2ec089e8 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 eaa26e1a5..6fa08c60b 100644
index eaa26e1a50..6fa08c60bd 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
@ -108,7 +108,7 @@ index eaa26e1a5..6fa08c60b 100644
this.methodProfiler.enter("snooper");
if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index b6d387006..66a389a67 100644
index b6d3870063..66a389a67e 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -40,6 +40,9 @@ public class PlayerChunk {
@ -175,7 +175,7 @@ index b6d387006..66a389a67 100644
public void a(ProtoChunkExtension protochunkextension) {
for (int i = 0; i < this.statusFutures.length(); ++i) {
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 7033d3a91..5c28ccc00 100644
index 7033d3a91f..5c28ccc004 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -331,6 +331,64 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@ -261,10 +261,10 @@ index 7033d3a91..5c28ccc00 100644
return PlayerChunk.getChunkState(playerchunk.getTicketLevel());
});
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5f9930447..729cf3ee5 100644
index f4ee20efd9..a7e7eb85ba 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -810,11 +810,44 @@ public class WorldServer extends World {
@@ -814,11 +814,44 @@ public class WorldServer extends World {
return this.worldProvider.c();
}
@ -310,7 +310,7 @@ index 5f9930447..729cf3ee5 100644
try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
@@ -841,6 +874,7 @@ public class WorldServer extends World {
@@ -845,6 +878,7 @@ public class WorldServer extends World {
// CraftBukkit end
}
@ -319,5 +319,5 @@ index 5f9930447..729cf3ee5 100644
this.checkSession();
this.worldProvider.i();
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From e9e9c70fb82bae36164f3093a2d67ad742dca62d Mon Sep 17 00:00:00 2001
From 628a1cdf2da8a0b4ca0f8904696d6c2377b7fa27 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 df24e3297..4c5010936 100644
index df24e3297b..4c50109365 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -507,6 +507,16 @@ public class PaperWorldConfig {
@ -38,10 +38,10 @@ index df24e3297..4c5010936 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 729cf3ee5..bc789fc29 100644
index a7e7eb85ba..85c96467c1 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -953,6 +953,13 @@ public class WorldServer extends World {
@@ -957,6 +957,13 @@ public class WorldServer extends World {
EnumCreatureType enumcreaturetype = entity.getEntityType().e();
if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) {
@ -56,5 +56,5 @@ index 729cf3ee5..bc789fc29 100644
}
}
--
2.25.1
2.25.2

View File

@ -1,14 +1,14 @@
From cbeed904f7e41afd6b9f380a2700cd60442c5dd1 Mon Sep 17 00:00:00 2001
From 2c601e0789d5d74301bd9154f2438d97e0ae95b6 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 bc789fc29..27dcc2528 100644
index 85c96467c1..5063544a44 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1392,6 +1392,7 @@ public class WorldServer extends World {
@@ -1396,6 +1396,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 bc789fc29..27dcc2528 100644
Iterator iterator = this.navigators.iterator();
while (iterator.hasNext()) {
@@ -1402,6 +1403,7 @@ public class WorldServer extends World {
@@ -1406,6 +1407,7 @@ public class WorldServer extends World {
}
}
@ -25,5 +25,5 @@ index bc789fc29..27dcc2528 100644
}
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From 5c3c318bcec00aae58e6b5e4585b50eb4d0b281d Mon Sep 17 00:00:00 2001
From f2c303cd7f272183bc4a916550d447a6a63fdbaf 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
@ -121,12 +121,12 @@ tasks required to be executed by the chunk load task (i.e lighting
and some poi tasks).
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
index e41083f14c..8a3f30c36f 100644
index 27ce4a828e..30bafb214b 100644
--- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -62,6 +62,17 @@ public class WorldTimingsHandler {
@@ -61,6 +61,17 @@ public class WorldTimingsHandler {
public final Timing miscMobSpawning;
public final Timing chunkInhibitedRangeCheck;
+ public final Timing poiUnload;
+ public final Timing chunkUnload;
@ -142,9 +142,9 @@ index e41083f14c..8a3f30c36f 100644
public WorldTimingsHandler(World server) {
String name = server.worldData.getName() +" - ";
@@ -120,6 +131,17 @@ public class WorldTimingsHandler {
@@ -118,6 +129,17 @@ public class WorldTimingsHandler {
chunkInhibitedRangeCheck = Timings.ofSafe(name + "Chunks - Inhibited Range Check");
miscMobSpawning = Timings.ofSafe(name + "Mob spawning - Misc");
+
+ poiUnload = Timings.ofSafe(name + "Chunk unload - POI");
@ -2361,7 +2361,7 @@ index 0000000000..715a2dd8d2
+
+}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 21498da29c..eb9bf1516a 100644
index b582171c51..03d7ce8294 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -218,11 +218,137 @@ public class ChunkProviderServer extends IChunkProvider {
@ -2516,7 +2516,7 @@ index 21498da29c..eb9bf1516a 100644
this.world.timings.chunkAwait.stopTiming(); // Paper
} // Paper
ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> {
@@ -756,11 +887,12 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -754,11 +885,12 @@ public class ChunkProviderServer extends IChunkProvider {
protected boolean executeNext() {
// CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task
try {
@ -3933,7 +3933,7 @@ index c999f8c9bf..b59ef1a633 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 27dcc25284..6506daeecd 100644
index 30a50afafe..5c8894840b 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -82,6 +82,79 @@ public class WorldServer extends World {
@ -4108,5 +4108,5 @@ index 07936eeba2..5bdcdcf9e8 100644
log.log( Level.SEVERE, "------------------------------" );
//
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From 85f83c65d51ec74fe7bad9b87a4e253825973e7e Mon Sep 17 00:00:00 2001
From 134bd0bfaa6b263d23a95138710d5817ed8a216f 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 26d1303dd..edffae055 100644
index 659044ffe8..0b236f0903 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -807,12 +807,13 @@ public class WorldServer extends World {
@@ -811,12 +811,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 26d1303dd..edffae055 100644
// CraftBukkit start
if (this.generator != null) {
Random rand = new Random(this.getSeed());
@@ -829,6 +830,13 @@ public class WorldServer extends World {
@@ -833,6 +834,13 @@ public class WorldServer extends World {
}
// CraftBukkit end
@ -45,5 +45,5 @@ index 26d1303dd..edffae055 100644
WorldServer.LOGGER.warn("Unable to find spawn biome");
}
--
2.25.1
2.25.2

View File

@ -1,31 +1,31 @@
From 838a378b1ceba8ab08e0d54b02d312cc447acdc3 Mon Sep 17 00:00:00 2001
From 5955d672a70dc9a15e74f2d7f661bdc9b5618ceb 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 8a3f30c36..51281cfa2 100644
index 30bafb214b..c9a3ba4bfb 100644
--- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -61,6 +61,7 @@ public class WorldTimingsHandler {
@@ -60,6 +60,7 @@ public class WorldTimingsHandler {
public final Timing miscMobSpawning;
public final Timing chunkInhibitedRangeCheck;
+ public final Timing playerMobDistanceMapUpdate;
public final Timing poiUnload;
public final Timing chunkUnload;
@@ -131,6 +132,7 @@ public class WorldTimingsHandler {
@@ -129,6 +130,7 @@ public class WorldTimingsHandler {
chunkInhibitedRangeCheck = Timings.ofSafe(name + "Chunks - Inhibited Range Check");
miscMobSpawning = Timings.ofSafe(name + "Mob spawning - Misc");
+ playerMobDistanceMapUpdate = Timings.ofSafe(name + "Per Player Mob Spawning - Distance Map Update");
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 9d9260ad0..fd3dbea62 100644
index 9d9260ad07..fd3dbea628 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -613,4 +613,9 @@ public class PaperWorldConfig {
@ -40,7 +40,7 @@ index 9d9260ad0..fd3dbea62 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 000000000..9ebd7ecb7
index 0000000000..9ebd7ecb7a
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java
@@ -0,0 +1,253 @@
@ -299,7 +299,7 @@ index 000000000..9ebd7ecb7
+}
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 000000000..4f13d3ff8
index 0000000000..4f13d3ff83
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java
@@ -0,0 +1,241 @@
@ -545,7 +545,7 @@ index 000000000..4f13d3ff8
+ }
+}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 0745ab75a..afbe813dd 100644
index eb4bc66bce..a6529cefe8 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -660,7 +660,22 @@ public class ChunkProviderServer extends IChunkProvider {
@ -572,7 +572,7 @@ index 0745ab75a..afbe813dd 100644
this.world.timings.countNaturalMobs.stopTiming(); // Paper - timings
this.world.getMethodProfiler().exit();
@@ -729,8 +744,23 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -728,8 +743,23 @@ public class ChunkProviderServer extends IChunkProvider {
if (enumcreaturetype != EnumCreatureType.MISC && (!enumcreaturetype.c() || this.allowAnimals) && (enumcreaturetype.c() || this.allowMonsters) && (!enumcreaturetype.d() || flag2)) {
int k1 = limit * l / ChunkProviderServer.b; // CraftBukkit - use per-world limits
@ -599,7 +599,7 @@ index 0745ab75a..afbe813dd 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index d00b687d2..07a2310b1 100644
index d00b687d25..07a2310b18 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -81,6 +81,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -631,7 +631,7 @@ index d00b687d2..07a2310b1 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 79f854966..4100e367a 100644
index 79f8549660..4100e367a4 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 79f854966..4100e367a 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 a3271d6c2..57bea926a 100644
index a3271d6c28..57bea926a6 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 a3271d6c2..57bea926a 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 fdac5bb3a..58bbf2f9d 100644
index fdac5bb3a2..58bbf2f9d2 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 fdac5bb3a..58bbf2f9d 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index edffae055..88cc8763f 100644
index 0b236f0903..95ff177efb 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1024,7 +1024,20 @@ public class WorldServer extends World {
@@ -1028,7 +1028,20 @@ public class WorldServer extends World {
}
public Object2IntMap<EnumCreatureType> l() {
@ -780,7 +780,7 @@ index edffae055..88cc8763f 100644
ObjectIterator objectiterator = this.entitiesById.values().iterator();
while (objectiterator.hasNext()) {
@@ -1049,11 +1062,16 @@ public class WorldServer extends World {
@@ -1053,11 +1066,16 @@ public class WorldServer extends World {
continue;
}
// Paper end
@ -800,5 +800,5 @@ index edffae055..88cc8763f 100644
@Override
--
2.25.1
2.25.2

View File

@ -1,11 +1,11 @@
From 7280f634aaf43fa791bda5c3a37920be21447d8a Mon Sep 17 00:00:00 2001
From b14ef74258c813383400b99259c19e9087de9dbf 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 e790326c9..c37a0f035 100644
index e790326c9c..c37a0f035d 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -566,6 +566,11 @@ public class PaperWorldConfig {
@ -21,7 +21,7 @@ index e790326c9..c37a0f035 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 540fcce1d..e29ec958b 100644
index 540fcce1dd..e29ec958b3 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 540fcce1d..e29ec958b 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 c482aad3e..02c548dd9 100644
index c482aad3e3..02c548dd9c 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 c482aad3e..02c548dd9 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 e0974e256..3524fcb92 100644
index e0974e256f..3524fcb927 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 e0974e256..3524fcb92 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 d70b52cad..b624cf380 100644
index d70b52cadf..b624cf3804 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 d70b52cad..b624cf380 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 55b07444e..3bc3c5aa2 100644
index 55b07444e1..3bc3c5aa29 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 55b07444e..3bc3c5aa2 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 88cc8763f..b2d8f7b9f 100644
index b7b5640663..ed4c3d9da2 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -590,7 +590,9 @@ public class WorldServer extends World {
@@ -589,7 +589,9 @@ public class WorldServer extends World {
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
if (iblockdata.q()) {
@ -95,5 +95,5 @@ index 88cc8763f..b2d8f7b9f 100644
Fluid fluid = iblockdata.getFluid();
--
2.25.1
2.25.2

View File

@ -1,4 +1,4 @@
From e2326c6f026f2247ffadd665bf5df039d6213426 Mon Sep 17 00:00:00 2001
From 5bbd93c5ef1ef9897fcbf2bbb1566023b2faf863 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Mon, 27 Jan 2020 21:28:00 -0800
Subject: [PATCH] Optimise random block ticking
@ -20,7 +20,7 @@ remains the same.
diff --git a/src/main/java/com/destroystokyo/paper/util/math/ThreadUnsafeRandom.java b/src/main/java/com/destroystokyo/paper/util/math/ThreadUnsafeRandom.java
new file mode 100644
index 000000000..3edc8e52e
index 0000000000..3edc8e52e0
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/util/math/ThreadUnsafeRandom.java
@@ -0,0 +1,46 @@
@ -71,7 +71,7 @@ index 000000000..3edc8e52e
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index e29ec958b..e40375b67 100644
index e29ec958b3..e40375b67a 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -109,8 +109,8 @@ public class Block implements IMaterial {
@ -86,7 +86,7 @@ index e29ec958b..e40375b67 100644
}
diff --git a/src/main/java/net/minecraft/server/BlockFluids.java b/src/main/java/net/minecraft/server/BlockFluids.java
index 6d351f097..a44f65f40 100644
index 6d351f0979..a44f65f40d 100644
--- a/src/main/java/net/minecraft/server/BlockFluids.java
+++ b/src/main/java/net/minecraft/server/BlockFluids.java
@@ -27,7 +27,7 @@ public class BlockFluids extends Block implements IFluidSource {
@ -99,7 +99,7 @@ index 6d351f097..a44f65f40 100644
@Override
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index e76528f19..e650a2e48 100644
index e76528f199..e650a2e48d 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -450,6 +450,7 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
@ -111,7 +111,7 @@ index e76528f19..e650a2e48 100644
return this.d(baseblockposition.getX(), baseblockposition.getY(), baseblockposition.getZ());
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index fc01aa68e..92065fe02 100644
index fc01aa68eb..92065fe029 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -52,6 +52,8 @@ public class Chunk implements IChunkAccess {
@ -154,7 +154,7 @@ index fc01aa68e..92065fe02 100644
}
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
index 4526527ac..8b28fb5ee 100644
index 4526527aca..8b28fb5ee1 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -5,12 +5,15 @@ import javax.annotation.Nullable;
@ -259,7 +259,7 @@ index 4526527ac..8b28fb5ee 100644
}
diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java
index f9680b683..a61cffa3f 100644
index f9680b6830..a61cffa3f4 100644
--- a/src/main/java/net/minecraft/server/DataBits.java
+++ b/src/main/java/net/minecraft/server/DataBits.java
@@ -127,4 +127,46 @@ public class DataBits {
@ -310,7 +310,7 @@ index f9680b683..a61cffa3f 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 44aed6727..fa664897f 100644
index 44aed67274..fa664897fb 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -287,6 +287,14 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
@ -329,7 +329,7 @@ index 44aed6727..fa664897f 100644
public interface a<T> {
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
index dd02cb348..b24a5100b 100644
index dd02cb3485..b24a5100b4 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -29,7 +29,7 @@ public class EntityTurtle extends EntityAnimal {
@ -342,7 +342,7 @@ index dd02cb348..b24a5100b 100644
public final BlockPosition getHome() { return this.es(); } // Paper - OBFHELPER
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
index de4388165..e821c236b 100644
index de43881653..e821c236b4 100644
--- a/src/main/java/net/minecraft/server/IBlockData.java
+++ b/src/main/java/net/minecraft/server/IBlockData.java
@@ -22,11 +22,15 @@ public class IBlockData extends BlockDataAbstract<Block, IBlockData> implements
@ -395,7 +395,7 @@ index de4388165..e821c236b 100644
public final SoundEffectType getStepSound() { return this.r(); } // Paper - OBFHELPER
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 601a68ad6..bb34486a3 100644
index 601a68ad60..bb34486a36 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1555,10 +1555,19 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -420,10 +420,10 @@ index 601a68ad6..bb34486a3 100644
public boolean isSavingDisabled() {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 0fed33713..c74b85917 100644
index 4c3d4c18a5..7809e81b0c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -532,6 +532,11 @@ public class WorldServer extends World {
@@ -531,6 +531,11 @@ public class WorldServer extends World {
});
}
@ -435,7 +435,7 @@ index 0fed33713..c74b85917 100644
public void a(Chunk chunk, int i) {
ChunkCoordIntPair chunkcoordintpair = chunk.getPos();
boolean flag = this.isRaining();
@@ -540,10 +545,10 @@ public class WorldServer extends World {
@@ -539,10 +544,10 @@ public class WorldServer extends World {
GameProfilerFiller gameprofilerfiller = this.getMethodProfiler();
gameprofilerfiller.enter("thunder");
@ -449,7 +449,7 @@ index 0fed33713..c74b85917 100644
if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
@@ -562,61 +567,81 @@ public class WorldServer extends World {
@@ -561,61 +566,81 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("iceandsnow");
@ -568,5 +568,5 @@ index 0fed33713..c74b85917 100644
protected BlockPosition a(BlockPosition blockposition) {
--
2.25.1
2.25.2