Class Grindstone

java.lang.Object
io.github.pylonmc.rebar.block.RebarBlock
io.github.pylonmc.pylon.content.machines.simple.Grindstone
All Implemented Interfaces:
io.github.pylonmc.rebar.block.base.RebarBreakHandler, io.github.pylonmc.rebar.block.base.RebarCulledBlock, io.github.pylonmc.rebar.block.base.RebarEntityCulledBlock, io.github.pylonmc.rebar.block.base.RebarEntityHolderBlock, io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder, io.github.pylonmc.rebar.block.base.RebarInteractBlock, io.github.pylonmc.rebar.block.base.RebarLogisticBlock, io.github.pylonmc.rebar.block.base.RebarMultiblock, io.github.pylonmc.rebar.block.base.RebarRecipeProcessor<GrindstoneRecipe>, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock, net.kyori.adventure.key.Keyed, org.bukkit.Keyed

public class Grindstone extends io.github.pylonmc.rebar.block.RebarBlock implements io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock, io.github.pylonmc.rebar.block.base.RebarInteractBlock, io.github.pylonmc.rebar.block.base.RebarBreakHandler, io.github.pylonmc.rebar.block.base.RebarLogisticBlock, io.github.pylonmc.rebar.block.base.RebarRecipeProcessor<GrindstoneRecipe>
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
     

    Nested classes/interfaces inherited from class io.github.pylonmc.rebar.block.RebarBlock

    io.github.pylonmc.rebar.block.RebarBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder

    io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder.GhostBlock<E>, io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder.GhostBlockHitbox, io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder.RebarGhostBlock, io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder.VanillaGhostBlock

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarInteractBlock

    io.github.pylonmc.rebar.block.base.RebarInteractBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarLogisticBlock

    io.github.pylonmc.rebar.block.base.RebarLogisticBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarRecipeProcessor

    io.github.pylonmc.rebar.block.base.RebarRecipeProcessor.Companion, io.github.pylonmc.rebar.block.base.RebarRecipeProcessor.RecipeProcessorData<T>

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock

    io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.Companion, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.MultiblockComponent
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     

    Fields inherited from class io.github.pylonmc.rebar.block.RebarBlock

    Companion

    Fields inherited from interface io.github.pylonmc.rebar.block.base.RebarInteractBlock

    Companion

    Fields inherited from interface io.github.pylonmc.rebar.block.base.RebarLogisticBlock

    Companion

    Fields inherited from interface io.github.pylonmc.rebar.block.base.RebarRecipeProcessor

    Companion

    Fields inherited from interface io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock

    Companion
  • Constructor Summary

    Constructors
    Constructor
    Description
    Grindstone(@NotNull org.bukkit.block.Block block, @NotNull io.github.pylonmc.rebar.block.context.BlockCreateContext context)
     
    Grindstone(@NotNull org.bukkit.block.Block block, @NotNull org.bukkit.persistence.PersistentDataContainer pdc)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull Map<org.joml.Vector3i, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.MultiblockComponent>
     
    @NotNull org.bukkit.entity.ItemDisplay
     
     
    @NotNull org.bukkit.entity.ItemDisplay
     
    static @NotNull org.joml.Matrix4f
    getStoneDisplayMatrix(double translation, double rotation)
     
    @Nullable io.github.pylonmc.rebar.waila.WailaDisplay
    getWaila(@NotNull org.bukkit.entity.Player player)
     
    void
    onBreak(@NotNull List<org.bukkit.inventory.ItemStack> drops, @NotNull io.github.pylonmc.rebar.block.context.BlockBreakContext context)
     
    void
    onInteract(@NotNull org.bukkit.event.player.PlayerInteractEvent event, @NotNull org.bukkit.event.EventPriority priority)
     
    void
     
    void
     
    protected void
     
    boolean
    tryStartRecipe(@NotNull GrindstoneRecipe nextRecipe)
     

    Methods inherited from class io.github.pylonmc.rebar.block.RebarBlock

    getBlock, getBlockTextureEntity, getBlockTextureItem, getBlockTextureProperties, getDefaultItem, getDefaultWailaTranslationKey, getDisableBlockTextureEntity, getDropItem, getKey, getLoreTranslationKey, getNameTranslationKey, getPickItem, getRebarBlock, getRebarBlockKeyKey, getRebarBlockPositionKey, getRebarBlockTextureEntityKey, getSchema, getSettings, isVanillaBlock, refreshBlockTextureItem, register, scheduleBlockTextureItemRefresh, setDisableBlockTextureEntity, setupBlockTexture, write, writeDebugInfo

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.bukkit.Keyed

    key

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarBreakHandler

    postBreak, preBreak

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarEntityCulledBlock

    isCulledAsync, isVisible, onCulled, onVisible

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarEntityHolderBlock

    addEntity, addEntity, areAllHeldEntitiesLoaded, getBlock, getHeldEntities, getHeldEntity, getHeldEntity, getHeldEntityOrThrow, getHeldEntityOrThrow, getHeldEntityUuid, getHeldEntityUuidOrThrow, getHeldRebarEntity, getHeldRebarEntity, getHeldRebarEntityOrThrow, isHeldEntityPresent, tryRemoveAllEntities, tryRemoveEntity, whenHeldRebarEntityLoads, whenHeldRebarEntityLoads

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder

    addGhostBlock, getGhostBlockHitbox, getRebarGhostBlockDisplay, getVanillaGhostBlockDisplay, hasGhostBlockAt, removeGhostBlock

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarLogisticBlock

    createLogisticGroup, createLogisticGroup, createLogisticGroup, createLogisticGroup, getBlock, getLogisticGroup, getLogisticGroupOrThrow, getLogisticGroups

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarMultiblock

    getBlock, isFormedAndFullyLoaded, onMultiblockRefreshed

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarRecipeProcessor

    finishRecipe, getCurrentRecipe, getLastRecipe, getRecipeProgress, getRecipeProgressItem, getRecipeTicksRemaining, getRecipeTimeTicks, isProcessingRecipe, progressRecipe, setRecipeProgressItem, setRecipeType, startRecipe, stopRecipe

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock

    checkFormed, getChunksOccupied, getCulledEntityIds, getHorizontalRadius, getMaxCorner, getMinCorner, getMultiblockBlock, getMultiblockComponent, getMultiblockComponent, getMultiblockComponentOrThrow, getMultiblockComponentOrThrow, getMultiblockDirection, getRotatedPosition, isPartOfMultiblock, onMultiblockFormed, onMultiblockUnformed, setMultiblockDirection, validStructures
  • Field Details

    • CYCLE_DURATION_TICKS

      public static final int CYCLE_DURATION_TICKS
  • Constructor Details

    • Grindstone

      public Grindstone(@NotNull @NotNull org.bukkit.block.Block block, @NotNull @NotNull io.github.pylonmc.rebar.block.context.BlockCreateContext context)
    • Grindstone

      public Grindstone(@NotNull @NotNull org.bukkit.block.Block block, @NotNull @NotNull org.bukkit.persistence.PersistentDataContainer pdc)
  • Method Details

    • postInitialise

      public void postInitialise()
      Overrides:
      postInitialise in class io.github.pylonmc.rebar.block.RebarBlock
    • postLoad

      protected void postLoad()
      Overrides:
      postLoad in class io.github.pylonmc.rebar.block.RebarBlock
    • getComponents

      @NotNull public @NotNull Map<org.joml.Vector3i, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.MultiblockComponent> getComponents()
      Specified by:
      getComponents in interface io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock
    • onInteract

      public void onInteract(@NotNull @NotNull org.bukkit.event.player.PlayerInteractEvent event, @NotNull @NotNull org.bukkit.event.EventPriority priority)
      Specified by:
      onInteract in interface io.github.pylonmc.rebar.block.base.RebarInteractBlock
    • onBreak

      public void onBreak(@NotNull @NotNull List<org.bukkit.inventory.ItemStack> drops, @NotNull @NotNull io.github.pylonmc.rebar.block.context.BlockBreakContext context)
      Specified by:
      onBreak in interface io.github.pylonmc.rebar.block.base.RebarBreakHandler
    • getNextRecipe

      @Nullable public @Nullable GrindstoneRecipe getNextRecipe()
    • tryStartRecipe

      public boolean tryStartRecipe(@NotNull @NotNull GrindstoneRecipe nextRecipe)
    • onRecipeFinished

      public void onRecipeFinished(@NotNull @NotNull GrindstoneRecipe recipe)
      Specified by:
      onRecipeFinished in interface io.github.pylonmc.rebar.block.base.RebarRecipeProcessor<GrindstoneRecipe>
    • getWaila

      @Nullable public @Nullable io.github.pylonmc.rebar.waila.WailaDisplay getWaila(@NotNull @NotNull org.bukkit.entity.Player player)
      Specified by:
      getWaila in interface io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock
      Overrides:
      getWaila in class io.github.pylonmc.rebar.block.RebarBlock
    • getItemDisplay

      @NotNull public @NotNull org.bukkit.entity.ItemDisplay getItemDisplay()
    • getStoneDisplay

      @NotNull public @NotNull org.bukkit.entity.ItemDisplay getStoneDisplay()
    • getStoneDisplayMatrix

      @NotNull public static @NotNull org.joml.Matrix4f getStoneDisplayMatrix(double translation, double rotation)