/**Creates a pre-packet-rework AtlasData NBT tag*/ public void writeToNBTv2(AtlasData atlasdata, NBTTagCompound compound) { compound.setInteger(AtlasData.TAG_VERSION, 2); NBTTagList dimensionMapList = new NBTTagList(); int dimension = 0; int key; Iterator<Integer> dimensionEntryKey = atlasdata.getVisitedDimensions().iterator(); for (dimension = 0; dimension<atlasdata.getVisitedDimensions().size(); dimension++) { NBTTagCompound dimTag = new NBTTagCompound(); key = dimensionEntryKey.next().intValue(); dimTag.setInteger(AtlasData.TAG_DIMENSION_ID, key); DimensionData dimData = atlasdata.getDimensionData(key); Map<ShortVec2, Tile> seenChunks = dimData.getSeenChunks(); int[] intArray = new int[seenChunks.size()*3]; int i = 0; for (Entry<ShortVec2, Tile> entry : seenChunks.entrySet()) { intArray[i++] = entry.getKey().x; intArray[i++] = entry.getKey().y; intArray[i++] = entry.getValue().biomeID; } dimTag.setIntArray(AtlasData.TAG_VISITED_CHUNKS, intArray); dimTag.setInteger(AtlasData.TAG_BROWSING_X, dimData.getBrowsingX()); dimTag.setInteger(AtlasData.TAG_BROWSING_Y, dimData.getBrowsingY()); dimTag.setInteger(AtlasData.TAG_BROWSING_ZOOM, (int)Math.round(dimData.getBrowsingZoom() * BrowsingPositionPacket.ZOOM_SCALE_FACTOR)); dimensionMapList.appendTag(dimTag); } compound.setTag(AtlasData.TAG_DIMENSION_MAP_LIST, dimensionMapList); }
AtlasData srcBiomes = AntiqueAtlasMod.atlasData.getAtlasData(stack, world); if (destBiomes != null && srcBiomes != null && destBiomes != srcBiomes) { for (int dim : srcBiomes.getVisitedDimensions()) { destBiomes.getDimensionData(dim).addData(srcBiomes.getDimensionData(dim));