Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b4f04ff Add Plugin#getDataPath (#11080)
PaperMC/Paper@05e5865 Add ItemType#getItemRarity (#11049)
PaperMC/Paper@aa929d6 Call PlayerLaunchProjectileEvent for wind charge (#10911)
PaperMC/Paper@8b23018 Avoid collision shapes outside world border in findFreePosition
PaperMC/Paper@3b45454 Port random ticking optimisation from Moonrise
PaperMC/Paper@77fcb29 Apply incremental player/level saving patch
PaperMC/Paper@9fd7710 Apply automatic regionfile header recalculation patch
PaperMC/Paper@b57b24d Do not try to stop main thread during watchdog shutdown
PaperMC/Paper@2cd8c46 Add OMINOUS_ITEM_SPAWNER SpawnReason (#10897)
This commit is contained in:
granny
2024-07-15 17:14:04 -07:00
parent 87cf9f15dc
commit bf63cfab4d
39 changed files with 215 additions and 221 deletions

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
index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9fd2eaf27 100644
index a7554d272d13747bed32ce4190b58151b106f7e4..0852e14cbb194bd524147ec443eb2791e9ecf3a6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -422,13 +422,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -106,8 +106,8 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.random = RandomSource.create();
this.port = -1;
this.levels = Maps.newLinkedHashMap();
@@ -1042,9 +1042,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@@ -1033,9 +1033,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
org.spigotmc.WatchdogThread.doStop(); // Paper
// Paper end
// CraftBukkit end
- if (this.metricsRecorder.isRecording()) {
@@ -118,7 +118,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1315,16 +1315,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1306,16 +1306,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -139,7 +139,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.tickServer(flag ? () -> {
return false;
} : this::haveTime);
@@ -1335,7 +1335,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1326,7 +1326,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new RuntimeException("Chunk system crash propagated to tick()", crash);
}
// Paper end - rewrite chunk system
@@ -148,7 +148,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
// Purpur start
@@ -1351,9 +1351,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1342,9 +1342,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -161,7 +161,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
}
@@ -1563,7 +1563,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1554,7 +1554,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -170,19 +170,25 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
super.doRunTask(ticktask);
}
@@ -1636,9 +1636,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.ticksUntilAutosave = this.autosavePeriod;
// CraftBukkit end
MinecraftServer.LOGGER.debug("Autosave started");
- this.profiler.push("save");
+ //this.profiler.push("save"); // Purpur
this.saveEverything(true, false, false);
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
MinecraftServer.LOGGER.debug("Autosave finished");
@@ -1627,7 +1627,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod;
}
- this.profiler.push("save");
+ //this.profiler.push("save"); // Purpur
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try {
this.isSaving = true;
@@ -1642,7 +1642,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally {
this.isSaving = false;
}
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
// Paper end - Incremental chunk and player saving
io.papermc.paper.util.CachedLists.reset(); // Paper
@@ -1652,7 +1652,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper start - move executeAll() into full server tick timing
@@ -1655,7 +1655,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
@@ -191,7 +197,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
long j = Util.getNanos() - i;
int k = this.tickCount % 100;
@@ -1666,7 +1666,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1669,7 +1669,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, j);
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
@@ -200,7 +206,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1757,11 +1757,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1760,11 +1760,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -214,7 +220,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1804,20 +1804,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1807,20 +1807,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.updateLagCompensationTick(); // Paper - lag compensation
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -240,7 +246,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1830,17 +1830,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1833,17 +1833,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -262,7 +268,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1848,7 +1848,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1851,7 +1851,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@@ -271,7 +277,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1856,7 +1856,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1859,7 +1859,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -280,7 +286,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1866,7 +1866,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1869,7 +1869,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing();
}
@@ -289,7 +295,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
}
private void synchronizeTime(ServerLevel world) {
@@ -1874,7 +1874,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1877,7 +1877,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -298,7 +304,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1883,7 +1883,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1886,7 +1886,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -307,7 +313,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
}
public boolean isLevelEnabled(Level world) {
@@ -2595,6 +2595,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2598,6 +2598,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -315,7 +321,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
return this.profiler;
}
@@ -2841,7 +2842,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2844,7 +2845,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private void startMetricsRecordingTick() {
@@ -324,7 +330,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server"));
@@ -2851,40 +2852,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2854,40 +2855,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@@ -377,7 +383,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2937,15 +2938,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2940,15 +2941,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@@ -468,7 +474,7 @@ index 5d52df83c643845ffbeeba3bb640c9deeae11139..4f02f8b6003580fc178991cbece8ad43
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
index b004e2e69598f2d6f3a9cd47aed3f4429c9702aa..efe15505342e10baacadb61275c8f8d270f2de2c 100644
index bb7e02af46ecd313debcfb778d3390ad5f2c3991..01683897aa15cd280f28a26057237e82db46df15 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -381,26 +381,26 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -585,10 +591,10 @@ index b004e2e69598f2d6f3a9cd47aed3f4429c9702aa..efe15505342e10baacadb61275c8f8d2
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c38777de6e 100644
index 17022327262157ad1520fb7d4fc187c8f1da00c2..665d45ba1129a72a1fb393d524bfa845b7a8189d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -678,16 +678,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -669,16 +669,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
public void tick(BooleanSupplier shouldKeepTicking) {
@@ -608,7 +614,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
this.advanceWeatherCycle();
}
@@ -719,30 +719,30 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -710,30 +710,30 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.tickTime();
}
@@ -646,7 +652,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (flag) {
// this.timings.doSounds.startTiming(); // Spigot // Purpur
this.runBlockEvents();
@@ -750,7 +750,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -741,7 +741,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
this.handlingTick = false;
@@ -655,7 +661,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
boolean flag1 = !paperConfig().unsupportedSettings.disableWorldTickingWhenEmpty || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players // Paper - restore this
if (flag1) {
@@ -758,12 +758,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -749,12 +749,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
if (flag1 || this.emptyTime++ < 300) {
@@ -671,7 +677,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -773,9 +773,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -764,9 +764,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
} else if (!tickratemanager.isEntityFrozen(entity)) {
@@ -683,7 +689,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - rewrite chunk system
Entity entity1 = entity.getVehicle();
@@ -787,22 +787,22 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -778,22 +778,22 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
entity.stopRiding();
}
@@ -711,7 +717,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
}
@Override
@@ -878,9 +878,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -926,9 +926,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
@@ -723,7 +729,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
@@ -917,7 +917,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -965,7 +965,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
}
@@ -732,7 +738,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
for (int l = 0; l < randomTickSpeed; ++l) {
@@ -927,7 +927,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -975,14 +975,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
} // Paper - Option to disable ice and snow
@@ -740,25 +746,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
+ //gameprofilerfiller.popPush("tickBlocks"); // Purpur
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
LevelChunkSection[] achunksection = chunk.getSections();
@@ -942,7 +942,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
for (int l1 = 0; l1 < randomTickSpeed; ++l1) {
BlockPos blockposition1 = this.getBlockRandomPos(j, k1, k, 15);
- gameprofilerfiller.push("randomTick");
+ //gameprofilerfiller.push("randomTick"); // Purpur
BlockState iblockdata = chunksection.getBlockState(blockposition1.getX() - j, blockposition1.getY() - k1, blockposition1.getZ() - k);
if (iblockdata.isRandomlyTicking()) {
@@ -955,14 +955,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
fluid.randomTick(this, blockposition1, this.random);
}
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
}
}
this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking
}
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
@@ -767,7 +755,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
}
@VisibleForTesting
@@ -1308,19 +1308,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1328,19 +1328,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
//try { // Purpur
// Paper end - timings
entity.setOldPosAndRot();
@@ -792,7 +780,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
//} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator();
@@ -1349,12 +1349,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1369,12 +1369,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -809,7 +797,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1366,7 +1366,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1386,7 +1386,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -819,10 +807,10 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922995a999d 100644
index 2021e6db4864b5e20a6483605e6372de2efaba4d..7c7124f6b5911d4fa63af03f018323b6032a06a4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1400,7 +1400,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1401,7 +1401,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.unsetRemoved();
*/
// CraftBukkit end
@@ -831,7 +819,7 @@ index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922
if (worldserver != null && resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event
this.enteredNetherPosition = this.position();
}
@@ -1416,8 +1416,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1417,8 +1417,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
worldserver = ((CraftWorld) exit.getWorld()).getHandle();
// CraftBukkit end
@@ -842,7 +830,7 @@ index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922
// CraftBukkit start
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
LevelData worlddata = worldserver.getLevelData();
@@ -1435,7 +1435,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1436,7 +1436,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
worldserver.addDuringTeleport(this);
@@ -1806,7 +1794,7 @@ index a248d859cbce48f4a34c4771a7acffc17d7edc84..4ce32603dcd691e018a3e1962311d2ac
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
index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181d967bac6 100644
index 342c8a114b9063b2fa959aae22cdd2c0d412c50d..ba2254ef7688177eff2ed8115726b7b551620560 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -269,7 +269,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1827,7 +1815,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
final List<Entity> ret = new java.util.ArrayList<>();
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate);
@@ -1370,9 +1370,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1412,9 +1412,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
protected void tickBlockEntities() {
@@ -1839,7 +1827,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1415,7 +1415,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1457,7 +1457,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
@@ -1848,7 +1836,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
@@ -1627,7 +1627,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1669,7 +1669,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -1857,7 +1845,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
// Paper start - rewrite chunk system
final List<Entity> ret = new java.util.ArrayList<>();
@@ -1653,7 +1653,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1695,7 +1695,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) {
@@ -1866,7 +1854,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
if (maxCount != Integer.MAX_VALUE) {
@@ -1948,6 +1948,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1990,6 +1990,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
public ProfilerFiller getProfiler() {