Skip to content

Temperature

NorthWestTrees edited this page Nov 12, 2025 · 8 revisions

Note

This page reflects the latest version of Real Time Mod 2.0.0 and up.

Page Index

Back to Real Time Mod 2 Wiki
Sections
Overview
Base
► ► Game Rule Disabled
► ► Game Rule Enabled
Time
Weather
Y Level
► ► Overworld
► ► Nether
► ► End
Biome
Fluid
► ► Block
► ► Entity
► ► Player
Dimension Offset
Final Calculation
► ► Exposed Temperature
► ► Non-Exposed Temperature
History

Overview

Back to Real Time Mod 2 Wiki

The temperature system in the Real Time Mod is a complex topic to cover as there are many parts. There are global and local based temperature mechanics, global mechanics are things that effect the entire world without a specific position where local are localized based around a set position such as a block, player or entity. We will be diving into all these factors in this page.

Base

Lets start with the base temperature. The base temperature is the temperature that is the foundation for all other temperature to build on to.

This temperature value has two parts and is based on if the game rule Seasonal Weather Enabled is set to true. If it's true then each month will have it's own base temperature and it's own minimum and maximum temperature ranges.

IF the game rule is false then the temperature will be more dynamic.

Game Rule Disabled

If the game rule is disabled then the math will randomly select a temperature first by the lowest temperature possible and then by the highest temperature possible then finally a random base temperature is chosen from the min and max integer for that day.

Math:

Math: base + random(min, max)
===============================
Min = 7 + random(-19, 11)
Max = 25 + (-7, 6)
Temperature = random(Min, Max)
Lowest Temperature Highest Temperature
Min -12 C (10.4 F) 18 C (64.4 F)
Max 18 C (64.4 F) 31 C (87.8 F)
Temperature -12 C (10.4 F) 31 C (87.8 F)

Game Rule Enabled

If the game rule is enabled then each month will have it's own base, min, and max temperature range below is a quick chart.

Math: base + random(min, max)
=========================================
Mar: Temperature = 9 + random(-6, 10)
Apr: Temperature = 14 + random(-6 + 8)
May: Temperature = 16 + random(-6 + 8)
Jun: Temperature = 18 + random(-7 + 9)
Jul: Temperature = 25 + random(-7 + 6)
Aug: Temperature = 22 + random(-6 + 6)
Sep: Temperature = 19 + random(-6 + 7)
Oct: Temperature = 13 + random(-5 + 8)
Nov: Temperature = 9 + random(-5 + 5)
Dec: Temperature = 8 + random(-10 + 4)
Jan: Temperature = 7 + random(-19 + 2)
Feb: Temperature = 9 + random(-6 + 9)
Lowest Temperature Highest Temperature
Mar 3 C (37.4 F) 19 C (66.2 F)
Apr 8 C (46.4 F) 22 C (71.6 F)
May 10 C (50.0 F) 24 C (75.2 F)
Jun 11 C (51.8 F) 27 C (80.6 F)
Jul 18 C (64.4 F) 31 C (87.8 F)
Aug 16 C (60.8 F) 28 C (82.4 F)
Sep 13 C (55.4 F) 26 C (78.8 F)
Oct 8 C (46.4 F) 21 C (69.8 F)
Nov 4 C (39.2 F) 14 C (57.2 F)
Dec -2 C (53.6 F) 12 C (28.4 F)
Jan -8 C (17.6 F) 9 C (48.2 F)
Feb 1 C (33.8 F) 14 C (57.2 F)

Time

Time temperature is a global temperature modifier that is combined with the base temperature.

