public interface IHeatRegistry
PneumaticRegistry.IPneumaticCraftInterface.getHeatRegistry().| Modifier and Type | Method and Description |
|---|---|
IHeatExchangerLogic |
makeHeatExchangerLogic()
Create a new ticking heat exchanger logic instance for use in tile entities (or potentially other ticking objects).
|
void |
registerBlockExchanger(net.minecraft.block.Block block,
double temperature,
double thermalResistance)
Register a block as a simple heat exchanger (temperature and thermal resistance only; no blockstate transitions).
|
void |
registerHeatBehaviour(net.minecraft.util.ResourceLocation id,
java.util.function.Supplier<? extends HeatBehaviour<?>> heatBehaviour)
Register a heat behaviour instance.
|
IHeatExchangerLogic makeHeatExchangerLogic()
void registerBlockExchanger(net.minecraft.block.Block block,
double temperature,
double thermalResistance)
HeatRegistrationEvent or use datapacks.
Note: the preferred way (and only way if you want blockstate transitions) to do this is with datapack recipes. See
data/pneumaticcraft/recipes/block_heat_properties/*.json
block - the blocktemperature - the block's temperaturethermalResistance - the thermal resistance, i.e. how quickly heat will be transferredvoid registerHeatBehaviour(net.minecraft.util.ResourceLocation id,
java.util.function.Supplier<? extends HeatBehaviour<?>> heatBehaviour)
FMLCommonSetupEvent
handler, but be sure to use ParallelDispatchEvent.enqueueWork(Runnable).
This is intended to add custom behaviours to certain tile 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.
id - a unique for this heat behaviourheatBehaviour - a heat behaviour supplier