Class BlockNoteblock

All Implemented Interfaces:
BlockEntityHolder<BlockEntityMusic>, BlockID, IBlockState, IMutableBlockState, AxisAlignedBB, Metadatable, RedstoneComponent, Cloneable

@PowerNukkitDifference(info="Implements RedstoneComponent.",since="1.4.0.0-PN") @PowerNukkitDifference(since="1.4.0.0-PN",info="Implements BlockEntityHolder only in PowerNukkit") public class BlockNoteblock extends BlockSolid implements RedstoneComponent, BlockEntityHolder<BlockEntityMusic>
Since:
2016/1/17
Author:
Snake1999
  • Constructor Details

    • BlockNoteblock

      public BlockNoteblock()
  • Method Details

    • getName

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

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

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

      @Since("1.4.0.0-PN") @PowerNukkitOnly @NotNull public Class<? extends BlockEntityMusic> getBlockEntityClass()
      Specified by:
      getBlockEntityClass in interface BlockEntityHolder<BlockEntityMusic>
    • getBlockEntityType

      @PowerNukkitOnly @Since("1.4.0.0-PN") @NotNull public String getBlockEntityType()
      Specified by:
      getBlockEntityType in interface BlockEntityHolder<BlockEntityMusic>
    • 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
    • place

      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.
    • onTouch

      @Since("1.4.0.0-PN") @PowerNukkitOnly public int onTouch(@Nullable Player player, PlayerInteractEvent.Action action)
      Description copied from class: Block
      当玩家使用与左键或者右键方块时会触发,常被用于处理例如物品展示框左键掉落物品这种逻辑
      触发点在Player的onBlockBreakStart中

      It will be triggered when the player uses the left or right click on the block, which is often used to deal with logic such as left button dropping items in the item frame
      The trigger point is in the onBlockBreakStart of Player

      Overrides:
      onTouch in class Block
      Parameters:
      player - the player
      action - the action
      Returns:
      状态值,返回值不为0代表这是一个touch操作而不是一个挖掘方块的操作
      Status value, if the return value is not 0, it means that this is a touch operation rather than a mining block operation
    • getStrength

      public int getStrength()
    • increaseStrength

      public void increaseStrength()
    • getInstrument

      public BlockNoteblock.Instrument getInstrument()
    • emitSound

      public void emitSound()
    • emitSound

      @PowerNukkitXOnly @Since("1.19.21-r4") public void emitSound(@Nullable Player player)
    • onActivate

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

      @PowerNukkitDifference(info="Using new method for checking if powered", since="1.4.0.0-PN") public int onUpdate(int type)
      Overrides:
      onUpdate in class Block