Class BlockTrapdoor

All Implemented Interfaces:
BlockID, IBlockState, IMutableBlockState, AxisAlignedBB, Metadatable, Faceable, RedstoneComponent, Cloneable
Direct Known Subclasses:
BlockBambooTrapdoor, BlockTrapdoorAcacia, BlockTrapdoorBirch, BlockTrapdoorCherry, BlockTrapdoorCrimson, BlockTrapdoorDarkOak, BlockTrapdoorIron, BlockTrapdoorJungle, BlockTrapdoorMangrove, BlockTrapdoorSpruce, BlockTrapdoorWarped

@PowerNukkitDifference(info="Implements RedstoneComponent.", since="1.4.0.0-PN") public class BlockTrapdoor extends BlockTransparentMeta implements RedstoneComponent, Faceable
Since:
26.12.2015
Author:
Pub4Game
  • Field Details

  • Constructor Details

    • BlockTrapdoor

      public BlockTrapdoor()
    • BlockTrapdoor

      public BlockTrapdoor(int meta)
  • Method Details

    • getId

      public int getId()
      Specified by:
      getId in class Block
    • getProperties

      @Since("1.4.0.0-PN") @PowerNukkitOnly @NotNull public BlockProperties getProperties()
      Description copied from class: Block
      The properties that fully describe all possible and valid states that this block can have.
      Specified by:
      getProperties in interface IBlockState
      Specified by:
      getProperties in class BlockMeta
    • getName

      public String getName()
      Specified by:
      getName in class Block
    • getHardness

      public double getHardness()
      Description copied from class: Block
      控制方块硬度
      Overrides:
      getHardness in class Block
      Returns:
      方块的硬度
    • getResistance

      public double getResistance()
      Description copied from class: Block
      控制方块爆炸抗性
      Overrides:
      getResistance in class Block
      Returns:
      方块的爆炸抗性
    • canBeActivated

      public boolean canBeActivated()
      Overrides:
      canBeActivated in class Block
    • getToolType

      public int getToolType()
      Description copied from class: Block
      控制挖掘方块的工具类型
      Overrides:
      getToolType in class Block
      Returns:
      挖掘方块的工具类型
    • getWaterloggingLevel

      @PowerNukkitOnly public int getWaterloggingLevel()
      Overrides:
      getWaterloggingLevel in class Block
    • getMinX

      public double getMinX()
      Specified by:
      getMinX in interface AxisAlignedBB
      Overrides:
      getMinX in class Block
    • getMaxX

      public double getMaxX()
      Specified by:
      getMaxX in interface AxisAlignedBB
      Overrides:
      getMaxX in class Block
    • getMinY

      public double getMinY()
      Specified by:
      getMinY in interface AxisAlignedBB
      Overrides:
      getMinY in class Block
    • getMaxY

      public double getMaxY()
      Specified by:
      getMaxY in interface AxisAlignedBB
      Overrides:
      getMaxY in class Block
    • getMinZ

      public double getMinZ()
      Specified by:
      getMinZ in interface AxisAlignedBB
      Overrides:
      getMinZ in class Block
    • getMaxZ

      public double getMaxZ()
      Specified by:
      getMaxZ in interface AxisAlignedBB
      Overrides:
      getMaxZ in class Block
    • onUpdate

      @PowerNukkitDifference(info="Checking if the door was opened/closed manually and using new powered checks.", since="1.4.0.0-PN") public int onUpdate(int type)
      Overrides:
      onUpdate in class Block
    • setManualOverride

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void setManualOverride(boolean val)
    • getManualOverride

      @PowerNukkitOnly @Since("1.4.0.0-PN") public boolean getManualOverride()
    • onBreak

      public boolean onBreak(Item item)
      Overrides:
      onBreak in class Block
    • place

      @PowerNukkitDifference(info="Will return false if setBlock fails and the direction is relative to where the player is facing", since="1.4.0.0-PN") public boolean place(@NotNull Item item, @NotNull Block block, @NotNull Block target, @NotNull BlockFace face, double fx, double fy, double fz, @Nullable Player player)
      Description copied from class: Block
      Place and initialize a this block correctly in the world.

      The current instance must have level, x, y, z, and layer properties already set before calling this method.

      Overrides:
      place in class Block
      Parameters:
      item - The item being used to place the block. Should be used as an optional reference, may mismatch the block that is being placed depending on plugin implementations.
      block - The current block that is in the world and is getting replaced by this instance. It has the same x, y, z, layer, and level as this block.
      target - The block that was clicked to create the place action in this block position.
      face - The face that was clicked in the target block
      fx - The detailed X coordinate of the clicked target block face
      fy - The detailed Y coordinate of the clicked target block face
      fz - The detailed Z coordinate of the clicked target block face
      player - The player that is placing the block. May be null.
      Returns:
      true if the block was properly place. The implementation is responsible for reverting any partial change.
    • onActivate

      public boolean onActivate(@NotNull Item item, Player player)
      Overrides:
      onActivate in class Block
    • toggle

      @PowerNukkitDifference(info="Just call the #setOpen() method.", since="1.4.0.0-PN") public boolean toggle(Player player)
    • setOpen

      @PowerNukkitDifference(info="Returns false if setBlock fails",since="1.4.0.0-PN") @PowerNukkitDifference(info="Using direct values, instead of toggling (fixes a redstone bug, that the door won\'t open). Also adding possibility to detect, whether a player or redstone recently opened/closed the door.",since="1.4.0.0-PN") @PowerNukkitOnly public boolean setOpen(Player player, boolean open)
    • playOpenCloseSound

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void playOpenCloseSound()
    • playOpenSound

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void playOpenSound()
    • playCloseSound

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void playCloseSound()
    • isOpen

      public boolean isOpen()
    • setOpen

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void setOpen(boolean open)
    • isTop

      public boolean isTop()
    • setTop

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void setTop(boolean top)
    • getBlockFace

      @PowerNukkitDifference(info="Was returning the wrong face", since="1.3.0.0-PN") public BlockFace getBlockFace()
      Specified by:
      getBlockFace in interface Faceable
    • setBlockFace

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void setBlockFace(BlockFace face)
      Specified by:
      setBlockFace in interface Faceable