feat: update b_linear format from upstream

Because of some reasons, this patch will be anonymous and hide the original commit address.
This commit is contained in:
Helvetica Volubi
2026-07-28 02:03:00 +08:00
parent d90c8567d3
commit f517cc0b8a
24 changed files with 1895 additions and 1539 deletions
@@ -4,6 +4,7 @@ import ca.spottedleaf.moonrise.patches.chunk_system.io.MoonriseRegionFileIO;
import com.github.luben.zstd.ZstdInputStream;
import com.github.luben.zstd.ZstdOutputStream;
import com.mojang.logging.LogUtils;
import io.anonymous.anonymous.data.RegionFile;
import net.jpountz.lz4.LZ4Compressor;
import net.jpountz.lz4.LZ4Factory;
import net.jpountz.lz4.LZ4FastDecompressor;
@@ -26,7 +27,7 @@ import java.util.concurrent.locks.ReentrantLock;
// LinearRegionFile_implementation_version_0_5byXymb
// Just gonna use this string to inform other forks about updates ;-)
public class LinearRegionFile implements IRegionFile {
public class LinearRegionFile implements RegionFile {
private static final long SUPERBLOCK = 0xc3ff13183cca9d9aL;
private static final byte VERSION = 3;
private static final int HEADER_SIZE = 27;
@@ -489,15 +490,15 @@ public class LinearRegionFile implements IRegionFile {
public DataOutputStream getChunkDataOutputStream(ChunkPos pos) {
openRegionFile();
openBucket(pos.x(), pos.z());
return new DataOutputStream(new BufferedOutputStream(new LinearRegionFile.ChunkBuffer(pos)));
return new DataOutputStream(new BufferedOutputStream(new ChunkBuffer(pos)));
}
@Override
public MoonriseRegionFileIO.RegionDataController.WriteData moonrise$startWrite(CompoundTag data, ChunkPos pos) throws IOException {
final DataOutputStream out = this.getChunkDataOutputStream(pos);
return new ca.spottedleaf.moonrise.patches.chunk_system.io.MoonriseRegionFileIO.RegionDataController.WriteData(
data, ca.spottedleaf.moonrise.patches.chunk_system.io.MoonriseRegionFileIO.RegionDataController.WriteData.WriteResult.WRITE,
return new MoonriseRegionFileIO.RegionDataController.WriteData(
data, MoonriseRegionFileIO.RegionDataController.WriteData.WriteResult.WRITE,
out, regionFile -> out.close()
);
}
@@ -1,10 +1,9 @@
package me.earthme.luminol.utils;
package io.anonymous.anonymous.data;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.mojang.logging.LogUtils;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import it.unimi.dsi.fastutil.objects.ObjectArraySet;
import me.earthme.luminol.data.BufferedLinearRegionFile;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
@@ -1,4 +1,5 @@
package abomination;
package io.anonymous.anonymous.data;
import ca.spottedleaf.moonrise.patches.chunk_system.storage.ChunkSystemRegionFile;
import net.minecraft.nbt.CompoundTag;
@@ -10,7 +11,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.file.Path;
public interface IRegionFile extends ChunkSystemRegionFile, AutoCloseable {
public interface RegionFile extends ChunkSystemRegionFile, AutoCloseable {
Path getPath();
DataInputStream getChunkDataInputStream(ChunkPos pos) throws IOException;
@@ -39,5 +40,5 @@ public interface IRegionFile extends ChunkSystemRegionFile, AutoCloseable {
default int getRecalculateCount() {
return 0;
} // Luminol - Configurable region file format
} // Anonymous - Configurable region file format
}
@@ -1,9 +1,9 @@
package me.earthme.luminol.enums;
package io.anonymous.anonymous.enums;
import abomination.LinearRegionFile;
import me.earthme.luminol.config.modules.function.RegionFormatConfig;
import me.earthme.luminol.data.BufferedLinearRegionFile;
import me.earthme.luminol.utils.IRegionCreateFunction;
import io.anonymous.anonymous.data.BufferedLinearRegionFile;
import io.anonymous.anonymous.utils.RegionFileFactory;
import net.minecraft.world.level.chunk.storage.RegionFile;
public enum EnumRegionFormat {
@@ -12,14 +12,14 @@ public enum EnumRegionFormat {
B_LINEAR("b_linear", (info) -> new BufferedLinearRegionFile(info.filePath(), RegionFormatConfig.linearCompressionLevel, RegionFormatConfig.blinearFlusher));
private final String argument;
private final IRegionCreateFunction creator;
private final RegionFileFactory creator;
EnumRegionFormat(String argument, IRegionCreateFunction creator) {
EnumRegionFormat(String argument, RegionFileFactory creator) {
this.argument = argument;
this.creator = creator;
}
public IRegionCreateFunction getCreator() {
public RegionFileFactory getCreator() {
return this.creator;
}
@@ -1,4 +1,4 @@
package me.earthme.luminol.utils;
package io.anonymous.anonymous.utils;
import net.minecraft.world.level.chunk.storage.RegionStorageInfo;
@@ -0,0 +1,10 @@
package io.anonymous.anonymous.utils;
import io.anonymous.anonymous.data.RegionFile;
import java.io.IOException;
@FunctionalInterface
public interface RegionFileFactory {
RegionFile newFile(RegionCreatorInfo info) throws IOException;
}
@@ -9,8 +9,8 @@ import me.earthme.luminol.config.flags.ConfigInfo;
import me.earthme.luminol.config.flags.DoNotLoad;
import me.earthme.luminol.config.flags.HotReloadUnsupported;
import me.earthme.luminol.enums.EnumConfigCategory;
import me.earthme.luminol.enums.EnumRegionFormat;
import me.earthme.luminol.utils.BufferedLinearRegionFileFlusher;
import io.anonymous.anonymous.enums.EnumRegionFormat;
import io.anonymous.anonymous.data.BufferedLinearRegionFileFlusher;
import net.minecraft.server.MinecraftServer;
import org.jetbrains.annotations.Nullable;
@@ -1,10 +0,0 @@
package me.earthme.luminol.utils;
import abomination.IRegionFile;
import java.io.IOException;
@FunctionalInterface
public interface IRegionCreateFunction {
IRegionFile create(RegionCreatorInfo info) throws IOException;
}