hunk system fixes

This commit is contained in:
Jason Penilla 2024-04-25 22:25:02 -07:00
parent 3606096fbb
commit e66d823dc3
4 changed files with 9 additions and 10 deletions

View file

@ -51,13 +51,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.slf4j.Logger;
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
public RegionFile(RegionStorageInfo storageKey, Path path, Path directory, RegionFileVersion compressionFormat, boolean dsync) throws IOException {
this.header = ByteBuffer.allocateDirect(8192);
+ initOversizedState(); // Paper
this.usedSectors = new RegionBitmap();
this.info = storageKey;
this.path = path;
+ initOversizedState(); // Paper
this.version = compressionFormat;
if (!Files.isDirectory(directory, new LinkOption[0])) {
throw new IllegalArgumentException("Expected directory, got " + String.valueOf(directory.toAbsolutePath()));
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
}

View file

@ -462,8 +462,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ this.canRecalcHeader = canRecalcHeader;
+ // Paper end - add can recalc flag
this.header = ByteBuffer.allocateDirect(8192);
initOversizedState(); // Paper
this.usedSectors = new RegionBitmap();
this.info = storageKey;
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
RegionFile.LOGGER.warn("Region file {} has truncated header: {}", path, i);
}

View file

@ -18587,8 +18587,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+
+ private static final class EntityRegionFileStorage extends net.minecraft.world.level.chunk.storage.RegionFileStorage {
+
+ public EntityRegionFileStorage(Path directory, boolean dsync) {
+ super(directory, dsync);
+ public EntityRegionFileStorage(RegionStorageInfo storageKey, Path directory, boolean dsync) {
+ super(storageKey, directory, dsync);
+ }
+
+ protected void write(ChunkPos pos, net.minecraft.nbt.CompoundTag nbt) throws IOException {
@ -20283,6 +20283,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public class ChunkStatus {
+ static final ChunkStatus.LoadingTask PASSTHROUGH_LOAD_TASK = (WorldGenContext context, ChunkStatus status, ToFullChunk fullChunkConverter, ChunkAccess chunk) -> CompletableFuture.completedFuture(chunk); // Paper - rewrite chunk system
+ protected static final java.util.List<ChunkStatus> statuses = new java.util.ArrayList<>(); // Paper - rewrite chunk system
public static final int MAX_STRUCTURE_DISTANCE = 8;
private static final EnumSet<Heightmap.Types> PRE_FEATURES = EnumSet.of(Heightmap.Types.OCEAN_FLOOR_WG, Heightmap.Types.WORLD_SURFACE_WG);
public static final EnumSet<Heightmap.Types> POST_FEATURES = EnumSet.of(
@ -20341,8 +20342,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ public int writeRadius = -1;
+ public int loadRange = 0;
+
+ protected static final java.util.List<ChunkStatus> statuses = new java.util.ArrayList<>();
+
+ private ChunkStatus nextStatus;
+
+ public final ChunkStatus getNextStatus() {

View file

@ -106,7 +106,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ ServerLevel worldserver1 = this;
+
+ this.serverLevelData.setWorldBorder(worldserver1.getWorldBorder().createSettings());
+ this.serverLevelData.setCustomBossEvents(this.server.getCustomBossEvents().save());
+ this.serverLevelData.setCustomBossEvents(this.server.getCustomBossEvents().save(this.registryAccess()));
+ this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
+ }
+ // CraftBukkit end