public void paste(World world, int x, int y, int z)
	{
		if(valid)
		{
			for(int xPos = x; xPos < x+width; x++)
			{
				for(int zPos = z; zPos < z+length; z++)
				{
					for(int yPos = y; yPos < y+height; yPos++)
					{
						populator.setBlockWithData(world, xPos, yPos, zPos, materialList[structure[x][y][z]], materialListData[structure[x][y][z]]);
					}
				}
			}
			int size = blockStates.size();
			for(int a = 0; a < size; a++)
			{
				TileEntity t = blockStates.get(a);
				NBTTagCompound data = new NBTTagCompound();
				t.b(data);
				t = TileEntity.c(data);
				t.a(new BlockPosition(x, y, z));
				populator.addTileEntity(world, t);
			}
		}
	}