/FileExtraction/Java_unseen/Wind-Development_WindSpigot/WindSpigot-API/src/main/java/org/bukkit/event/block/BlockMultiPlaceEvent.java
package org.bukkit.event.block;

import java.util.List;

import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

import com.google.common.collect.ImmutableList;

/**
 * Fired when a single block placement action of a player triggers the creation
 * of multiple blocks(e.g. placing a bed block). The block returned by
 * {@link #getBlockPlaced()} and its related methods is the block where the
 * placed block would exist if the placement only affected a single block.
 */
public class BlockMultiPlaceEvent extends BlockPlaceEvent {
	private final List<BlockState> states;

	public BlockMultiPlaceEvent(List<BlockState> states, Block clicked, ItemStack itemInHand, Player thePlayer,
			boolean canBuild) {
		super(states.get(0).getBlock(), states.get(0), clicked, itemInHand, thePlayer, canBuild);
		this.states = ImmutableList.copyOf(states);
	}

	/**
	 * Gets a list of blockstates for all blocks which were replaced by the
	 * placement of the new blocks. Most of these blocks will just have a Material
	 * type of AIR.
	 *
	 * @return immutable list of replaced BlockStates
	 */
	public List<BlockState> getReplacedBlockStates() {
		return states;
	}
}
