mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paperr@41263d9 [ci skip] Update paperweight to 1.3.4 PaperMC/Paperr@3109dd8 Updated Upstream (Bukkit/CraftBukkit) (#7428) PaperMC/Paperr@17eb884 Use a CHM for StructureTemplate.Pallete cache PaperMC/Paperr@f79c0da Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paperr@2121aed Rebuild patches Pufferfish Changes: pufferfish-gg/Pufferfishr@9aa81a5 Update Upstream (Paper) pufferfish-gg/Pufferfishr@809bd9f Update Upstream (Paper) pufferfish-gg/Pufferfishr@f053fd3 Update Upstream (Paper) pufferfish-gg/Pufferfishr@5bf8730 Update Upstream (Paper) pufferfish-gg/Pufferfishr@c4a780f Update Upstream (Paper) pufferfish-gg/Pufferfishr@99a590b Fix lightning pufferfish-gg/Pufferfishr@3e75ff0 Updated Upstream (Paper) pufferfish-gg/Pufferfishr@110966e Updated Upstream (Paper) pufferfish-gg/Pufferfishr@b6b58c4 Update Upstream (Paper misc-perf branch)
This commit is contained in:
@@ -63,10 +63,10 @@ index 028f6a1795ceb99d1760c73b0980238677b4b8bc..0f194168f5fca8eb768bca3ce953f280
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
index 5e3b7fb2e0b7608610555cd23e7ad25a05883181..26bde1c22363ddbdbe4127d14bae54e17b0d7393 100644
|
||||
index 1cb0aae3e0c619a715766e0fa604dfd9a8caefcc..d3bb2a3ead944a89330bbced6812df73d174d061 100644
|
||||
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
@@ -227,7 +227,8 @@ public class TimingsExport extends Thread {
|
||||
@@ -231,7 +231,8 @@ public class TimingsExport extends Thread {
|
||||
parent.put("config", createObject(
|
||||
pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
|
||||
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
|
||||
@@ -99,7 +99,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..f2fe6ea3719ff8b2913b7a3a939d7a5b
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 61ea1c9881ea30c05580044af9496a65fe95d94e..8d205a841c2d77dd57e1f2d189686f6f7426896c 100644
|
||||
index 4a14eb59541347aa8e9504ac156e9b63d1bdfd69..499d5d5a35323571571911969cc9bac3b90cec99 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -232,6 +232,15 @@ public class PaperConfig {
|
||||
@@ -2123,7 +2123,7 @@ index 9c111d479bbcc101886c12950c97f10941125ae7..90018506da9e900d448a1fc43b3213ac
|
||||
|
||||
public static <V> CompletableFuture<List<V>> sequenceFailFast(List<? extends CompletableFuture<? extends V>> futures) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index b61abf227a04b4565c2525e5f469db30c3a545a5..f99d189f461921d37581e2fc1382af60921b0660 100644
|
||||
index 7bddc7517356cc74104dcc5c7c55522a53f2596f..d6a57cdad2c92521a800cb18d060d9d6d627a8c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -209,7 +209,7 @@ public final class MCUtil {
|
||||
@@ -2136,7 +2136,7 @@ index b61abf227a04b4565c2525e5f469db30c3a545a5..f99d189f461921d37581e2fc1382af60
|
||||
|
||||
public static long getCoordinateKey(final ChunkPos pair) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc273753bb96 100644
|
||||
index 887243394fc2578fbcfd3dd150921e221f2d8475..3ec35d19f63832ee465a54518219184a14bb08e2 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -310,6 +310,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2148,7 +2148,7 @@ index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc27
|
||||
|
||||
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
||||
AtomicReference<S> atomicreference = new AtomicReference();
|
||||
@@ -1709,7 +1711,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1713,7 +1715,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -2157,7 +2157,7 @@ index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc27
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
@@ -2243,6 +2245,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2247,6 +2249,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
@@ -2187,10 +2187,10 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..aae2dadabedb075fd1bc712f0226882b
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb98cfb4e72 100644
|
||||
index afef3ea6d1ae5f145261eaae3da720fdf9e923a8..ca07ba8eb33f1b4f10aba9f4b4c7c1078f80f61b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -447,7 +447,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -452,7 +452,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
this.dataRegionManager = new io.papermc.paper.chunk.SingleThreadChunkRegionManager(this.level, 2, (1.0 / 3.0), 1, 6, "Data", DataRegionData::new, DataRegionSectionData::new);
|
||||
this.regionManagers.add(this.dataRegionManager);
|
||||
// Paper end
|
||||
@@ -2199,7 +2199,7 @@ index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb9
|
||||
// Paper start - use distance map to optimise entity tracker
|
||||
this.playerEntityTrackerTrackMaps = new com.destroystokyo.paper.util.misc.PlayerAreaMap[TRACKING_RANGE_TYPES.length];
|
||||
this.entityTrackerTrackRanges = new int[TRACKING_RANGE_TYPES.length];
|
||||
@@ -2358,8 +2358,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -2318,8 +2318,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
|
||||
}
|
||||
|
||||
@@ -2228,7 +2228,7 @@ index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb9
|
||||
Iterator iterator = this.entity.getIndirectPassengers().iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -2371,6 +2391,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -2331,6 +2351,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
i = j;
|
||||
}
|
||||
}
|
||||
@@ -2239,10 +2239,10 @@ index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb9
|
||||
return this.scaledRange(i);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b1b4f0e07 100644
|
||||
index b0ced77da807d715a39c04708859a12729883939..addf249717b5271b664f4a9d28dd6cc177db5688 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -77,6 +77,9 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -78,6 +78,9 @@ public class ServerChunkCache extends ChunkSource {
|
||||
final Long2ObjectOpenHashMap<LevelChunk> loadedChunkMap = new Long2ObjectOpenHashMap<>(8192, 0.5f);
|
||||
|
||||
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
|
||||
@@ -2252,7 +2252,7 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
|
||||
|
||||
private static int getChunkCacheKey(int x, int z) {
|
||||
return x & 3 | ((z & 3) << 2);
|
||||
@@ -975,6 +978,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -970,6 +973,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||
|
||||
gameprofilerfiller.push("pollingChunks");
|
||||
@@ -2260,7 +2260,7 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
|
||||
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
|
||||
boolean flag1 = level.ticksPerAnimalSpawns != 0L && worlddata.getGameTime() % level.ticksPerAnimalSpawns == 0L; // CraftBukkit
|
||||
|
||||
@@ -984,18 +988,25 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -979,18 +983,25 @@ public class ServerChunkCache extends ChunkSource {
|
||||
// Paper start - per player mob spawning
|
||||
NaturalSpawner.SpawnState spawnercreature_d; // moved down
|
||||
if ((this.spawnFriendlies || this.spawnEnemies) && this.chunkMap.playerMobDistanceMap != null) { // don't count mobs when animals and monsters are disabled
|
||||
@@ -2292,9 +2292,9 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
|
||||
gameprofilerfiller.popPush("filteringLoadedChunks");
|
||||
// Paper - moved down
|
||||
this.level.timings.chunkTicks.startTiming(); // Paper
|
||||
@@ -1037,8 +1048,8 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -1028,8 +1039,8 @@ public class ServerChunkCache extends ChunkSource {
|
||||
|
||||
if ((true || this.level.isPositionEntityTicking(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration
|
||||
if ((true || this.level.isPositionEntityTicking(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning // Paper - replace player chunk loader system
|
||||
chunk1.incrementInhabitedTime(j);
|
||||
- if (flag2 && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, true)) { // Spigot // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration
|
||||
- NaturalSpawner.spawnForChunk(this.level, chunk1, spawnercreature_d, this.spawnFriendlies, this.spawnEnemies, flag1);
|
||||
@@ -2302,8 +2302,8 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
|
||||
+ NaturalSpawner.spawnForChunk(this.level, chunk1, lastSpawnState, this.spawnFriendlies, this.spawnEnemies, flag1); // Pufferfish
|
||||
}
|
||||
|
||||
if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) {
|
||||
@@ -1085,6 +1096,30 @@ public class ServerChunkCache extends ChunkSource {
|
||||
if ((true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong()))) { // Paper - replace player chunk loader system
|
||||
@@ -1091,6 +1102,30 @@ public class ServerChunkCache extends ChunkSource {
|
||||
}
|
||||
// Paper end - controlled flush for entity tracker packets
|
||||
}
|
||||
@@ -2355,7 +2355,7 @@ index 9a6c67b614944f841813ec2892381c3342bc365c..e80176708db486190dd527e3ade5fc69
|
||||
this.wasOnGround = this.entity.isOnGround();
|
||||
this.teleportDelay = 0;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21ddb80fd2 100644
|
||||
index 403a6fadbeff41e67618393ac7034d32c02af7b8..59d57108f38f38e03cd8b69a53c3e9d40179599a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -667,7 +667,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -2380,7 +2380,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
}
|
||||
@@ -729,9 +742,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -732,9 +745,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper start - optimise random block ticking
|
||||
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
|
||||
@@ -2393,7 +2393,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
|
||||
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
|
||||
ChunkPos chunkcoordintpair = chunk.getPos();
|
||||
boolean flag = this.isRaining();
|
||||
@@ -742,7 +757,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -745,7 +760,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
gameprofilerfiller.push("thunder");
|
||||
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
@@ -2402,7 +2402,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
|
||||
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
|
||||
@@ -766,7 +781,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -769,7 +784,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
gameprofilerfiller.popPush("iceandsnow");
|
||||
@@ -2412,10 +2412,10 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
|
||||
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
||||
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 5c9310fe424943a7256f6f77c414147384bad0aa..2cb12547c778fe439536e2e2aa479d4a25ab4a6e 100644
|
||||
index 23eddc502816e84ab25366c7d5710ce2e660c7a0..cb35f2f1f2f4d568bc59ce5c08ab3b908533264c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1110,6 +1110,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
@Override
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
@@ -3376,7 +3376,7 @@ index e7ca5d6fb8922e7e8065864f736b06056be080a0..6c9e574851b518242dbbee9bce954b44
|
||||
final String id;
|
||||
private final GameRules.Category category;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de913a6601 100644
|
||||
index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db6f388aff 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -308,6 +308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -3501,7 +3501,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de
|
||||
public boolean isInWorldBounds(BlockPos pos) {
|
||||
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
|
||||
}
|
||||
@@ -969,13 +1070,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -974,13 +1075,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
try {
|
||||
tickConsumer.accept(entity);
|
||||
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
||||
@@ -3517,7 +3517,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de
|
||||
// Paper end
|
||||
}
|
||||
}
|
||||
@@ -1437,6 +1538,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1442,6 +1543,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
@@ -3808,7 +3808,7 @@ index ed3518fe7c841d9e1a9c97626acaa3d765a6d76f..da00f75ccc9f8c2e2174d4450479202a
|
||||
|
||||
@Override
|
||||
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 7567a8bf848c82b27383f084056cb43c41df6d0c..9e9cdabefce3767a2e482f7cc5eb69c635ea17a7 100644
|
||||
index b47c4c9e9b82030cd82d72fe90d7c8bf558d6b28..087be9acfa77d3fd0216e5983aa62149e668cfc7 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -94,6 +94,18 @@ public class LevelChunk extends ChunkAccess {
|
||||
@@ -3839,7 +3839,7 @@ index 7567a8bf848c82b27383f084056cb43c41df6d0c..9e9cdabefce3767a2e482f7cc5eb69c6
|
||||
|
||||
public org.bukkit.Chunk bukkitChunk;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
||||
index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd89a9fee6 100644
|
||||
index e962db693510dc261d6456706a459929369f2510..16874e3c7c8e2577f3661cb3a459c63ea061b2d8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
||||
@@ -25,6 +25,9 @@ public class LevelChunkSection {
|
||||
@@ -3852,7 +3852,7 @@ index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd
|
||||
public final com.destroystokyo.paper.util.maplist.IBlockDataList tickingList = new com.destroystokyo.paper.util.maplist.IBlockDataList(); // Paper
|
||||
|
||||
public LevelChunkSection(int chunkPos, PalettedContainer<BlockState> blockStateContainer, PalettedContainer<Biome> biomeContainer) {
|
||||
@@ -91,6 +94,7 @@ public class LevelChunkSection {
|
||||
@@ -195,6 +198,7 @@ public class LevelChunkSection {
|
||||
|
||||
if (!fluid.isEmpty()) {
|
||||
--this.tickingFluidCount;
|
||||
@@ -3860,15 +3860,15 @@ index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd
|
||||
}
|
||||
|
||||
if (!state.isAir()) {
|
||||
@@ -105,6 +109,7 @@ public class LevelChunkSection {
|
||||
@@ -209,6 +213,7 @@ public class LevelChunkSection {
|
||||
|
||||
if (!fluid1.isEmpty()) {
|
||||
++this.tickingFluidCount;
|
||||
+ ++this.fluidStateCount; // Pufferfish
|
||||
}
|
||||
|
||||
return iblockdata1;
|
||||
@@ -155,6 +160,7 @@ public class LevelChunkSection {
|
||||
this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper
|
||||
@@ -260,6 +265,7 @@ public class LevelChunkSection {
|
||||
if (fluid.isRandomlyTicking()) {
|
||||
this.tickingFluidCount = (short) (this.tickingFluidCount + 1); // Paper
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user