Class Collimator

java.lang.Object
io.github.pylonmc.rebar.block.RebarBlock
io.github.pylonmc.pylon.content.machines.simple.Collimator
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.RebarFluidBlock, io.github.pylonmc.rebar.block.base.RebarFluidTank, io.github.pylonmc.rebar.block.base.RebarGhostBlockHolder, io.github.pylonmc.rebar.block.base.RebarInventoryBlock, io.github.pylonmc.rebar.block.base.RebarMultiblock, io.github.pylonmc.rebar.block.base.RebarNoVanillaInventoryBlock, io.github.pylonmc.rebar.block.base.RebarProcessor, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock, io.github.pylonmc.rebar.block.base.RebarTickingBlock, io.github.pylonmc.rebar.block.base.RebarVanillaInventoryBlock, io.github.pylonmc.rebar.block.base.RebarVirtualInventoryBlock, net.kyori.adventure.key.Keyed, org.bukkit.Keyed

public class Collimator extends io.github.pylonmc.rebar.block.RebarBlock implements io.github.pylonmc.rebar.block.base.RebarFluidTank, io.github.pylonmc.rebar.block.base.RebarProcessor, io.github.pylonmc.rebar.block.base.RebarDirectionalBlock, io.github.pylonmc.rebar.block.base.RebarInventoryBlock, io.github.pylonmc.rebar.block.base.RebarTickingBlock, io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock, io.github.pylonmc.rebar.block.base.RebarVirtualInventoryBlock
  • 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.RebarFluidTank

    io.github.pylonmc.rebar.block.base.RebarFluidTank.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.RebarInventoryBlock

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

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

    io.github.pylonmc.rebar.block.base.RebarProcessor.Companion, io.github.pylonmc.rebar.block.base.RebarProcessor.ProcessorData

    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

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

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

    Fields
    Modifier and Type
    Field
    Description
    final xyz.xenondevs.invui.inventory.VirtualInventory
     
    final int
     
    final int
     
    final int
     

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

    Companion

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

    Companion

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

    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

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

    Companion
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    @NotNull xyz.xenondevs.invui.gui.Gui
     
    @NotNull Map<@NotNull org.joml.Vector3i, @NotNull io.github.pylonmc.rebar.block.base.RebarSimpleMultiblock.MultiblockComponent>
     
    @NotNull Map<@NotNull String, @NotNull xyz.xenondevs.invui.inventory.VirtualInventory>
     
    @Nullable io.github.pylonmc.rebar.waila.WailaDisplay
    getWaila(@NotNull org.bukkit.entity.Player player)
     
    boolean
    isAllowedFluid(@NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid)
     
    void
    onBreak(@NotNull List<@NotNull org.bukkit.inventory.ItemStack> drops, @NotNull io.github.pylonmc.rebar.block.context.BlockBreakContext context)
     
    void
     
    void
     

    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, 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

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

    createFluidPoint, createFluidPoint, createFluidPoint, createFluidPoint, getFluidPointDisplay, getFluidPointDisplayOrThrow

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

    addFluid, canAddFluid, canAddFluid, canSetFluid, fluidAmountRequested, getFluidAmount, getFluidCapacity, getFluidSpaceRemaining, getFluidType, getSuppliedFluids, onFluidAdded, onFluidRemoved, removeFluid, setCapacity, setFluid, setFluidType

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

    getGuiTitle

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

    getBlock, isFormedAndFullyLoaded, onMultiblockRefreshed

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

    onInventoryOpen, onItemMoveFrom, onItemMoveTo

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

    finishProcess, getProcessProgressItem, getProcessTicksRemaining, getProcessTimeTicks, isProcessing, progressProcess, setProcessProgressItem, startProcess, stopProcess

    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
  • Field Details

    • tickInterval

      public final int tickInterval
    • obscyraPerCohesiveUnit

      public final int obscyraPerCohesiveUnit
    • secondsPerCohesiveUnit

      public final int secondsPerCohesiveUnit
    • inventory

      public final xyz.xenondevs.invui.inventory.VirtualInventory inventory
  • Constructor Details

    • Collimator

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

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

    • isAllowedFluid

      public boolean isAllowedFluid(@NotNull @NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid)
      Specified by:
      isAllowedFluid in interface io.github.pylonmc.rebar.block.base.RebarFluidTank
    • tick

      public void tick()
      Specified by:
      tick in interface io.github.pylonmc.rebar.block.base.RebarTickingBlock
    • onProcessFinished

      public void onProcessFinished()
      Specified by:
      onProcessFinished in interface io.github.pylonmc.rebar.block.base.RebarProcessor
    • createGui

      @NotNull public @NotNull xyz.xenondevs.invui.gui.Gui createGui()
      Specified by:
      createGui in interface io.github.pylonmc.rebar.block.base.RebarInventoryBlock
    • 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
    • getVirtualInventories

      @NotNull public @NotNull Map<@NotNull String, @NotNull xyz.xenondevs.invui.inventory.VirtualInventory> getVirtualInventories()
      Specified by:
      getVirtualInventories in interface io.github.pylonmc.rebar.block.base.RebarVirtualInventoryBlock
    • getComponents

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

      public void onBreak(@NotNull @NotNull List<@NotNull 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
      Specified by:
      onBreak in interface io.github.pylonmc.rebar.block.base.RebarFluidBlock
      Specified by:
      onBreak in interface io.github.pylonmc.rebar.block.base.RebarVirtualInventoryBlock