package com.bioxx.jmapgen.dungeon; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; public class DungeonChunk { public final int chunkX; public final int chunkZ; private Map<Integer, DungeonRoom> roomMap = new HashMap<Integer, DungeonRoom>(); public DungeonChunk(int x, int z) { chunkX = x; chunkZ = z; } public DungeonRoom get(int y) { return roomMap.get(y); } public void set(int y, DungeonRoom room) { roomMap.put(y, room); } public void writeToNBT(NBTTagCompound nbt) { NBTTagList mapTag = new NBTTagList(); Iterator iter = roomMap.keySet().iterator(); while(iter.hasNext()) { int id = (Integer)iter.next(); NBTTagCompound roomnbt = new NBTTagCompound(); roomMap.get(id).writeToNBT(roomnbt); mapTag.appendTag(roomnbt); } nbt.setTag("RoomMap", mapTag); } public void readFromNBT(NBTTagCompound nbt) { NBTTagList tagList = nbt.getTagList("RoomMap", 10); for(int i = 0; i < tagList.tagCount(); i++) { NBTTagCompound roomTag = tagList.getCompoundTagAt(i); DungeonRoom dr = new DungeonRoom(null, null); dr.readFromNBT(roomTag); roomMap.put(dr.position.getY(), dr); } } public Map<Integer, DungeonRoom> getRoomMap() { return roomMap; } }