Temperature = 5 * cos(2 * π * (((World Time MOD 24000) - 8000) / 24000)
Ticks Time 12h Time 24h Temperature
0 06:00 AM 6:00 -2.50 C (27.5 F)
1,000 07:00 AM 7:00 -1.29 C (29.6 F)
2,000 08:00 AM 8:00 0.00 C (32.0 F)
3,000 09:00 AM 9:00 1.29 C (34.3 F)
4,000 10:00 AM 10:00 2.50 C (36.5 F)
5,000 11:00 AM 11:00 3.54 C (38.3 F)
6,000 12:00 PM 12:00 4.33 C (39.7 F)
7,000 01:00 PM 13:00 4.83 C (40.6 F)
8,000 02:00 PM 14:00 5.00 C 41.0 F)
9,000 03:00 PM 15:00 4.83 C (40.6 F)
10,000 04:00 PM 16:00 4.33 C (39.7 F)
11,000 05:00 PM 17:00 3.54 C (38.3 F)
12,000 06:00 PM 18:00 2.50 C (36.5 F)
13,000 07:00 PM 19:00 1.29 C (34.3 F)
14,000 08:00 PM 20:00 0.00 C (32.0 F)
15,000 09:00 PM 21:00 -1.29 C (29.6 F)
16,000 10:00 PM 22:00 -2.50 C (27.5 F)
17,000 11:00 PM 23:00 -3.54 C (25.6 F)
18,000 12:00 AM 0:00 -4.33 C (24.2 F)
19,000 01:00 AM 1:00 -4.83 C (23.3 F)
20,000 02:00 AM 2:00 -5.00 C (23.0 F)
21,000 03:00 AM 3:00 -4.83 C (23.3 F)
22,000 04:00 AM 4:00 -4.33 C (24.2 F)
23,000 05:00 AM 5:00 -3.54 C (25.6 F)

Weather

Weather is the final global temperature modifier. Temperature is calculated for weather based two factors.

If the location at the location can snow, and what weather is currently happening.

For example if the biome is a snowy biome and thundering then the temperature can reach down to -8 C (17.6 F).

If the weather is clear though then it's always 0 C (32 F).

Below is a quick chart to show the weather.

Weather No Snow Snowing
Clear 0 C (32 F) 0 C (32 F)
Rain -2 C (28.4 F) -4 C (24.8 F)
Thunder -4 C (24.8 F) -8 C (17.6 F)

This temperature is added to the base when creating the block, entity or players temperature.

Y Level

Moving on to localized modifiers, these are only added to position based things in the world such as blocks, entities or players and are combined with the global modifiers and base temperature later on.

The temperature depends on the dimension however the mod will use the overworld as a fall back if the mod does not specify through the mod tags which biome structure to use.

Overworld

The overworld structure is most balanced at Y level 64, from there going up will decrease the temperature over the higher you go up. If the player goes down the temperature Y level 0 the temperature will decrease as well. If the player ventures deeper into the deepslate layer to Y level -64 the temperature will increase a bit. See below the exact stats for each layer.

Mods can add there biomes to this tag to give them the Y level mechanics listed below. Any biomes not tagged will fall back to this Y level format as well.

Biome tag: real_time_mod:position_temperature_overworld
Math:
If Level > 320
  Temperature = -7
Else If Level ≥ 96
  Temperature = 0 - (1 + floor((Level - 96) / 32))
Else If Level ≥ 64
  Temperature = 0
Else If Level ≥ 0
  Temperature = -4 + floor(Level / 16)
Else If ≥ -64
  Temperature = 4 - floor((Level + 64) / 8)
Else
  Temperature = -4
Y Level Temperature
320 and above -7 C (19.4 F)
288 to 319 -6 C (21.2 F)
256 to 287 -5 C (23.0 F)
224 to 255 -4 C (24.8 F)
192 to 223 -3 C (26.6 F)
160 to 191 -2 C (28.4 F)
128 to 159 -1 C (30.2 F)
64 to 96 0 C (32.0 F)
48 to 63 -1 C (30.2 F)
32 to 47 -2 C (28.4 F)
16 to 31 -3 C (26.6 F)
0 to 15 -4 C (24.8 F)
-8 to -1 -3 C (26.6 F)
-16 to -9 -2 C (28.4 F)
-24 to -17 -1 C (30.2 F)
-32 to -25 0 C (32.0 F)
-40 to -33 1 C (33.8 F)
-48 to -41 2 C (35.6 F)
-56 to -49 3 C (37.4 F)
-57 and below 4 C (39.2 F)

Nether

The nether has it's own tag and math, though it's way simpler than the overworld. The deeper you go the hotter it gets.

