Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@250e78c Re-add fixlight command
PaperMC/Paper@c0268ca Copy missing diff from old chunk system patch
PaperMC/Paper@38428c0 Cleanup MCUtils patch for chunk system
PaperMC/Paper@f4ddd4a Fix ChunkHolder#getFullChunkNow returning non-null when it should not
PaperMC/Paper@e0d9d60 Add debug for chunk system unload crash
PaperMC/Paper@2df432f Re-add chunk system debug commands
PaperMC/Paper@cf60574 Fix jukebox playable component not being applied on item meta (#10922)
PaperMC/Paper@666bc4d Experimental annotation changes (#10914)
PaperMC/Paper@bab07e0 Validate speed for tool component rule (#10923)
PaperMC/Paper@2118196 Fixes exception log messages getting dropped during bootstrap (#10935)
This commit is contained in:
granny
2024-06-20 16:31:30 -07:00
parent 783acfed92
commit b5f1c487e7
7 changed files with 69 additions and 74 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.21-R0.1-SNAPSHOT version = 1.21-R0.1-SNAPSHOT
mcVersion = 1.21 mcVersion = 1.21
paperCommit = 4ea696ffe4c52891d67f98f6cbe12e193539d48d paperCommit = 2118196dd57f9b7100b2d15b552d3c00fc5a55fa
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow inventory resizing
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
index 851e40dc8af6dcb5670785e006b078af7e72fb76..e814e4f9cf12cd7c783981278f110ccf144263b2 100644 index 398f74ba0d2e890fb556cd964f61da7c623a7c6d..29090acd16d8f5a41c8653d0e68692f0e07e3bf1 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -163,7 +163,7 @@ public enum InventoryType { @@ -162,7 +162,7 @@ public enum InventoryType {
SMITHING_NEW(4, "Upgrade Gear"), SMITHING_NEW(4, "Upgrade Gear"),
; ;

View File

@@ -214,7 +214,7 @@ index b24265573fdef5d9a964bcd76146f34542c420cf..710477ae27ebc5afdf0012ef0867d05e
public SystemReport getSystemReport() { public SystemReport getSystemReport() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index eb0a740f884fde081cabaec5a61c9b642a85a1b4..518daf813a6acf12589ce9891ebcf9b7fbeb8db9 100644 index 68f60e77e0bfd42b6419491c1d59b6432974216b..85ed9fd1f49163a77695524a1bb338097e4c35c3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -966,7 +966,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -966,7 +966,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -293,7 +293,7 @@ index 774556a62eb240da42e84db4502e2ed43495be17..99597258e8e88cd9e2c901c4ac3ff7fa
if (stream != null) { if (stream != null) {
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index b0a3ec17a50f4c302d6a9dd75bf907b01c567209..38a6ffd0e21e29601443ce5b5f66f4f69c4ebde0 100644 index e5e41dc2d4f7a8c3fea704212507ca0b951664db..71777757fc00dfb2f91abecc4443b65782e78300 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java --- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -24,7 +24,7 @@ public class WatchdogThread extends Thread @@ -24,7 +24,7 @@ public class WatchdogThread extends Thread
@@ -335,7 +335,7 @@ index b0a3ec17a50f4c302d6a9dd75bf907b01c567209..38a6ffd0e21e29601443ce5b5f66f4f6
log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "------------------------------" );
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper - log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur + log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper - rewrite chunk system ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - rewrite chunk system
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log ); WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "------------------------------" );
@@ -132,7 +132,7 @@ public class WatchdogThread extends Thread @@ -132,7 +132,7 @@ public class WatchdogThread extends Thread

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bbbd335ccefc197048350b580b407210918bbf21..4c71a0eedb99cf7de16335f6f260689abf4c92c7 100644 index 827d994be0c486e56748f7066e0f27128f4aba5d..db8507f11ca46c642700a8d9db70e0296921ffa8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1875,7 +1875,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1870,7 +1870,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {

View File

@@ -27,10 +27,10 @@ index 321188173918d0d60858a258400dfd682ccdb21c..af47074f3a61a8518697d7851e43d543
return true; return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 0e595bf509be9ea558ab94e5cfe0de10c58bfb1c..163ce425b273779dda5e3229be6c6b981d99acd0 100644 index db8ae59dc8f1eb52c344210c03634fc0b0012e82..d0c200a3eea7d891c07b6d16664b77e404880977 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1583,4 +1583,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1581,4 +1581,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return null; return null;
} }
// Paper end - optimize redstone (Alternate Current) // Paper end - optimize redstone (Alternate Current)

View File

@@ -42,7 +42,7 @@ index d0d36a57ec4896bcb74970f8fb24d8f3e17db133..0c8fe5b2500480c3a9e9ab3285ad22e0
} catch (Exception exception) { } catch (Exception exception) {
if (exception instanceof ReportedException) { if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3f7150abcfed72567d446105fc285610deed329d..28fceecee801cd56edc3e0506641d6560756a973 100644 index 1de97c47735190be65c220289bcb320d7be7e2ba..6753ea878a19a8cb883db783664929a8927799ac 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1546,15 +1546,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1546,15 +1546,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -133,24 +133,19 @@ index 3f7150abcfed72567d446105fc285610deed329d..28fceecee801cd56edc3e0506641d656
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked
Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down
@@ -1755,14 +1755,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1755,9 +1755,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick"); this.profiler.push("tick");
try { try {
- worldserver.timings.doTick.startTiming(); // Spigot - worldserver.timings.doTick.startTiming(); // Spigot
+ //worldserver.timings.doTick.startTiming(); // Spigot // Purpur + //worldserver.timings.doTick.startTiming(); // Spigot // Purpur
worldserver.tick(shouldKeepTicking); worldserver.tick(shouldKeepTicking);
// Paper start
for (final io.papermc.paper.chunk.SingleThreadChunkRegionManager regionManager : worldserver.getChunkSource().chunkMap.regionManagers) {
regionManager.recalculateRegions();
}
// Paper end
- worldserver.timings.doTick.stopTiming(); // Spigot - worldserver.timings.doTick.stopTiming(); // Spigot
+ //worldserver.timings.doTick.stopTiming(); // Spigot // Purpur + //worldserver.timings.doTick.stopTiming(); // Spigot // Purpur
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1777,24 +1777,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1772,24 +1772,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
this.profiler.popPush("connection"); this.profiler.popPush("connection");
@@ -182,10 +177,10 @@ index 3f7150abcfed72567d446105fc285610deed329d..28fceecee801cd56edc3e0506641d656
this.profiler.popPush("send chunks"); this.profiler.popPush("send chunks");
iterator = this.playerList.getPlayers().iterator(); iterator = this.playerList.getPlayers().iterator();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index aae89d7fa1e8b58c0c45d2ccaceee6d0293dd110..7966a96e8b7d3aa4b858f578229bae6c8f7714b8 100644 index a25855521ab4a3a8bcb5bbae6973b9fe77f645de..73f1080559ae91a89feca60bcc3812b086e16f8f 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -517,7 +517,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -543,7 +543,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
} }
public void handleConsoleInputs() { public void handleConsoleInputs() {
@@ -194,7 +189,7 @@ index aae89d7fa1e8b58c0c45d2ccaceee6d0293dd110..7966a96e8b7d3aa4b858f578229bae6c
// Paper start - Perf: use proper queue // Paper start - Perf: use proper queue
ConsoleInput servercommand; ConsoleInput servercommand;
while ((servercommand = this.serverCommandQueue.poll()) != null) { while ((servercommand = this.serverCommandQueue.poll()) != null) {
@@ -534,7 +534,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -560,7 +560,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// CraftBukkit end // CraftBukkit end
} }
@@ -204,10 +199,10 @@ index aae89d7fa1e8b58c0c45d2ccaceee6d0293dd110..7966a96e8b7d3aa4b858f578229bae6c
@Override @Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index df00ea382915480be1279a5347872cf7a1417341..b27cb90a52bc7d96d4318979c678a49a884562b2 100644 index c96740a82eac9101f74edeb44edf4b64d1d633e0..1b6c5a36e96a3845d55b0b798a8cffdc7a4ffd93 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -984,7 +984,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -957,7 +957,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList(); List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players(); List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator(); ObjectIterator objectiterator = this.entityMap.values().iterator();
@@ -216,7 +211,7 @@ index df00ea382915480be1279a5347872cf7a1417341..b27cb90a52bc7d96d4318979c678a49a
ChunkMap.TrackedEntity playerchunkmap_entitytracker; ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -1009,17 +1009,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -982,17 +982,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges(); playerchunkmap_entitytracker.serverEntity.sendChanges();
} }
} }
@@ -238,10 +233,10 @@ index df00ea382915480be1279a5347872cf7a1417341..b27cb90a52bc7d96d4318979c678a49a
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264e3dac505 100644 index 82e7f7c3c2f51bc135585f43bc5167bcde2f8a98..779b7ec2f243f4a8868d78e7fe5b5c57446d60aa 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -436,9 +436,9 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -357,9 +357,9 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
public void save(boolean flush) { public void save(boolean flush) {
// Paper - rewrite chunk system // Paper - rewrite chunk system
@@ -253,7 +248,7 @@ index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264
} }
@Override @Override
@@ -466,26 +466,25 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -387,26 +387,25 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@Override @Override
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) { public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
this.level.getProfiler().push("purge"); this.level.getProfiler().push("purge");
@@ -286,7 +281,7 @@ index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264
this.level.getProfiler().pop(); this.level.getProfiler().pop();
this.clearCache(); this.clearCache();
} }
@@ -502,7 +501,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -423,7 +422,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
gameprofilerfiller.push("filteringLoadedChunks"); gameprofilerfiller.push("filteringLoadedChunks");
List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(this.chunkMap.size()); List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(this.chunkMap.size());
Iterator iterator = this.chunkMap.getChunks().iterator(); Iterator iterator = this.chunkMap.getChunks().iterator();
@@ -295,7 +290,7 @@ index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264
while (iterator.hasNext()) { while (iterator.hasNext()) {
ChunkHolder playerchunk = (ChunkHolder) iterator.next(); ChunkHolder playerchunk = (ChunkHolder) iterator.next();
@@ -515,7 +514,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -436,7 +435,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
if (this.level.tickRateManager().runsNormally()) { if (this.level.tickRateManager().runsNormally()) {
gameprofilerfiller.popPush("naturalSpawnCount"); gameprofilerfiller.popPush("naturalSpawnCount");
@@ -304,7 +299,7 @@ index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264
int k = this.distanceManager.getNaturalSpawnChunkCount(); int k = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - Optional per player mob spawns // Paper start - Optional per player mob spawns
int naturalSpawnChunkCount = k; int naturalSpawnChunkCount = k;
@@ -540,7 +539,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -461,7 +460,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false); spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false);
} }
// Paper end - Optional per player mob spawns // Paper end - Optional per player mob spawns
@@ -313,7 +308,7 @@ index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264
this.lastSpawnState = spawnercreature_d; this.lastSpawnState = spawnercreature_d;
gameprofilerfiller.popPush("spawnAndTick"); gameprofilerfiller.popPush("spawnAndTick");
@@ -576,21 +575,21 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -497,21 +496,21 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
} }
} }
} }
@@ -341,7 +336,7 @@ index 681fdab250d924a29ca160acffbcbf7f8a3ca78a..fbb1753425a1cd456e4096b9fe506264
gameprofilerfiller.pop(); gameprofilerfiller.pop();
gameprofilerfiller.pop(); gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fda301c5bb53bc04d9cb133c45d791fa2b30169c..55446501a3bc42e4881eb38b13d1de5d03d22c0d 100644 index be1d11d58aca571ed5b943bcbc00bafda5ea91db..2c622aaa370bb8cf3b6d68bc6533abe318992d6a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -563,10 +558,10 @@ index 85b4b24361e785acf75571ff98f924c00ae80748..09a7b418ddf564c0be13297f7c216db2
} }
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 238929778d6c36be5e60c5f21861db13d17b8cb1..2fc472df25f61528e04f5f41e0fc179a3f4151fb 100644 index 54b57081264c367fba10433f25a6ef93f18fc4ab..e353384abb69aa4cee6fb20277df874b40466ace 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -987,15 +987,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -985,15 +985,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
ProfilerFiller gameprofilerfiller = this.getProfiler(); ProfilerFiller gameprofilerfiller = this.getProfiler();
gameprofilerfiller.push("blockEntities"); gameprofilerfiller.push("blockEntities");
@@ -585,7 +580,7 @@ index 238929778d6c36be5e60c5f21861db13d17b8cb1..2fc472df25f61528e04f5f41e0fc179a
// Spigot start // Spigot start
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator(); // Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
boolean flag = this.tickRateManager().runsNormally(); boolean flag = this.tickRateManager().runsNormally();
@@ -1019,7 +1019,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1017,7 +1017,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
} }
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075 this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
@@ -617,11 +612,11 @@ index ed8032495af9ce9c23419224814b8d27e4a97c17..2812505185df691e8f08932aa0bba162
} }
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 435f5f0a17901f743bd565b28f9feb5d4058c819..1a57806714e347ab4efe12f5f7782c2167a439a2 100644 index d388fbcbff63928f0e9140c02400a63ba8f19d9c..191a6bedcd31ec070dd4ad245722d0f016319d7a 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -739,7 +739,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -628,7 +628,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(bukkitChunk, this.needsDecoration)); ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getChunkTaskScheduler().chunkHolderManager.getChunkHolder(this.locX, this.locZ).getEntityChunk().callEntitiesLoadEvent(); // Paper - rewrite chunk system
if (this.needsDecoration) { if (this.needsDecoration) {
- try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper - try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper
@@ -629,7 +624,7 @@ index 435f5f0a17901f743bd565b28f9feb5d4058c819..1a57806714e347ab4efe12f5f7782c21
this.needsDecoration = false; this.needsDecoration = false;
java.util.Random random = new java.util.Random(); java.util.Random random = new java.util.Random();
random.setSeed(this.level.getSeed()); random.setSeed(this.level.getSeed());
@@ -759,7 +759,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -648,7 +648,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
} }
} }
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk)); server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk));
@@ -638,7 +633,7 @@ index 435f5f0a17901f743bd565b28f9feb5d4058c819..1a57806714e347ab4efe12f5f7782c21
} }
} }
} }
@@ -1109,7 +1109,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -988,7 +988,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler(); ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler();
gameprofilerfiller.push(this::getType); gameprofilerfiller.push(this::getType);
@@ -647,7 +642,7 @@ index 435f5f0a17901f743bd565b28f9feb5d4058c819..1a57806714e347ab4efe12f5f7782c21
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) { if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1136,7 +1136,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -1015,7 +1015,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
// Paper end - Prevent block entity and entity crashes // Paper end - Prevent block entity and entity crashes
// Spigot start // Spigot start
} finally { } finally {

View File

@@ -83,7 +83,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..684f7f202305c09b1037c5d38a52a5ea
} }
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa5660f278 100644 index 6753ea878a19a8cb883db783664929a8927799ac..f00825d506242bc3ab3aef6b48cb87073f8af682 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -359,13 +359,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -359,13 +359,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -240,7 +240,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
try { try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur //worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1770,17 +1770,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1765,17 +1765,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
@@ -262,7 +262,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur //MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick(); this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1788,7 +1788,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1783,7 +1783,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick(); GameTestTicker.SINGLETON.tick();
} }
@@ -271,7 +271,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur //MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) { for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1796,7 +1796,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1791,7 +1791,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -280,7 +280,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
iterator = this.playerList.getPlayers().iterator(); iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1806,7 +1806,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1801,7 +1801,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing(); entityplayer.connection.resumeFlushing();
} }
@@ -289,7 +289,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
} }
private void synchronizeTime(ServerLevel world) { private void synchronizeTime(ServerLevel world) {
@@ -1814,7 +1814,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1809,7 +1809,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void forceTimeSynchronization() { public void forceTimeSynchronization() {
@@ -298,7 +298,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
Iterator iterator = this.getAllLevels().iterator(); Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1823,7 +1823,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1818,7 +1818,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver); this.synchronizeTime(worldserver);
} }
@@ -307,7 +307,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
} }
public boolean isLevelEnabled(Level world) { public boolean isLevelEnabled(Level world) {
@@ -2535,6 +2535,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2530,6 +2530,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -315,7 +315,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
return this.profiler; return this.profiler;
} }
@@ -2774,7 +2775,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2776,7 +2777,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end // CraftBukkit end
private void startMetricsRecordingTick() { private void startMetricsRecordingTick() {
@@ -324,7 +324,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> { this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> { this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server")); this.saveDebugReport(path.resolve("server"));
@@ -2784,40 +2785,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2786,40 +2787,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false; this.willStartRecordingMetrics = false;
} }
@@ -377,7 +377,7 @@ index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa
} }
public Path getWorldPath(LevelResource worldSavePath) { public Path getWorldPath(LevelResource worldSavePath) {
@@ -2870,15 +2871,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2872,15 +2873,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public boolean isTimeProfilerRunning() { public boolean isTimeProfilerRunning() {
@@ -443,10 +443,10 @@ index 9cd4f7c6910727c849ac7f5d675dc6105c4bbba2..4e4b7f2a6d7ed92a2ce06e566186027c
} }
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index b27cb90a52bc7d96d4318979c678a49a884562b2..686f3d8c91e1ffc0c7ffe1cd9bcf5df5503cb938 100644 index 1b6c5a36e96a3845d55b0b798a8cffdc7a4ffd93..ecd02b10c4120a7d7342b12ec95be0ee56318333 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -452,16 +452,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -425,16 +425,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
} }
protected void tick(BooleanSupplier shouldKeepTicking) { protected void tick(BooleanSupplier shouldKeepTicking) {
@@ -468,10 +468,10 @@ index b27cb90a52bc7d96d4318979c678a49a884562b2..686f3d8c91e1ffc0c7ffe1cd9bcf5df5
public boolean hasWork() { public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e81ab4284 100644 index 779b7ec2f243f4a8868d78e7fe5b5c57446d60aa..c50e1dee1a32ea7a8fd412f98e944a0e81b69b02 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -453,26 +453,26 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -374,26 +374,26 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
// CraftBukkit start - modelled on below // CraftBukkit start - modelled on below
public void purgeUnload() { public void purgeUnload() {
@@ -503,7 +503,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
if (tickChunks) { if (tickChunks) {
//this.level.timings.chunks.startTiming(); // Paper - timings // Purpur //this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getPlayerChunkLoader().tick(); // Paper - rewrite chunk system ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getPlayerChunkLoader().tick(); // Paper - rewrite chunk system
@@ -482,10 +482,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -403,10 +403,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
} }
//this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur //this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur
@@ -516,7 +516,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
this.clearCache(); this.clearCache();
} }
@@ -495,10 +495,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -416,10 +416,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
this.lastInhabitedUpdate = i; this.lastInhabitedUpdate = i;
if (!this.level.isDebug()) { if (!this.level.isDebug()) {
@@ -530,7 +530,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(this.chunkMap.size()); List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(this.chunkMap.size());
Iterator iterator = this.chunkMap.getChunks().iterator(); Iterator iterator = this.chunkMap.getChunks().iterator();
//if (this.level.getServer().tickRateManager().runsNormally()) this.level.timings.chunkTicks.startTiming(); // Paper // Purpur //if (this.level.getServer().tickRateManager().runsNormally()) this.level.timings.chunkTicks.startTiming(); // Paper // Purpur
@@ -513,7 +513,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -434,7 +434,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
} }
if (this.level.tickRateManager().runsNormally()) { if (this.level.tickRateManager().runsNormally()) {
@@ -539,7 +539,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
//this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur //this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
int k = this.distanceManager.getNaturalSpawnChunkCount(); int k = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - Optional per player mob spawns // Paper start - Optional per player mob spawns
@@ -542,7 +542,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -463,7 +463,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
// this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur // this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur
this.lastSpawnState = spawnercreature_d; this.lastSpawnState = spawnercreature_d;
@@ -548,7 +548,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
Util.shuffle(list, this.level.random); Util.shuffle(list, this.level.random);
@@ -577,7 +577,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -498,7 +498,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
} }
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
@@ -557,7 +557,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
if (flag) { if (flag) {
//try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings // Purpur //try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings // Purpur
this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies); this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies);
@@ -585,14 +585,14 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -506,14 +506,14 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
} }
} }
@@ -575,7 +575,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
} }
} }
@@ -773,7 +773,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -694,7 +694,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@Override @Override
protected void doRunTask(Runnable task) { protected void doRunTask(Runnable task) {
@@ -585,7 +585,7 @@ index fbb1753425a1cd456e4096b9fe506264e3dac505..adf79eb40c62e56311533de6c919f77e
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 55446501a3bc42e4881eb38b13d1de5d03d22c0d..500a735113f9f16f9d336c2bb1cad1447e5d64c4 100644 index 2c622aaa370bb8cf3b6d68bc6533abe318992d6a..fa652c9cea66b31c2452ed77cf251791d22f06fb 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -644,16 +644,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -644,16 +644,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1806,7 +1806,7 @@ index bff83fe413c7baef4ba56a3270ea4463a58c792f..3ee7bf7e10f8120258baaae8f77cdcbb
if (this.fire) { if (this.fire) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb0e016bb5 100644 index e353384abb69aa4cee6fb20277df874b40466ace..a5dab1252bec8f0ba5e40313e329731c559945f3 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -268,7 +268,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -268,7 +268,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1827,7 +1827,7 @@ index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb
final List<Entity> ret = new java.util.ArrayList<>(); final List<Entity> ret = new java.util.ArrayList<>();
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate); ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate);
@@ -984,9 +984,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -982,9 +982,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
} }
protected void tickBlockEntities() { protected void tickBlockEntities() {
@@ -1839,7 +1839,7 @@ index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur //this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true; this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) { if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1022,7 +1022,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1020,7 +1020,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur //this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.tickingBlockEntities = false; this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
@@ -1848,7 +1848,7 @@ index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb
this.spigotConfig.currentPrimedTnt = 0; // Spigot this.spigotConfig.currentPrimedTnt = 0; // Spigot
} }
@@ -1226,7 +1226,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1224,7 +1224,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override @Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) { public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -1857,7 +1857,7 @@ index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb
// Paper start - rewrite chunk system // Paper start - rewrite chunk system
final List<Entity> ret = new java.util.ArrayList<>(); final List<Entity> ret = new java.util.ArrayList<>();
@@ -1252,7 +1252,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1250,7 +1250,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest, public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate, final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) { final List<? super T> into, final int maxCount) {
@@ -1866,7 +1866,7 @@ index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) { if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
if (maxCount != Integer.MAX_VALUE) { if (maxCount != Integer.MAX_VALUE) {
@@ -1547,6 +1547,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1545,6 +1545,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -1897,10 +1897,10 @@ index 2812505185df691e8f08932aa0bba162a7d9db86..35e94c06361795d032f995e8282f8b35
// Paper start - Add mobcaps commands // Paper start - Add mobcaps commands
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 1a57806714e347ab4efe12f5f7782c2167a439a2..5d67b0fb6e979133d80c852d0c8d9fe02e2f97d2 100644 index 191a6bedcd31ec070dd4ad245722d0f016319d7a..7238f28b7d4b40359a28970a7a53018c242af6e2 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -449,11 +449,11 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -350,11 +350,11 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
if (LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) { if (LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) {
ProfilerFiller gameprofilerfiller = this.level.getProfiler(); ProfilerFiller gameprofilerfiller = this.level.getProfiler();
@@ -1915,7 +1915,7 @@ index 1a57806714e347ab4efe12f5f7782c2167a439a2..5d67b0fb6e979133d80c852d0c8d9fe0
} }
boolean flag3 = iblockdata1.hasBlockEntity(); boolean flag3 = iblockdata1.hasBlockEntity();
@@ -1106,9 +1106,9 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -985,9 +985,9 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
if (LevelChunk.this.isTicking(blockposition)) { if (LevelChunk.this.isTicking(blockposition)) {
try { try {
@@ -1927,7 +1927,7 @@ index 1a57806714e347ab4efe12f5f7782c2167a439a2..5d67b0fb6e979133d80c852d0c8d9fe0
//this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur //this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
@@ -1125,7 +1125,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -1004,7 +1004,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
// Paper end - Remove the Block Entity if it's invalid // Paper end - Remove the Block Entity if it's invalid
} }