mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +00:00
Integrate real 1.17 chunks
This commit is contained in:
parent
5c8b600cb1
commit
8586d44d7e
@ -18,7 +18,7 @@
|
||||
|
||||
package com.volmit.iris.core.nms;
|
||||
|
||||
import com.volmit.iris.util.nbt.mca.nmspalettes.PaletteAccess;
|
||||
import com.volmit.iris.util.nbt.mca.palette.PaletteAccess;
|
||||
import com.volmit.iris.util.nbt.tag.CompoundTag;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
@ -24,7 +24,7 @@ import com.volmit.iris.engine.data.cache.AtomicCache;
|
||||
import com.volmit.iris.util.collection.KMap;
|
||||
import com.volmit.iris.util.nbt.io.NBTUtil;
|
||||
import com.volmit.iris.util.nbt.mca.NBTWorld;
|
||||
import com.volmit.iris.util.nbt.mca.nmspalettes.*;
|
||||
import com.volmit.iris.util.nbt.mca.palette.*;
|
||||
import com.volmit.iris.util.nbt.tag.CompoundTag;
|
||||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.core.IRegistry;
|
||||
@ -39,7 +39,6 @@ import net.minecraft.server.level.WorldServer;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.level.biome.BiomeBase;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.entity.TileEntity;
|
||||
import net.minecraft.world.level.block.state.IBlockData;
|
||||
import net.minecraft.world.level.chunk.BiomeStorage;
|
||||
@ -61,8 +60,6 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
@ -20,7 +20,7 @@ package com.volmit.iris.core.nms.v1X;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.core.nms.INMSBinding;
|
||||
import com.volmit.iris.util.nbt.mca.nmspalettes.PaletteAccess;
|
||||
import com.volmit.iris.util.nbt.mca.palette.PaletteAccess;
|
||||
import com.volmit.iris.util.nbt.tag.CompoundTag;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
@ -25,6 +25,7 @@ import com.volmit.iris.util.nbt.io.NBTSerializer;
|
||||
import com.volmit.iris.util.nbt.io.NamedTag;
|
||||
import com.volmit.iris.util.nbt.tag.CompoundTag;
|
||||
import com.volmit.iris.util.nbt.tag.ListTag;
|
||||
import com.volmit.iris.util.nbt.tag.Tag;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Arrays;
|
||||
@ -33,15 +34,10 @@ import java.util.concurrent.atomic.AtomicReferenceArray;
|
||||
import static com.volmit.iris.util.nbt.mca.LoadFlags.*;
|
||||
|
||||
public class Chunk {
|
||||
|
||||
public static final int DEFAULT_DATA_VERSION = 1628;
|
||||
|
||||
public static final int DEFAULT_DATA_VERSION = 2730;
|
||||
private boolean partial;
|
||||
|
||||
private int lastMCAUpdate;
|
||||
|
||||
private CompoundTag data;
|
||||
|
||||
private int dataVersion;
|
||||
private long lastUpdate;
|
||||
private long inhabitedTime;
|
||||
@ -72,6 +68,7 @@ public class Chunk {
|
||||
public Chunk(CompoundTag data) {
|
||||
this.data = data;
|
||||
initReferences(ALL_DATA);
|
||||
setStatus("full");
|
||||
}
|
||||
|
||||
private void initReferences(long loadFlags) {
|
||||
@ -163,6 +160,7 @@ public class Chunk {
|
||||
try (BufferedOutputStream nbtOut = new BufferedOutputStream(CompressionType.ZLIB.compress(baos))) {
|
||||
new NBTSerializer(false).toStream(new NamedTag(null, updateHandle(xPos, zPos)), nbtOut);
|
||||
}
|
||||
|
||||
byte[] rawData = baos.toByteArray();
|
||||
raf.writeInt(rawData.length + 1); // including the byte to store the compression type
|
||||
raf.writeByte(CompressionType.ZLIB.getID());
|
||||
@ -648,11 +646,18 @@ public class Chunk {
|
||||
Chunk c = new Chunk(0);
|
||||
c.dataVersion = DEFAULT_DATA_VERSION;
|
||||
c.data = new CompoundTag();
|
||||
c.data.put("Level", new CompoundTag());
|
||||
c.status = "mobs_spawned";
|
||||
c.data.put("Level", defaultLevel());
|
||||
c.status = "full";
|
||||
return c;
|
||||
}
|
||||
|
||||
private static CompoundTag defaultLevel() {
|
||||
CompoundTag level = new CompoundTag();
|
||||
level.putString("Status", "full");
|
||||
level.putString("Generator", "Iris Headless " + Iris.instance.getDescription().getVersion());
|
||||
return level;
|
||||
}
|
||||
|
||||
public CompoundTag updateHandle(int xPos, int zPos) {
|
||||
data.putInt("DataVersion", dataVersion);
|
||||
CompoundTag level = data.getCompoundTag("Level");
|
||||
|
@ -19,7 +19,7 @@
|
||||
package com.volmit.iris.util.nbt.mca;
|
||||
|
||||
import com.volmit.iris.core.nms.INMS;
|
||||
import com.volmit.iris.util.nbt.mca.nmspalettes.PaletteAccess;
|
||||
import com.volmit.iris.util.nbt.mca.palette.PaletteAccess;
|
||||
import com.volmit.iris.util.nbt.tag.ByteArrayTag;
|
||||
import com.volmit.iris.util.nbt.tag.CompoundTag;
|
||||
import com.volmit.iris.util.nbt.tag.ListTag;
|
||||
|
Loading…
x
Reference in New Issue
Block a user