本文整理汇总了Java中org.bukkit.material.Stairs类的典型用法代码示例。如果您正苦于以下问题:Java Stairs类的具体用法?Java Stairs怎么用?Java Stairs使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Stairs类属于org.bukkit.material包,在下文中一共展示了Stairs类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onBlockBreak
import org.bukkit.material.Stairs; //导入依赖的package包/类
@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();
}
}
示例2: getChairWidth
import org.bukkit.material.Stairs; //导入依赖的package包/类
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;
}
示例3: checkSign
import org.bukkit.material.Stairs; //导入依赖的package包/类
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;
}
}
}
}
示例4: dropSeat
import org.bukkit.material.Stairs; //导入依赖的package包/类
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;
}
示例5: getChairWidth
import org.bukkit.material.Stairs; //导入依赖的package包/类
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;
}
示例6: isChair
import org.bukkit.material.Stairs; //导入依赖的package包/类
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;
}
示例7: isChair
import org.bukkit.material.Stairs; //导入依赖的package包/类
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;
}
示例8: setStairs
import org.bukkit.material.Stairs; //导入依赖的package包/类
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());
}
示例9: isOnStair
import org.bukkit.material.Stairs; //导入依赖的package包/类
/**
* @return if we are on a stair.
*/
public static boolean isOnStair(Location location) {
return hasBlock(location, Stairs.class);
}
示例10: isOnStairJump
import org.bukkit.material.Stairs; //导入依赖的package包/类
/**
* @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);
}
示例11: Stairs
import org.bukkit.material.Stairs; //导入依赖的package包/类
@Deprecated public Stairs(int type) {
}
示例12: clone
import org.bukkit.material.Stairs; //导入依赖的package包/类
public Stairs clone() {
return null;
}