Package net.glowstone.block.blocktype

Source Code of net.glowstone.block.blocktype.BlockStairs

package net.glowstone.block.blocktype;

import net.glowstone.block.GlowBlock;
import net.glowstone.block.GlowBlockState;
import net.glowstone.entity.GlowPlayer;
import net.glowstone.inventory.ToolType;
import org.bukkit.Material;
import org.bukkit.block.BlockFace;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
import org.bukkit.material.Stairs;
import org.bukkit.util.Vector;

import java.util.Arrays;
import java.util.Collection;

public class BlockStairs extends BlockType {

    @Override
    public void placeBlock(GlowPlayer player, GlowBlockState state, BlockFace face, ItemStack holding, Vector clickedLoc) {
        super.placeBlock(player, state, face, holding, clickedLoc);

        MaterialData data = state.getData();
        if (data instanceof Stairs) {
            ((Stairs) data).setFacingDirection(player.getDirection());

            if (face == BlockFace.DOWN || face != BlockFace.UP && clickedLoc.getY() >= 8) {
                ((Stairs) data).setInverted(true);
            }

            state.setData(data);
        } else {
            warnMaterialData(Stairs.class, data);
        }
    }

    @Override
    public Collection<ItemStack> getDrops(GlowBlock block, ItemStack tool) {
        if (isWoodenStair(block.getType()) ||
                (tool != null && ToolType.PICKAXE.matches(tool.getType()))) {
            return Arrays.asList(new ItemStack(block.getType()));
        }
        return BlockDropless.EMPTY_STACK;
    }

    private boolean isWoodenStair(Material type) {
        switch (type) {
            case ACACIA_STAIRS:
            case BIRCH_WOOD_STAIRS:
            case DARK_OAK_STAIRS:
            case JUNGLE_WOOD_STAIRS:
            case SPRUCE_WOOD_STAIRS:
            case WOOD_STAIRS:
                return true;
            default:
                return false;
        }
    }
}
TOP

Related Classes of net.glowstone.block.blocktype.BlockStairs

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.