Integrate real 1.17 chunks

This commit is contained in:
cyberpwn 2021-08-25 07:10:31 -04:00
parent 5c8b600cb1
commit 8586d44d7e
5 changed files with 17 additions and 15 deletions

View File

@ -18,7 +18,7 @@
package com.volmit.iris.core.nms; 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 com.volmit.iris.util.nbt.tag.CompoundTag;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;

View File

@ -24,7 +24,7 @@ import com.volmit.iris.engine.data.cache.AtomicCache;
import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.nbt.io.NBTUtil; import com.volmit.iris.util.nbt.io.NBTUtil;
import com.volmit.iris.util.nbt.mca.NBTWorld; 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 com.volmit.iris.util.nbt.tag.CompoundTag;
import net.minecraft.core.BlockPosition; import net.minecraft.core.BlockPosition;
import net.minecraft.core.IRegistry; 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.entity.Entity;
import net.minecraft.world.level.biome.BiomeBase; import net.minecraft.world.level.biome.BiomeBase;
import net.minecraft.world.level.block.Block; 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.entity.TileEntity;
import net.minecraft.world.level.block.state.IBlockData; import net.minecraft.world.level.block.state.IBlockData;
import net.minecraft.world.level.chunk.BiomeStorage; import net.minecraft.world.level.chunk.BiomeStorage;
@ -61,8 +60,6 @@ import org.bukkit.generator.ChunkGenerator;
import java.io.*; import java.io.*;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.IdentityHashMap; import java.util.IdentityHashMap;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;

View File

@ -20,7 +20,7 @@ package com.volmit.iris.core.nms.v1X;
import com.volmit.iris.Iris; import com.volmit.iris.Iris;
import com.volmit.iris.core.nms.INMSBinding; 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 com.volmit.iris.util.nbt.tag.CompoundTag;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;

View File

@ -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.io.NamedTag;
import com.volmit.iris.util.nbt.tag.CompoundTag; import com.volmit.iris.util.nbt.tag.CompoundTag;
import com.volmit.iris.util.nbt.tag.ListTag; import com.volmit.iris.util.nbt.tag.ListTag;
import com.volmit.iris.util.nbt.tag.Tag;
import java.io.*; import java.io.*;
import java.util.Arrays; import java.util.Arrays;
@ -33,15 +34,10 @@ import java.util.concurrent.atomic.AtomicReferenceArray;
import static com.volmit.iris.util.nbt.mca.LoadFlags.*; import static com.volmit.iris.util.nbt.mca.LoadFlags.*;
public class Chunk { public class Chunk {
public static final int DEFAULT_DATA_VERSION = 2730;
public static final int DEFAULT_DATA_VERSION = 1628;
private boolean partial; private boolean partial;
private int lastMCAUpdate; private int lastMCAUpdate;
private CompoundTag data; private CompoundTag data;
private int dataVersion; private int dataVersion;
private long lastUpdate; private long lastUpdate;
private long inhabitedTime; private long inhabitedTime;
@ -72,6 +68,7 @@ public class Chunk {
public Chunk(CompoundTag data) { public Chunk(CompoundTag data) {
this.data = data; this.data = data;
initReferences(ALL_DATA); initReferences(ALL_DATA);
setStatus("full");
} }
private void initReferences(long loadFlags) { private void initReferences(long loadFlags) {
@ -163,6 +160,7 @@ public class Chunk {
try (BufferedOutputStream nbtOut = new BufferedOutputStream(CompressionType.ZLIB.compress(baos))) { try (BufferedOutputStream nbtOut = new BufferedOutputStream(CompressionType.ZLIB.compress(baos))) {
new NBTSerializer(false).toStream(new NamedTag(null, updateHandle(xPos, zPos)), nbtOut); new NBTSerializer(false).toStream(new NamedTag(null, updateHandle(xPos, zPos)), nbtOut);
} }
byte[] rawData = baos.toByteArray(); byte[] rawData = baos.toByteArray();
raf.writeInt(rawData.length + 1); // including the byte to store the compression type raf.writeInt(rawData.length + 1); // including the byte to store the compression type
raf.writeByte(CompressionType.ZLIB.getID()); raf.writeByte(CompressionType.ZLIB.getID());
@ -648,11 +646,18 @@ public class Chunk {
Chunk c = new Chunk(0); Chunk c = new Chunk(0);
c.dataVersion = DEFAULT_DATA_VERSION; c.dataVersion = DEFAULT_DATA_VERSION;
c.data = new CompoundTag(); c.data = new CompoundTag();
c.data.put("Level", new CompoundTag()); c.data.put("Level", defaultLevel());
c.status = "mobs_spawned"; c.status = "full";
return c; 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) { public CompoundTag updateHandle(int xPos, int zPos) {
data.putInt("DataVersion", dataVersion); data.putInt("DataVersion", dataVersion);
CompoundTag level = data.getCompoundTag("Level"); CompoundTag level = data.getCompoundTag("Level");

View File

@ -19,7 +19,7 @@
package com.volmit.iris.util.nbt.mca; package com.volmit.iris.util.nbt.mca;
import com.volmit.iris.core.nms.INMS; 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.ByteArrayTag;
import com.volmit.iris.util.nbt.tag.CompoundTag; import com.volmit.iris.util.nbt.tag.CompoundTag;
import com.volmit.iris.util.nbt.tag.ListTag; import com.volmit.iris.util.nbt.tag.ListTag;