Class PotionAltar

java.lang.Object
io.github.pylonmc.rebar.block.RebarBlock
io.github.pylonmc.pylon.content.machines.simple.PotionAltar
All Implemented Interfaces:
io.github.pylonmc.rebar.block.base.RebarBreakHandler, io.github.pylonmc.rebar.block.base.RebarCulledBlock, io.github.pylonmc.rebar.block.base.RebarDirectionalBlock, 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.RebarMultiblock, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock, io.github.pylonmc.rebar.block.base.RebarTickingBlock, net.kyori.adventure.key.Keyed, org.bukkit.Keyed

public class PotionAltar 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.RebarTickingBlock, io.github.pylonmc.rebar.block.base.RebarDirectionalBlock, io.github.pylonmc.rebar.block.base.RebarBreakHandler
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static 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.RebarDirectionalBlock

    io.github.pylonmc.rebar.block.base.RebarDirectionalBlock.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.RebarSimpleMultiblock

    io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.Companion, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.MultiblockComponent

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

    io.github.pylonmc.rebar.block.base.RebarTickingBlock.Companion
  • Field Summary

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

    Companion

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

    Companion

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

    Companion

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

    Companion

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

    Companion
  • Constructor Summary

    Constructors
    Constructor
    Description
    PotionAltar(org.bukkit.block.Block block, io.github.pylonmc.rebar.block.context.BlockCreateContext context)
     
    PotionAltar(org.bukkit.block.Block block, 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>
     
    @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
    write(@NotNull org.bukkit.persistence.PersistentDataContainer pdc)
    RebarRecipeProcessor requires a unique recipe key to recover recipe progress after restarting server, while this altar doesn't have any static recipe to be loaded or be recovered, which produces tons of error logs for "Couldn't find recipe".

    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, postInitialise, postLoad, refreshBlockTextureItem, register, scheduleBlockTextureItemRefresh, setDisableBlockTextureEntity, setupBlockTexture, writeDebugInfo

    Methods inherited from class Object

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

    Methods inherited from interface org.bukkit.Keyed

    getKey, key

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

    postBreak, preBreak

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

    getFacing, setFacing

    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.RebarMultiblock

    getBlock, isFormedAndFullyLoaded, onMultiblockRefreshed

    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

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

    getTickInterval, isAsync, setAsync, setTickInterval
  • Constructor Details

    • PotionAltar

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

      public PotionAltar(org.bukkit.block.Block block, org.bukkit.persistence.PersistentDataContainer pdc)
  • Method Details

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

      public void tick()
      Specified by:
      tick in interface io.github.pylonmc.rebar.block.base.RebarTickingBlock
    • 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
    • write

      public void write(@NotNull @NotNull org.bukkit.persistence.PersistentDataContainer pdc)
      RebarRecipeProcessor requires a unique recipe key to recover recipe progress after restarting server, while this altar doesn't have any static recipe to be loaded or be recovered, which produces tons of error logs for "Couldn't find recipe". So we have to recover recipe progress manually.
      Overrides:
      write in class io.github.pylonmc.rebar.block.RebarBlock
      See Also:
      • PotionAltar.AltarProgress
    • 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