Class BlockPressurePlateBase

All Implemented Interfaces:
BlockID, IBlockState, IMutableBlockState, AxisAlignedBB, Metadatable, RedstoneComponent, Cloneable
Direct Known Subclasses:
BlockPressurePlateStone, BlockPressurePlateWood, BlockWeightedPressurePlateHeavy, BlockWeightedPressurePlateLight

@PowerNukkitDifference(info="Implements RedstoneComponent and uses methods from it.", since="1.4.0.0-PN") public abstract class BlockPressurePlateBase extends BlockFlowable implements RedstoneComponent
Since:
2016/1/11
Author:
Snake1999
  • Field Details

  • Constructor Details

    • BlockPressurePlateBase

      protected BlockPressurePlateBase()
    • BlockPressurePlateBase

      protected BlockPressurePlateBase(int meta)
  • Method Details

    • 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
    • canPassThrough

      public boolean canPassThrough()
      Overrides:
      canPassThrough in class BlockFlowable
    • canHarvestWithHand

      public boolean canHarvestWithHand()
      Overrides:
      canHarvestWithHand in class Block
    • getMinX

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

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

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

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

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

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

      public boolean isPowerSource()
      Overrides:
      isPowerSource in class Block
    • isActivated

      public boolean isActivated()
    • getWaterloggingLevel

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

      @PowerNukkitXOnly @Since("1.6.0.0-PNX") public static boolean isSupportValid(Block block, BlockFace blockFace)
    • onUpdate

      @PowerNukkitDifference(info="Allow to be placed on top of the walls",since="1.3.0.0-PN") @PowerNukkitDifference(since="1.4.0.0-PN",info="Fixed support logic") public int onUpdate(int type)
      Overrides:
      onUpdate in class Block
    • place

      @PowerNukkitDifference(info="Allow to be placed on top of the walls",since="1.3.0.0-PN") @PowerNukkitDifference(since="1.4.0.0-PN",info="Fixed support logic") public boolean place(@Nonnull Item item, @Nonnull Block block, @Nonnull Block target, @Nonnull BlockFace face, double fx, double fy, double fz, 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.
    • recalculateCollisionBoundingBox

      protected AxisAlignedBB recalculateCollisionBoundingBox()
      Overrides:
      recalculateCollisionBoundingBox in class Block
    • onEntityCollide

      public void onEntityCollide(Entity entity)
      Overrides:
      onEntityCollide in class Block
    • updateState

      protected void updateState(int oldStrength)
    • onBreak

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

      public int getWeakPower(BlockFace side)
      Overrides:
      getWeakPower in class Block
    • getStrongPower

      public int getStrongPower(BlockFace side)
      Overrides:
      getStrongPower in class Block
    • getRedstonePower

      public int getRedstonePower()
    • setRedstonePower

      public void setRedstonePower(int power)
    • playOnSound

      protected void playOnSound()
    • playOffSound

      protected void playOffSound()
    • computeRedstoneStrength

      protected abstract int computeRedstoneStrength()