mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-06 15:51:31 +00:00
34 lines
1.5 KiB
Diff
34 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Taiyou06 <kaandindar21@gmail.com>
|
|
Date: Sun, 16 Feb 2025 01:13:04 +0100
|
|
Subject: [PATCH] ensureCapacity with collectTickingChunks
|
|
|
|
|
|
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
|
|
index 6735f9e23c8972b7cf1438a2f3b49d780c1ff78c..a3afd10ef6bdc7439cb92af97f7336d6331e26a0 100644
|
|
--- a/net/minecraft/server/level/ServerChunkCache.java
|
|
+++ b/net/minecraft/server/level/ServerChunkCache.java
|
|
@@ -585,17 +585,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
|
final ServerChunkCache.ChunkAndHolder[] raw = tickingChunks.getRawDataUnchecked();
|
|
final int size = tickingChunks.size();
|
|
|
|
- final ChunkMap chunkMap = this.chunkMap;
|
|
+ // Directly add all pre-filtered ticking chunks to output
|
|
+ if (output instanceof ArrayList<LevelChunk> arrayList) {
|
|
+ arrayList.ensureCapacity(size);
|
|
+ }
|
|
|
|
for (int i = 0; i < size; ++i) {
|
|
- final ServerChunkCache.ChunkAndHolder chunkAndHolder = raw[i];
|
|
- final LevelChunk levelChunk = chunkAndHolder.chunk();
|
|
-
|
|
- if (!this.isChunkNearPlayer(chunkMap, levelChunk.getPos(), levelChunk)) {
|
|
- continue;
|
|
- }
|
|
-
|
|
- output.add(levelChunk);
|
|
+ output.add(raw[i].chunk());
|
|
}
|
|
// Paper end - chunk tick iteration optimisation
|
|
}
|