Interface IHeatExchangingTE

All Known Implementing Classes:
AdvancedAirCompressorBlockEntity, AdvancedLiquidCompressorBlockEntity, CompressedIronBlockBlockEntity, CreativeCompressedIronBlockBlockEntity, EtchingTankBlockEntity, FluxCompressorBlockEntity, HeatPipeBlockEntity, HeatSinkBlockEntity, PneumaticDynamoBlockEntity, RefineryControllerBlockEntity, RefineryOutputBlockEntity, SolarCompressorBlockEntity, ThermalCompressorBlockEntity, ThermopneumaticProcessingPlantBlockEntity, VortexTubeBlockEntity
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface IHeatExchangingTE
Non-API interface for all heat-handling tile entities in the mod
  • Method Summary

    Modifier and Type
    Method
    Description
    Get the heat exchanger on the null or default face.
    getHeatExchanger(net.minecraft.core.Direction dir)
    Get the heat exchanger on the given face.
    default BiPredicate<net.minecraft.world.level.LevelAccessor,net.minecraft.core.BlockPos>
    Should this (heat-using) machine lose heat to the surrounding air blocks? Most blocks do.
    default void
    initHeatExchangersOnPlacement(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos)
    Initialize this BE's hull heat exchanger to the ambient temperature, when the block is first placed down.
    default void
    initializeHullHeatExchangers(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos)
    Discover heat exchangers by side for this block, and initialize each distinct heat exchanger with the side that it is connected to.
    default boolean
     
  • Method Details

    • getHeatExchanger

      @Nullable IHeatExchangerLogic getHeatExchanger(net.minecraft.core.Direction dir)
      Get the heat exchanger on the given face. This may return null iff the direction is not null.
      Parameters:
      dir - the side of the block to check, or null for the default/primary heat exchanger
      Returns:
      a heat exchanger
    • getHeatExchanger

      default IHeatExchangerLogic getHeatExchanger()
      Get the heat exchanger on the null or default face.
      Returns:
      the default heat exchanger, can be null
    • heatExchangerBlockFilter

      default BiPredicate<net.minecraft.world.level.LevelAccessor,net.minecraft.core.BlockPos> heatExchangerBlockFilter()
      Should this (heat-using) machine lose heat to the surrounding air blocks? Most blocks do.
      Returns:
      true if heat will be lost to the air on exposed faces, false otherwise
    • initHeatExchangersOnPlacement

      default void initHeatExchangersOnPlacement(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos)
      Initialize this BE's hull heat exchanger to the ambient temperature, when the block is first placed down. Override this in BE's which have multiple hull heat exchangers (e.g. vortex tube or thermal compressor)
      Parameters:
      world - the BE's world
      pos - the BE's block pos
    • initializeHullHeatExchangers

      default void initializeHullHeatExchangers(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos)
      Discover heat exchangers by side for this block, and initialize each distinct heat exchanger with the side that it is connected to. Call this on first BE server tick, and when a neighboring block update occurs. Don't override this method.
      Parameters:
      world - the BE's world
      pos - the BE's block pos
    • shouldShowGuiHeatTab

      default boolean shouldShowGuiHeatTab()