Ambient temperature affects how efficiently certain temperature sensitive machines operate. It can help you keep a machine hot but it can also be detrimental if your machine shouldn't be.
The ambient temperature is biome, time of day and height dependant and usually updates once every 20 ticks.
Biome specific temperatures at different height levels
Biome type | Surface (63 < y < 96) |
High (y > 96) |
Dirt (44 < y < 64) |
Below dirt (39 < y < 44) |
Deep (y < 39) |
Default | 10 to 30 | -29 to 30 | 5 to 29 | 5 to 28 | 17 to 95 |
Icy | -35 to -15 | -74 to -15 | -40 to -16 | -40 to -17 | -28 to 50 |
Hot | 25 to 45 | -14 to 45 | 20 to 44 | 20 to 43 | 32 to 110 |
Hell | 300 | 300 | 300 | 300 | 300 |
Sky * | -115 to -95 | -154 to -95 | -120 to -96 | -120 to -97 | -108 to -30 |
Note, biomes marked with an asterisk (*) may or may not have a sky or visibility to it. If no sky is present or visible the temperature is a steady -100 degrees no matter what.
Sources
Here are the present (version v3d) source values and formulas.
BaseTemperature = 25 if SnowBiome BaseTemperature = -20 if HotBiome BaseTemperature = 40 if SkyBiome BaseTemperature = -100 if HellBiome BaseTemperature = 300
SunIntensity is 1 at mid day and 0 at night
SunIntensity = 0 to 1 Mult = 20 if IsRaining Mult = 10
SunHeating has a range from -15 to +5
SunHeating = (SunIntensity-0.75) * Mult AmbientTemperature = BaseTemperature + SunHeating MachineYPosition = <Wherever your machine is in the world on the Y axis>
AverageWorldHeight is by default set at 64 but can be different depending on your world settings
AverageWorldHeight = 64 HeightDiff = AverageWorldHeight - MachineYPosition if HeightDiff < 1 Skip to last condition, checking if machine is higher up than height level 96.
This subtracts one degree for every block below sea level/world average height, up to 19 blocks below. In other words, subtracts 1 to 19 degrees but the result is capped at BaseTemperature - 20.
if HeightDiff < 20 AmbientTemperature = max(AmbientTemperature - HeightDiff, BaseTemperature-20)
Starting at 20 blocks below sea level, temperature increases by 2 per block downwards. Note that this starts off with a 10 degree subtraction and ends at a 2 degree subtraction from the current AmbientTemperature
if HeightDiff >= 20 and < 25 AmbientTemperature = max(AmbientTemperature - 2*(25-HeightDiff), BaseTemperature-20)
Starting at 25 blocks below sea level and down, the temperature increases from the current AmbientTemperature by between 7 and 68 degrees. Note however that the result is capped at BaseTemperature-70.
if HeightDiff >= 25 AmbientTemperature = min(100*(AmbientTemperature + ((HeightDiff-20)/AverageWorldHeight), BaseTemperature-70)
If our machine is high in the sky, above height level 96, the temperature drops by one degree for every 4 blocks.
if MachineYPosition > 96 AmbientTemperature = AmbientTemperature - ((MachineYPosition-96)/4)
Conclusion
If your your machine is visible to the sky then the ambient temperature can fluctuate by 20 degrees in total. -15 in the night and +5 during the day. (-7.5 and +2.5 respectively if it's raining)
If you build your machine high in the sky then the ambient temperature gets colder and colder the higher it is built.
If you build it below ground, up to 25 blocks below sea level or the worlds average height (depends on the world generator) then it gets one degree colder per block for the first 20 blocks, then warmer by 2 degrees per block for the last 5 blocks.
Building it further down will increase the temperature by roughly 1.5 degrees for every block further down you go.
Notes
- Please bare in mind that this is a feature specific to the DragonAPI and not Rotarycraft. Other mods that make use of the DragonAPI's temperature features would see the same ambient temperature numbers. This data is not used by other temperature-sensitive mods like Forestry.
- Certain machines will treat ambient temperature differently, some cool off really fast and heat in a non linear way. Others will have a hard time cooling on their own and expects external cooling.
- Be careful about "expecting" one machine to work in any location on the map. An ambient temperature change of just 10 degrees can have cascading effects down the line.