Java 类org.bukkit.material.Stairs 实例源码

项目:SurvivalPlus    文件:Chairs.java   
@EventHandler(priority = EventPriority.HIGHEST)
public void onBlockBreak(BlockBreakEvent event)
{
    if(event.isCancelled()) return;
    if(Survival.allowedBlocks.contains(event.getBlock().getType()))
    {
        ArmorStand drop = dropSeat(event.getBlock(), (Stairs)event.getBlock().getState().getData());

        for(Entity e : drop.getNearbyEntities(0.5, 0.5, 0.5))
        {
            if(e != null && e instanceof ArmorStand && e.getCustomName() == "Chair")
                e.remove();
        }

        drop.remove();
    }
}
项目:SurvivalPlus    文件:Chairs.java   
private int getChairWidth(Block block, BlockFace face)
{
    int width = 0;

    // Go through the blocks next to the clicked block and check if there are any further stairs.
    for(int i = 1; i <= Survival.settings.getInt("Mechanics.Chairs.MaxChairWidth"); i++)
    {
        Block relative = block.getRelative(face, i);

        if(Survival.allowedBlocks.contains(relative.getType()) && ((Stairs)relative.getState().getData()).getDescendingDirection() == ((Stairs)block.getState().getData()).getDescendingDirection())
            width++;
        else
            break;
    }

    return width;
}
项目:SurvivalPlus    文件:Chairs.java   
private boolean checkSign(Block block, BlockFace face)
{
    // Go through the blocks next to the clicked block and check if are signs on the end.
    for(int i = 1; true; i++)
    {
        Block relative = block.getRelative(face, i);
        if(!(Survival.allowedBlocks.contains(relative.getType())) || (block instanceof Stairs && ((Stairs)relative.getState().getData()).getDescendingDirection() != ((Stairs)block.getState().getData()).getDescendingDirection()))
        {
            switch(relative.getType())
            {
                case SIGN:
                case WALL_SIGN:
                case SIGN_POST:
                case ITEM_FRAME:
                case PAINTING:
                case TRAP_DOOR:
                case IRON_TRAPDOOR:
                    return true;
                default:
                    return false;
            }
        }
    }
}
项目:SurvivalPlus    文件:Chairs.java   
private ArmorStand dropSeat(Block chair, Stairs stairs)
{
    Location location = chair.getLocation().add(0.5, (-0.7 - 0.5), 0.5);

    switch(stairs.getDescendingDirection())
    {
        case NORTH:
            location.setYaw(180);
            break;
        case EAST:
            location.setYaw(270);
            break;
        case SOUTH:
            location.setYaw(0);
            break;
        case WEST:
            location.setYaw(90);
        default:
    }

    ArmorStand drop = (ArmorStand)location.getWorld().spawnEntity(location, EntityType.ARMOR_STAND);
    drop.setCustomName("Chair");
    drop.setVelocity(new Vector(0, 0, 0));
    drop.setGravity(false);
    drop.setVisible(false);

    return drop;
}
项目:Wayward    文件:ChairPlayerInteractListener.java   
private int getChairWidth(Block block, BlockFace face) {
    int width = 0;
    for (int i = 1; i <= 4; i++) {
        Block relative = block.getRelative(face, i);
        if (relative.getState().getData() instanceof Stairs) {
            if (isValidChair(relative) && ((Stairs) relative.getState().getData()).getDescendingDirection() == ((Stairs) block.getState().getData()).getDescendingDirection()) {
                width++;
            } else {
                break;
            }
        }
    }
    return width;
}
项目:xEssentials-deprecated-bukkit    文件:PlayerSitOnChairEvent_org.java   
private boolean isChair(Block block) {
    BlockFace[] faces = {BlockFace.NORTH, BlockFace.EAST, BlockFace.SOUTH, BlockFace.WEST};

    Stairs stair = (Stairs)block.getState().getData();

    for(BlockFace face : faces) {
        if(stair.getFacing() == face) {
            return true;
        }
    }
    return false;
}
项目:xEssentials-deprecated-bukkit    文件:ChairEvent.java   
private boolean isChair(Block block) {
    if(block.getState().getData() instanceof Stairs) {
        Stairs stair = (Stairs) block.getState().getData();
        BlockFace pos1;
        BlockFace pos2;
        if(!stair.isInverted()) {
            switch(stair.getFacing()) {
            case EAST:
                pos1 = BlockFace.NORTH;
                pos2 = BlockFace.SOUTH;
                if(block.getRelative(pos1).getType() == Material.WALL_SIGN && block.getRelative(pos2).getType() == Material.WALL_SIGN) {
                    return true;
                }
            case NORTH:
                pos1 = BlockFace.EAST;
                pos2 = BlockFace.WEST;
                if(block.getRelative(pos1).getType() == Material.WALL_SIGN && block.getRelative(pos2).getType() == Material.WALL_SIGN) {
                    return true;
                }
            case SOUTH:
                pos1 = BlockFace.EAST;
                pos2 = BlockFace.WEST;
                if(block.getRelative(pos1).getType() == Material.WALL_SIGN && block.getRelative(pos2).getType() == Material.WALL_SIGN) {
                    return true;
                }
            case WEST:
                pos1 = BlockFace.NORTH;
                pos2 = BlockFace.SOUTH;
                if(block.getRelative(pos1).getType() == Material.WALL_SIGN && block.getRelative(pos2).getType() == Material.WALL_SIGN) {
                    return true;
                }
            default:
                break;
            }
        }
    }
    return false;
}
项目:Gorm    文件:Castle.java   
public void setStairs(int x, int y, int z, BlockFace dir, Material mat) {
    Block b = world.getBlockAt(x, y, z);
    b.setType(mat);
    Stairs matStairs = new Stairs(mat);
    matStairs.setFacingDirection(dir);
    b.setData(matStairs.getData());
}
项目:Arc-v2    文件:LocationHelper.java   
/**
 * @return if we are on a stair.
 */
public static boolean isOnStair(Location location) {
    return hasBlock(location, Stairs.class);
}
项目:Arc-v2    文件:LocationHelper.java   
/**
 * @return if we are on a stair but its lower than 0.3
 */
public static boolean isOnStairJump(Location location) {
    return hasBlock(location, Stairs.class, 1);
}
项目:BedrockAPI    文件:Stairs.java   
@Deprecated public Stairs(int type) {
}
项目:BedrockAPI    文件:Stairs.java   
public Stairs(Material type) {
}
项目:BedrockAPI    文件:Stairs.java   
@Deprecated public Stairs(int type, byte data) {
}
项目:BedrockAPI    文件:Stairs.java   
@Deprecated public Stairs(Material type, byte data) {
}
项目:BedrockAPI    文件:Stairs.java   
public Stairs clone() {
    return null;
}