Class SmelteryController

java.lang.Object
io.github.pylonmc.rebar.block.RebarBlock
io.github.pylonmc.pylon.content.machines.smelting.SmelteryComponent
io.github.pylonmc.pylon.content.machines.smelting.SmelteryController
All Implemented Interfaces:
io.github.pylonmc.rebar.block.base.RebarBreakHandler, 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.RebarTickingBlock, io.github.pylonmc.rebar.block.base.RebarVanillaInventoryBlock, net.kyori.adventure.key.Keyed, org.bukkit.Keyed

public final class SmelteryController extends SmelteryComponent implements io.github.pylonmc.rebar.block.base.RebarInventoryBlock, io.github.pylonmc.rebar.block.base.RebarMultiblock, io.github.pylonmc.rebar.block.base.RebarTickingBlock
  • Nested Class Summary

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

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

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

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

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

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

    Companion

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

    Companion

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

    Companion
  • Constructor Summary

    Constructors
    Constructor
    Description
    SmelteryController(@NotNull org.bukkit.block.Block block, @NotNull io.github.pylonmc.rebar.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.rebar.fluid.RebarFluid fluid, double amount)
     
    boolean
     
    @NotNull xyz.xenondevs.invui.gui.Gui
     
    @NotNull Map<String, kotlin.Pair<String,Integer>>
     
    double
     
    @NotNull Set<io.github.pylonmc.rebar.util.position.ChunkPosition>
     
    double
    getFluidAmount(@NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid)
     
    @NotNull Map<io.github.pylonmc.rebar.fluid.RebarFluid, Double>
     
    double
     
    double
     
    void
    heatAsymptotically(double target)
     
    boolean
    isPartOfMultiblock(@NotNull org.bukkit.block.Block otherBlock)
     
    boolean
     
    void
     
    void
     
    void
    onMultiblockUnformed(boolean partUnloaded)
     
    void
    postBreak(@NotNull io.github.pylonmc.rebar.block.context.BlockBreakContext context)
     
    void
    removeFluid(@NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid, double amount)
     
    void
    setRunning(boolean running)
     
    void
     
    void
    write(@NotNull org.bukkit.persistence.PersistentDataContainer pdc)
     

    Methods inherited from class SmelteryComponent

    getController

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

    getBlock, getBlockTextureEntity, getBlockTextureItem, getDefaultItem, getDefaultWailaTranslationKey, getDisableBlockTextureEntity, getDropItem, getKey, getLoreTranslationKey, getNameTranslationKey, getPickItem, getRebarBlock, getRebarBlockKeyKey, getRebarBlockPositionKey, getRebarBlockTextureEntityKey, getSchema, getSettings, getWaila, 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

    key

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

    onBreak, preBreak

    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

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

    onInventoryOpen, onItemMoveFrom, onItemMoveTo

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

    getTickInterval, isAsync, setAsync, setTickInterval
  • Field Details

    • TICK_INTERVAL

      public static final int TICK_INTERVAL
    • FLUID_REACTION_PER_TICK

      public static final double FLUID_REACTION_PER_TICK
    • HEATING_FACTOR

      public static final double HEATING_FACTOR
    • COOLING_FACTOR

      public static final double COOLING_FACTOR
    • ROOM_TEMPERATURE

      public static final double ROOM_TEMPERATURE
    • maxHeight

      public final int maxHeight
  • Constructor Details

    • SmelteryController

      public SmelteryController(@NotNull @NotNull org.bukkit.block.Block block, @NotNull @NotNull io.github.pylonmc.rebar.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.rebar.block.RebarBlock
    • postBreak

      public void postBreak(@NotNull @NotNull io.github.pylonmc.rebar.block.context.BlockBreakContext context)
      Specified by:
      postBreak in interface io.github.pylonmc.rebar.block.base.RebarBreakHandler
    • createGui

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

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

      public boolean checkFormed()
      Specified by:
      checkFormed in interface io.github.pylonmc.rebar.block.base.RebarMultiblock
    • onMultiblockFormed

      public void onMultiblockFormed()
      Specified by:
      onMultiblockFormed in interface io.github.pylonmc.rebar.block.base.RebarMultiblock
    • onMultiblockRefreshed

      public void onMultiblockRefreshed()
      Specified by:
      onMultiblockRefreshed in interface io.github.pylonmc.rebar.block.base.RebarMultiblock
    • onMultiblockUnformed

      public void onMultiblockUnformed(boolean partUnloaded)
      Specified by:
      onMultiblockUnformed in interface io.github.pylonmc.rebar.block.base.RebarMultiblock
    • isPartOfMultiblock

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

      public void addFluid(@NotNull @NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid, double amount)
    • removeFluid

      public void removeFluid(@NotNull @NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid, double amount)
    • getFluidAmount

      public double getFluidAmount(@NotNull @NotNull io.github.pylonmc.rebar.fluid.RebarFluid fluid)
    • getTotalFluid

      public double getTotalFluid()
    • getFluids

      @NotNull public @NotNull Map<io.github.pylonmc.rebar.fluid.RebarFluid, Double> getFluids()
    • heatAsymptotically

      public void heatAsymptotically(double target)
    • tick

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

      public void setRunning(boolean running)
    • getBlockTextureProperties

      @NotNull public @NotNull Map<String, kotlin.Pair<String,Integer>> getBlockTextureProperties()
      Overrides:
      getBlockTextureProperties in class io.github.pylonmc.rebar.block.RebarBlock
    • isRunning

      public boolean isRunning()
    • getTemperature

      public double getTemperature()
    • getCapacity

      public double getCapacity()