package net.glowstone.block.blocktype;
import net.glowstone.EventFactory;
import net.glowstone.block.GlowBlock;
import net.glowstone.block.GlowBlockState;
import net.glowstone.inventory.ToolType;
import org.bukkit.Material;
import org.bukkit.event.block.BlockFadeEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
import java.util.Arrays;
import java.util.Collection;
public class BlockSnowBlock extends BlockType {
@Override
public Collection<ItemStack> getDrops(GlowBlock block, ItemStack tool) {
if (tool != null && ToolType.SPADE.matches(tool.getType())) {
return Arrays.asList(new ItemStack(Material.SNOW_BALL, 4));
} else {
return BlockDropless.EMPTY_STACK;
}
}
@Override
public boolean canTickRandomly() {
return true;
}
@Override
public void updateBlock(GlowBlock block) {
if (block.getLightFromBlocks() > 11) {
final GlowBlockState state = block.getState();
state.setType(Material.AIR);
state.setData(new MaterialData(Material.AIR));
BlockFadeEvent fadeEvent = new BlockFadeEvent(block, state);
EventFactory.callEvent(fadeEvent);
if (!fadeEvent.isCancelled()) {
state.update(true);
}
}
}
}