Class BlockPistonBase

All Implemented Interfaces:
BlockEntityHolder<BlockEntityPistonArm>, BlockID, IBlockState, IMutableBlockState, AxisAlignedBB, Metadatable, Faceable, RedstoneComponent, Cloneable
Direct Known Subclasses:
BlockPiston, BlockPistonSticky

@PowerNukkitDifference(info="Implements RedstoneComponent.",since="1.4.0.0-PN") @PowerNukkitDifference(since="1.4.0.0-PN",info="Implements BlockEntityHolder only in PowerNukkit") public abstract class BlockPistonBase extends BlockSolidMeta implements RedstoneComponent, Faceable, BlockEntityHolder<BlockEntityPistonArm>
Author:
CreeperFace
  • Field Details

  • Constructor Details

    • BlockPistonBase

      public BlockPistonBase()
    • BlockPistonBase

      public BlockPistonBase(int meta)
  • Method Details

    • updatePistonsListenTo

      public static void updatePistonsListenTo(Position pos)
    • listenPistonUpdateTo

      public static void listenPistonUpdateTo(Position listen, Position to)
    • isBlockLocked

      public static boolean isBlockLocked(Position pos)
    • getProperties

      @Since("1.4.0.0-PN") @PowerNukkitOnly @Nonnull 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
    • getBlockEntityType

      @PowerNukkitOnly @Since("1.4.0.0-PN") @Nonnull public String getBlockEntityType()
      Specified by:
      getBlockEntityType in interface BlockEntityHolder<BlockEntityPistonArm>
    • getBlockEntityClass

      @Since("1.4.0.0-PN") @PowerNukkitOnly @Nonnull public Class<? extends BlockEntityPistonArm> getBlockEntityClass()
      Specified by:
      getBlockEntityClass in interface BlockEntityHolder<BlockEntityPistonArm>
    • getResistance

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

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

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

      @PowerNukkitDifference(info="Using new method for checking if powered", since="1.4.0.0-PN") public boolean place(@Nonnull Item item, @Nonnull Block block, @Nonnull Block target, @Nonnull 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.
    • onBreak

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

      public boolean isExtended()
    • onUpdate

      @PowerNukkitDifference(info="Using new method for checking if powered + update all around redstone torches, even if the piston can\'t move.", since="1.4.0.0-PN") public int onUpdate(int type)
      Overrides:
      onUpdate in class Block
    • isGettingPower

      @PowerNukkitOnly @Since("1.4.0.0-PN") public boolean isGettingPower()
      Description copied from class: Block
      Check if a block is getting powered threw a block or directly.
      Overrides:
      isGettingPower in class Block
      Returns:
      if the gets powered.
    • createHead

      @PowerNukkitOnly protected BlockPistonHead createHead(int damage)
    • getPistonHeadBlockId

      @PowerNukkitOnly public abstract int getPistonHeadBlockId()
    • canPush

      @PowerNukkitOnly public static boolean canPush(Block block, BlockFace face, boolean destroyBlocks, boolean extending)
    • toItem

      public Item toItem()
      Overrides:
      toItem in class Block
    • getBlockFace

      public BlockFace getBlockFace()
      Specified by:
      getBlockFace in interface Faceable