Skip to content

Commit 0a1be9a

Browse files
committed
Make loadChunksForMoveAsync use new chunk system load calls
This is to allow the call to work properly when on Folia, as Folia does not have a main thread.
1 parent 58c7ea3 commit 0a1be9a

10 files changed

+128
-75
lines changed

patches/server/0988-Moonrise-optimisation-patches.patch

Lines changed: 101 additions & 48 deletions
Large diffs are not rendered by default.

patches/server/0990-disable-forced-empty-world-ticks.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] disable forced empty world ticks
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
8-
index c759555241649cf5b355268066375341a54477f2..7da9729a6ac0684624f900a9e47f24e35bd3f3d9 100644
8+
index b2c5ead035f583585b79f7eba51d66da89bf1259..067697f6762b115b3d500a298532f69f286b5d6f 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
11-
@@ -729,7 +729,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
11+
@@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
1212

1313
this.handlingTick = false;
1414
gameprofilerfiller.pop();

patches/server/0992-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
1313
Additionally, numerous issues to player position tracking on maps has been fixed.
1414

1515
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
16-
index 7da9729a6ac0684624f900a9e47f24e35bd3f3d9..978208f74b6f1d3f859165e951d41013a5f00256 100644
16+
index 067697f6762b115b3d500a298532f69f286b5d6f..6476a69d7d68998ecc398840e673952e61dcc647 100644
1717
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
1818
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
19-
@@ -2537,6 +2537,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
19+
@@ -2494,6 +2494,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
2020
{
2121
if ( iter.next().player == entity )
2222
{

patches/server/0997-Entity-Activation-Range-2.0.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Adds villagers as separate config
1717
public net.minecraft.world.entity.Entity isInsidePortal
1818

1919
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
20-
index 978208f74b6f1d3f859165e951d41013a5f00256..1196eb573317ad01b6df0ae2d38aa17a72da2535 100644
20+
index 6476a69d7d68998ecc398840e673952e61dcc647..3880ca95731c82bf48bb460f4c59a2c61970930b 100644
2121
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
2222
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
2323
@@ -2,7 +2,6 @@ package net.minecraft.server.level;
@@ -28,7 +28,7 @@ index 978208f74b6f1d3f859165e951d41013a5f00256..1196eb573317ad01b6df0ae2d38aa17a
2828
import com.google.common.collect.Lists;
2929
import com.mojang.datafixers.DataFixer;
3030
import com.mojang.datafixers.util.Pair;
31-
@@ -1235,17 +1234,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
31+
@@ -1192,17 +1191,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
3232
++TimingHistory.entityTicks; // Paper - timings
3333
// Spigot start
3434
co.aikar.timings.Timing timer; // Paper
@@ -50,7 +50,7 @@ index 978208f74b6f1d3f859165e951d41013a5f00256..1196eb573317ad01b6df0ae2d38aa17a
5050
try {
5151
// Paper end - timings
5252
entity.setOldPosAndRot();
53-
@@ -1256,9 +1255,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
53+
@@ -1213,9 +1212,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
5454
return BuiltInRegistries.ENTITY_TYPE.getKey(entity.getType()).toString();
5555
});
5656
gameprofilerfiller.incrementCounter("tickNonPassenger");
@@ -64,7 +64,7 @@ index 978208f74b6f1d3f859165e951d41013a5f00256..1196eb573317ad01b6df0ae2d38aa17a
6464
Iterator iterator = entity.getPassengers().iterator();
6565

6666
while (iterator.hasNext()) {
67-
@@ -1266,13 +1269,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
67+
@@ -1223,13 +1226,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
6868

6969
this.tickPassenger(entity, entity1);
7070
}
@@ -84,7 +84,7 @@ index 978208f74b6f1d3f859165e951d41013a5f00256..1196eb573317ad01b6df0ae2d38aa17a
8484
passenger.setOldPosAndRot();
8585
++passenger.tickCount;
8686
ProfilerFiller gameprofilerfiller = this.getProfiler();
87-
@@ -1281,8 +1289,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
87+
@@ -1238,8 +1246,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
8888
return BuiltInRegistries.ENTITY_TYPE.getKey(passenger.getType()).toString();
8989
});
9090
gameprofilerfiller.incrementCounter("tickPassenger");
@@ -102,7 +102,7 @@ index 978208f74b6f1d3f859165e951d41013a5f00256..1196eb573317ad01b6df0ae2d38aa17a
102102
gameprofilerfiller.pop();
103103
Iterator iterator = passenger.getPassengers().iterator();
104104

