Class SmelteryController

java.lang.Object
io.github.pylonmc.pylon.core.block.PylonBlock
io.github.pylonmc.pylon.base.content.machines.smelting.SmelteryComponent
io.github.pylonmc.pylon.base.content.machines.smelting.SmelteryController
All Implemented Interfaces:
io.github.pylonmc.pylon.core.block.base.PylonBreakHandler, io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock, io.github.pylonmc.pylon.core.block.base.PylonGuiBlock, io.github.pylonmc.pylon.core.block.base.PylonInteractBlock, io.github.pylonmc.pylon.core.block.base.PylonMultiblock, io.github.pylonmc.pylon.core.block.base.PylonNoVanillaContainerBlock, io.github.pylonmc.pylon.core.block.base.PylonTickingBlock, io.github.pylonmc.pylon.core.block.base.PylonVanillaContainerBlock

public final class SmelteryController extends SmelteryComponent implements io.github.pylonmc.pylon.core.block.base.PylonGuiBlock, io.github.pylonmc.pylon.core.block.base.PylonMultiblock, io.github.pylonmc.pylon.core.block.base.PylonTickingBlock, io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.github.pylonmc.pylon.core.block.PylonBlock

    io.github.pylonmc.pylon.core.block.PylonBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock

    io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.pylon.core.block.base.PylonGuiBlock

    io.github.pylonmc.pylon.core.block.base.PylonGuiBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.pylon.core.block.base.PylonTickingBlock

    io.github.pylonmc.pylon.core.block.base.PylonTickingBlock.Companion
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
     
    static final double
     
    static final double
     
    static final double
     
    static final int
     

    Fields inherited from class io.github.pylonmc.pylon.core.block.PylonBlock

    Companion

    Fields inherited from interface io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock

    Companion

    Fields inherited from interface io.github.pylonmc.pylon.core.block.base.PylonGuiBlock

    Companion

    Fields inherited from interface io.github.pylonmc.pylon.core.block.base.PylonTickingBlock

    Companion
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    void
    addFluid(@NotNull io.github.pylonmc.pylon.core.fluid.PylonFluid fluid, double amount)
     
    boolean
     
    @NotNull xyz.xenondevs.invui.gui.Gui
     
    @Nullable kotlin.Pair<io.github.pylonmc.pylon.core.fluid.PylonFluid,Double>
     
    double
     
    @NotNull Set<io.github.pylonmc.pylon.core.util.position.ChunkPosition>
     
    double
    getFluidAmount(@NotNull io.github.pylonmc.pylon.core.fluid.PylonFluid fluid)
     
    @NotNull List<org.bukkit.entity.TextDisplay>
     
    double
     
    double
     
    void
    heatAsymptotically(double dt, double target)
     
    boolean
    isPartOfMultiblock(@NotNull org.bukkit.block.Block otherBlock)
     
    boolean
     
    void
     
    void
    removeFluid(@NotNull io.github.pylonmc.pylon.core.fluid.PylonFluid fluid, double amount)
     
    void
    setRunning(boolean running)
     
    void
    setTemperature(double temperature)
     
    void
    tick(double deltaSeconds)
     
    void
    write(@NotNull org.bukkit.persistence.PersistentDataContainer pdc)
     

    Methods inherited from class io.github.pylonmc.pylon.base.content.machines.smelting.SmelteryComponent

    getController

    Methods inherited from class io.github.pylonmc.pylon.core.block.PylonBlock

    getBlock, getBlockTextureEntity, getBlockTextureItem, getDefaultItem, getDefaultWailaTranslationKey, getDisableBlockTextureEntity, getDropItem, getKey, getPickItem, getPylonBlock, getSchema, getSettings, getWaila, isVanillaBlock, postLoad, register, setDisableBlockTextureEntity, setupBlockTexture, updateBlockTexture, writeDebugInfo

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock

    addEntity, addEntity, areAllHeldEntitiesLoaded, getHeldEntities, getHeldEntity, getHeldEntity, getHeldEntityOrThrow, getHeldEntityOrThrow, getHeldEntityUuid, getHeldEntityUuidOrThrow, getHeldPylonEntity, getHeldPylonEntityOrThrow, isHeldEntityPresent

    Methods inherited from interface io.github.pylonmc.pylon.core.block.base.PylonGuiBlock

    getGui, getGuiTitle, getItems, onBreak, onInteract

    Methods inherited from interface io.github.pylonmc.pylon.core.block.base.PylonMultiblock

    getBlock, isFormedAndFullyLoaded, onMultiblockFormed, onMultiblockUnformed

    Methods inherited from interface io.github.pylonmc.pylon.core.block.base.PylonNoVanillaContainerBlock

    onInventoryOpen, onItemMoveFrom, onItemMoveTo

    Methods inherited from interface io.github.pylonmc.pylon.core.block.base.PylonTickingBlock

    getTickInterval, isAsync, setAsync, setTickInterval
  • Field Details

    • TICK_INTERVAL

      public static final int TICK_INTERVAL
    • FLUID_REACTION_PER_SECOND

      public static final double FLUID_REACTION_PER_SECOND
    • HEATING_FACTOR

      public static final double HEATING_FACTOR
    • COOLING_FACTOR

      public static final double COOLING_FACTOR
    • ROOM_TEMPERATURE

      public static final double ROOM_TEMPERATURE
  • Constructor Details

    • SmelteryController

      public SmelteryController(@NotNull @NotNull org.bukkit.block.Block block, @NotNull @NotNull io.github.pylonmc.pylon.core.block.context.BlockCreateContext context)
    • SmelteryController

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

    • write

      public void write(@NotNull @NotNull org.bukkit.persistence.PersistentDataContainer pdc)
      Overrides:
      write in class io.github.pylonmc.pylon.core.block.PylonBlock
    • postBreak

      public void postBreak()
      Specified by:
      postBreak in interface io.github.pylonmc.pylon.core.block.base.PylonBreakHandler
      Specified by:
      postBreak in interface io.github.pylonmc.pylon.core.block.base.PylonEntityHolderBlock
    • createGui

      @NotNull public @NotNull xyz.xenondevs.invui.gui.Gui createGui()
      Specified by:
      createGui in interface io.github.pylonmc.pylon.core.block.base.PylonGuiBlock
    • getChunksOccupied

      @NotNull public @NotNull Set<io.github.pylonmc.pylon.core.util.position.ChunkPosition> getChunksOccupied()
      Specified by:
      getChunksOccupied in interface io.github.pylonmc.pylon.core.block.base.PylonMultiblock
    • checkFormed

      public boolean checkFormed()
      Specified by:
      checkFormed in interface io.github.pylonmc.pylon.core.block.base.PylonMultiblock
    • isPartOfMultiblock

      public boolean isPartOfMultiblock(@NotNull @NotNull org.bukkit.block.Block otherBlock)
      Specified by:
      isPartOfMultiblock in interface io.github.pylonmc.pylon.core.block.base.PylonMultiblock
    • addFluid

      public void addFluid(@NotNull @NotNull io.github.pylonmc.pylon.core.fluid.PylonFluid fluid, double amount)
    • removeFluid

      public void removeFluid(@NotNull @NotNull io.github.pylonmc.pylon.core.fluid.PylonFluid fluid, double amount)
    • getFluidAmount

      public double getFluidAmount(@NotNull @NotNull io.github.pylonmc.pylon.core.fluid.PylonFluid fluid)
    • getTotalFluid

      public double getTotalFluid()
    • getBottomFluid

      @Nullable public @Nullable kotlin.Pair<io.github.pylonmc.pylon.core.fluid.PylonFluid,Double> getBottomFluid()
    • heatAsymptotically

      public void heatAsymptotically(double dt, double target)
    • getPixels

      @NotNull public @NotNull List<org.bukkit.entity.TextDisplay> getPixels()
    • tick

      public void tick(double deltaSeconds)
      Specified by:
      tick in interface io.github.pylonmc.pylon.core.block.base.PylonTickingBlock
    • getTemperature

      public double getTemperature()
    • setTemperature

      public void setTemperature(double temperature)
    • isRunning

      public boolean isRunning()
    • setRunning

      public void setRunning(boolean running)
    • getCapacity

      public double getCapacity()