Biome tag: real_time_mod:position_temperature_nether
Math:
clampY = 122 Min (5 Max Level)
Temperature = floor(12 - (((clampY - 5) / 117) * 8))
Y Level Temperature
108 and above 4 C (39.2 F)
93 to 107 5 C (41.0 F)
79 to 92 6 C (42.8 F)
64 to 78 7 C (44.6 F)
49 to 63 8 C (46.4 F)
35 to 48 9 C (48.2 F)
20 to 34 10 C (50.0 F)
6 to 19 11 C (51.8 F)
5 and below 12 C (53.6 F)

End

The end also has it's own biome tag, it's much the same way as the nether, just goes one direction though it gets colder the higher the Y level is.

Biome tag: real_time_mod:position_temperature_end
Math:
clampY = 160 Min (0 Max Level)
Temperature = floor(-7 - ((clampY / 160) * 5))
Y Level Temperature
31 or below -7 C (19.4 F)
32 to 63 -8 C (17.6 F)
64 to 95 -9 C (15.8 F)
96 to 127 -10 C (14.0 F)
128 to 159 -11 C (12.2 F)
160 and up -12 C (10.4 F)

Biome

Biomes also have modifiers, these use tags and group biomes into 3 categories. Cold, Temperate and Hot biomes. Temperate will be used if the biome in question is not added to any of the tags.

Hot biome tag:

real_time_mod:biome_temperature_cold

Temperate biome tag:

real_time_mod:biome_temperature_temperate

Cold biome tag:

real_time_mod:biome_temperature_cold

The temperature is a static value:

Climet Temperature
Hot 10 C (50.0 F)
Temperate 0 C (32.0 F)
Cold -5 C (23.0 F)

Fluid

Fluid temperature is the last local temperature modifier. It is broken up into three kinds of script. Blocks, entities and players. Fluid can be in two groups, cold or hot, not specifying the value will have a natural effect.

Cold tag:

real_time_mod:fluid_temperature/cold

Hot tag:

real_time_mod:fluid_temperature/hot
Tag Temperature
Hot 4 C (39.2 F)
Cold -2 C (28.4 F)
None 0 C

Block

Any block that is at the location of the fluid will be considered by the tag.

The block will then have the following command run for the temperature.

realtimemod temperature add block ~ ~ ~ <temperature>

Entity

Entities work a bit differently as some entities may have more then one block height so for each block height the entity may get an additional temperature value this can be positive, negative or both in some cases.

Math:
For entity_height
  If cold:
    temperature = temperature - 2
  Else if hot:
    temperature = temperature + 4

The entity will then have the command run to add the temperature

realtimemod temperature add entity <Entity_UUID> <temperature>

Player

Players have the same exact system as entities there is no difference with the math, the only difference is the command.

Math:
For entity_height
  If cold:
    temperature = temperature - 2
  Else if hot:
    temperature = temperature + 4

The command that runs for the player is as follows.

realtimemod temperature add player @p <temperature>

Dimension Offset

There one last modifier, this happens on the command level of script and happens when the update command is run. Depending if the dimension is the end or nether the base temperature will be overwritten using the math below.

Nether:

Math: 50 C (122.0 F)
base = base + 50

End:

Math: -23 C (-9.4 F)
base = base - 23

Final Calculation

The final calculation is calculated based on one last condition. The location where the script is running from checks if the block 1 block above the command being run from can see the sky. If this is the case weather temperature is included into the math. If not then weather is not added to the calculation.

Exposed Temperature

This is the math for when the block, player or entity can see the sky.

The NBT tag contains the fluid temperature and any temperature values mods use to override the temperature.

temperature = base + time_temperature + weather_temperature + NBT:realtimemodOffsetTemperature + biome_temperature + y_level_temperature

Non-Exposed Temperature

This is the math for when the block, player or entity can't see the sky.

The NBT tag contains the fluid temperature and any temperature values mods use to override the temperature.

temperature = base + time_temperature + NBT:realtimemodOffsetTemperature + biome_temperature + y_level_temperature

History

Back to Real Time Mod 2 Wiki
  • 2.0.0
    • Added the temperature mechanics.

Download Sites

Common Pages

Clone this wiki locally