Interface IHeatRegistry

All Known Implementing Classes:
HeatExchangerManager

public interface IHeatRegistry
  • Method Summary

    Modifier and Type
    Method
    Description
    Create a new ticking heat exchanger logic instance for use in block entities (or potentially other ticking objects) that you create.
    void
    registerHeatBehaviour(net.minecraft.resources.ResourceLocation id, Supplier<? extends HeatBehaviour> heatBehaviour)
    Register a heat behaviour instance.
  • Method Details

    • makeHeatExchangerLogic

      IHeatExchangerLogic makeHeatExchangerLogic()
      Create a new ticking heat exchanger logic instance for use in block entities (or potentially other ticking objects) that you create.
      Returns:
      a heat exchanger logic
    • registerHeatBehaviour

      void registerHeatBehaviour(net.minecraft.resources.ResourceLocation id, Supplier<? extends HeatBehaviour> heatBehaviour)
      Register a heat behaviour instance. This can be called from a FMLCommonSetupEvent handler; do not use ParallelDispatchEvent.enqueueWork(Runnable). Alternatively, if you need to override in-built behaviour (e.g. to disable automatic furnace fueling), you can register a handler in a ServerAboutToStartEvent handler.

      This is intended to add custom behaviours to certain block entities, similar to how the vanilla furnace is handled. For general blockstate transitions (on excess heat added/removed), the correct way to do this is with datapack recipes. See data/pneumaticcraft/recipes/block_heat_properties/*.json for examples.

      Parameters:
      id - a unique for this heat behaviour
      heatBehaviour - a heat behaviour supplier