package com.nisovin.magicspells.materials;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.entity.FallingBlock;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
public class MagicBlockMaterial extends MagicMaterial {
MaterialData data;
public MagicBlockMaterial(MaterialData data) {
this.data = data;
}
@Override
public Material getMaterial() {
return data.getItemType();
}
@Override
public MaterialData getMaterialData() {
return data;
}
@Override
public void setBlock(Block block, boolean applyPhysics) {
BlockState state = block.getState();
state.setType(getMaterial());
state.setData(getMaterialData());
state.update(true, applyPhysics);
}
@Override
public FallingBlock spawnFallingBlock(Location location) {
return location.getWorld().spawnFallingBlock(location, getMaterial(), getMaterialData().getData());
}
@Override
public ItemStack toItemStack(int quantity) {
return getMaterialData().toItemStack(quantity);
}
}