protected final void func_180701_a( World world, int x, int z, int p_180701_4_, int p_180701_5_, ChunkPrimer primer) { this.func_143027_a(world); if (!this.structureMap.containsKey(ChunkPos.toLong(x, z))) { if (this.canSpawnStructureAtCoords(x, z)) { StructureStart start = this.getStructureStart(x, z); this.structureMap.put(ChunkPos.toLong(x, z), start); this.addStructureStart(x, z, start); } } }
private void func_143027_a(World world) { if (this.itemData == null) { this.itemData = world.loadItemData(MapGenStructureData.class, this.getStructureName()); if (this.itemData == null) { this.itemData = new MapGenStructureData(this.getStructureName()); world.setItemData(this.getStructureName(), this.itemData); } else { NBTTagCompound var2 = this.itemData.getTag(); for (String var4 : var2.getKeySet()) { NBTBase var5 = var2.getTag(var4); if (var5.getType() == 10) { NBTTagCompound var6 = (NBTTagCompound) var5; if (var6.hasKey("ChunkX") && var6.hasKey("ChunkZ")) { int x = var6.getInteger("ChunkX"); int z = var6.getInteger("ChunkZ"); StructureStart var9 = MapGenStructureIO.func_143035_a(var6); if (var9 != null) { this.structureMap.put(ChunkPos.toLong(x, z), var9); } } } } } } }