@@ -5304,7 +5304,7 @@ index f902b1f7062fc2c81e0ce43e8b8599192469e57c..90fcb4dc89643b1c706ea4554595a842
5304
5304
+ // Paper end
5305
5305
}
5306
5306
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
5307
- index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc430530ca 100644
5307
+ index 3e49e739238096442e89b7ab23d2af8aff55912e..91fd4243416c41b1c2b0f0f1abc154064c164a25 100644
5308
5308
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
5309
5309
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
5310
5310
@@ -62,6 +62,7 @@ import net.minecraft.network.protocol.game.ClientboundSetChunkCacheCenterPacket;
@@ -5315,7 +5315,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5315
5315
import net.minecraft.server.level.progress.ChunkProgressListener;
5316
5316
import net.minecraft.server.network.ServerPlayerConnection;
5317
5317
import net.minecraft.util.CsvOutput;
5318
- @@ -167 ,6 +168 ,56 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5318
+ @@ -168 ,6 +169 ,56 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5319
5319
};
5320
5320
// CraftBukkit end
5321
5321
@@ -5372,7 +5372,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5372
5372
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
5373
5373
super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync);
5374
5374
this.visibleChunkMap = this.updatingChunkMap.clone();
5375
- @@ -211 ,6 +262 ,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5375
+ @@ -217 ,6 +268 ,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5376
5376
this.overworldDataStorage = persistentStateManagerFactory;
5377
5377
this.poiManager = new PoiManager(path.resolve("poi"), dataFixer, dsync, world.registryAccess(), world);
5378
5378
this.setViewDistance(viewDistance);
@@ -5383,7 +5383,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5383
5383
}
5384
5384
5385
5385
protected ChunkGenerator generator() {
5386
- @@ -304 ,6 +359 ,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5386
+ @@ -310 ,6 +365 ,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5387
5387
}
5388
5388
}
5389
5389
@@ -5398,7 +5398,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5398
5398
private CompletableFuture<Either<List<ChunkAccess>, ChunkHolder.ChunkLoadingFailure>> getChunkRangeFuture(ChunkPos centerChunk, int margin, IntFunction<ChunkStatus> distanceToStatus) {
5399
5399
List<CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>>> list = new ArrayList();
5400
5400
List<ChunkHolder> list1 = new ArrayList();
5401
- @@ -435 ,6 +498 ,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5401
+ @@ -441 ,6 +504 ,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5402
5402
holder.setTicketLevel(level);
5403
5403
} else {
5404
5404
holder = new ChunkHolder(new ChunkPos(pos), level, this.level, this.lightEngine, this.queueSorter, this);
@@ -5410,7 +5410,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5410
5410
}
5411
5411
5412
5412
this.updatingChunkMap.put(pos, holder);
5413
- @@ -552 ,7 +620 ,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5413
+ @@ -558 ,7 +626 ,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5414
5414
if (completablefuture1 != completablefuture) {
5415
5415
this.scheduleUnload(pos, holder);
5416
5416
} else {
@@ -5425,7 +5425,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5425
5425
if (ichunkaccess instanceof LevelChunk) {
5426
5426
((LevelChunk) ichunkaccess).setLoaded(false);
5427
5427
}
5428
- @@ -568 ,7 +642 ,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5428
+ @@ -574 ,7 +648 ,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5429
5429
this.lightEngine.tryScheduleUpdate();
5430
5430
this.progressListener.onStatusChange(ichunkaccess.getPos(), (ChunkStatus) null);
5431
5431
this.chunkSaveCooldowns.remove(ichunkaccess.getPos().toLong());
@@ -5437,23 +5437,23 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5437
5437
5438
5438
}
5439
5439
};
5440
- @@ -1138 ,6 +1216 ,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5440
+ @@ -1144 ,6 +1222 ,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5441
5441
if (!flag1) {
5442
5442
this.distanceManager.addPlayer(SectionPos.of((EntityAccess) player), player);
5443
5443
}
5444
5444
+ this.addPlayerToDistanceMaps(player); // Paper - distance maps
5445
5445
} else {
5446
5446
SectionPos sectionposition = player.getLastSectionPos();
5447
5447
5448
- @@ -1145 ,6 +1224 ,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5448
+ @@ -1151 ,6 +1230 ,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5449
5449
if (!flag2) {
5450
5450
this.distanceManager.removePlayer(sectionposition, player);
5451
5451
}
5452
5452
+ this.removePlayerFromDistanceMaps(player); // Paper - distance maps
5453
5453
}
5454
5454
5455
5455
for (int k = i - this.viewDistance - 1; k <= i + this.viewDistance + 1; ++k) {
5456
- @@ -1257 ,6 +1337 ,8 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5456
+ @@ -1263 ,6 +1343 ,8 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5457
5457
}
5458
5458
}
5459
5459
@@ -5462,7 +5462,7 @@ index 775e34f6abd2fd703a284a85d975d48cd1930ad9..ef23f9f81a909348ee4ae3d7eb51dbcc
5462
5462
}
5463
5463
5464
5464
@Override
5465
- @@ -1460 ,7 +1542 ,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5465
+ @@ -1466 ,7 +1548 ,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
5466
5466
public class ChunkDistanceManager extends DistanceManager {
5467
5467
5468
5468
protected ChunkDistanceManager(Executor workerExecutor, Executor mainThreadExecutor) {
0 commit comments