mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 18:55:18 +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;
|
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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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");
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user