105-
@@ -1292,6 +1309,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
105+
@@ -1249,6 +1266,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
106106
this.tickPassenger(passenger, entity2);
107107
}
108108

patches/server/0999-Anti-Xray.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,10 +1104,10 @@ index 183b2191fa1c1b27adedf39593e1b5a223fb1279..8ead66c134688b11dca15f6509147e72
11041104

11051105
private ClientboundLevelChunkWithLightPacket(RegistryFriendlyByteBuf buf) {
11061106
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
1107-
index 1196eb573317ad01b6df0ae2d38aa17a72da2535..a5320b96148d79f8d2493060718688786466e6dd 100644
1107+
index 3880ca95731c82bf48bb460f4c59a2c61970930b..4fea1670cb7b731145c0769cf9c2e2485bdd1d6b 100644
11081108
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
11091109
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
1110-
@@ -534,7 +534,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
1110+
@@ -491,7 +491,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
11111111
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
11121112

11131113
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
@@ -1155,7 +1155,7 @@ index 32634e45ac8433648e49e47e20081e15ad41ff15..dafa2cf7d3c49fc5bdcd68d2a9528127
11551155
if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
11561156
new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), handler.getPlayer().getBukkitEntity()).callEvent();
11571157
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
1158-
index 9b1a6d8351fb473eec75a2fd08fb892b770e3586..0d0b07c9199be9ca0d5ac3feb1d44f149ba69283 100644
1158+
index eec536d493575f593dd71c63944b047566f3822d..0a97d45f96b3b3cd12fa99373fcb5999c3fba96b 100644
11591159
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
11601160
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
11611161
@@ -414,7 +414,7 @@ public abstract class PlayerList {

patches/server/1001-Add-Alternate-Current-redstone-implementation.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2009,7 +2009,7 @@ index 0000000000000000000000000000000000000000..33cd90c30c22200a4e1ae64f40a0bf78
20092009
+ }
20102010
+}
20112011
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
2012-
index a5320b96148d79f8d2493060718688786466e6dd..472655c55b1f5c213da9b6c1940a353bafdac509 100644
2012+
index 4fea1670cb7b731145c0769cf9c2e2485bdd1d6b..3f1428b282987e1c4cd2fb5b035df5170cd09e00 100644
20132013
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
20142014
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
20152015
@@ -228,6 +228,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -2020,7 +2020,7 @@ index a5320b96148d79f8d2493060718688786466e6dd..472655c55b1f5c213da9b6c1940a353b
20202020

20212021
public LevelChunk getChunkIfLoaded(int x, int z) {
20222022
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
2023-
@@ -2468,6 +2469,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
2023+
@@ -2425,6 +2426,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
20242024
return crashreportsystemdetails;
20252025
}
20262026

@@ -2035,7 +2035,7 @@ index a5320b96148d79f8d2493060718688786466e6dd..472655c55b1f5c213da9b6c1940a353b
20352035

20362036
EntityCallbacks() {}
20372037
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
2038-
index ae7cd8df617dba09abb9ca1108aff719a9c3304f..9501a2527bb0db91dd5494ccb4066b9629993e59 100644
2038+
index 87cde688976a45aa8848586b5371b3ab493813ea..5c4eaa6bcf20b0fcec14bd5ef76ea6f29a8613a2 100644
20392039
--- a/src/main/java/net/minecraft/world/level/Level.java
20402040
+++ b/src/main/java/net/minecraft/world/level/Level.java
20412041
@@ -2013,4 +2013,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl

patches/server/1034-Lag-compensation-ticks.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ index 93ebdbfad4f9f300f31a124d8d4b36c4f5ce382c..a2875f7cdfb6b43ed59cff41ab4122a0
2828
this.profiler.push(() -> {
2929
String s = String.valueOf(worldserver);
3030
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
31-
index 472655c55b1f5c213da9b6c1940a353bafdac509..86288143a54e1d786672a81c05698b37fa5d8de2 100644
31+
index 3f1428b282987e1c4cd2fb5b035df5170cd09e00..415b7839544d269a562b2bceeaa416a1a89be96e 100644
3232
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
3333
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
34-
@@ -528,6 +528,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
34+
@@ -485,6 +485,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
3535
return this.entityTickingChunks;
3636
}
3737
// Paper end - rewrite chunk system

patches/server/1035-Detail-more-information-in-watchdog-dumps.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ index d0d36a57ec4896bcb74970f8fb24d8f3e17db133..e2c24813f59c2fd075c740ac1842a38f
7676
});
7777
throw RunningOnDifferentThreadException.RUNNING_ON_DIFFERENT_THREAD;
7878
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
79-
index 86288143a54e1d786672a81c05698b37fa5d8de2..1d74a728c03e2c6ffe0e795a5f24eac471a75157 100644
79+
index 415b7839544d269a562b2bceeaa416a1a89be96e..6d8a5c2b0d95828abbd99914d1d308522b89529f 100644
8080
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
8181
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
82-
@@ -1242,7 +1242,26 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
82+
@@ -1199,7 +1199,26 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
8383

8484
}
8585

@@ -106,7 +106,7 @@ index 86288143a54e1d786672a81c05698b37fa5d8de2..1d74a728c03e2c6ffe0e795a5f24eac4
106106
++TimingHistory.entityTicks; // Paper - timings
107107
// Spigot start
108108
co.aikar.timings.Timing timer; // Paper
109-
@@ -1282,7 +1301,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
109+
@@ -1239,7 +1258,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
110110
this.tickPassenger(entity, entity1);
111111
}
112112
// } finally { timer.stopTiming(); } // Paper - timings - move up

patches/server/1036-Write-SavedData-IO-async.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Subject: [PATCH] Write SavedData IO async
66
Co-Authored-By: Shane Freeder <theboyetronic@gmail.com>
77

88
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
9-
index cdb9160244cc69acd36ac9afcfe109a15ab2ab58..8a0b00d645e4cf2ca96ec7e8ebc6ef726a0ab8b0 100644
9+
index 4a5dc7fd4eb1a7ab1ec371f0f107de882f88149c..dcb5651d1d9b10b40430fb2f713beedf68336704 100644
1010
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
1111
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
1212
@@ -369,6 +369,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -24,10 +24,10 @@ index cdb9160244cc69acd36ac9afcfe109a15ab2ab58..8a0b00d645e4cf2ca96ec7e8ebc6ef72
2424

2525
// CraftBukkit start - modelled on below
2626
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
27-
index 1d74a728c03e2c6ffe0e795a5f24eac471a75157..46e8dd8dae25e1b2124e9c8031844fbe96eb6e1a 100644
27+
index 6d8a5c2b0d95828abbd99914d1d308522b89529f..e50df5a1f3b89b3d0687d6584bdd977f8b71a3f6 100644
2828
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
2929
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
30-
@@ -1373,7 +1373,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
30+
@@ -1330,7 +1330,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
3131
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
3232
}
3333

@@ -36,7 +36,7 @@ index 1d74a728c03e2c6ffe0e795a5f24eac471a75157..46e8dd8dae25e1b2124e9c8031844fbe
3636
if (progressListener != null) {
3737
progressListener.progressStage(Component.translatable("menu.savingChunks"));
3838
}
39-
@@ -1404,12 +1404,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
39+
@@ -1361,12 +1361,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
4040
// CraftBukkit end
4141
}
4242

patches/server/1039-Incremental-chunk-and-player-saving.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ index a2875f7cdfb6b43ed59cff41ab4122a08c4cc57f..45695abbeb0a6d47b31b23ba6c464f17
5656
try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) {
5757
this.runAllTasks();
5858
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
59-
index 46e8dd8dae25e1b2124e9c8031844fbe96eb6e1a..2766ec28f028c0bd672009928bf64c1a6e5d07d6 100644
59+
index e50df5a1f3b89b3d0687d6584bdd977f8b71a3f6..2fe9d9b38c01d04416843fdd48d3e33899b7de63 100644
6060
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
6161
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
62-
@@ -1358,6 +1358,35 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
62+
@@ -1315,6 +1315,35 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
6363
return !this.server.isUnderSpawnProtection(this, pos, player) && this.getWorldBorder().isWithinBounds(pos);
6464
}
6565

0 commit comments

Comments
 (0)