A temperature modifier is something that modifies a player's temperature. Each world has a base temperature based on the season and all modifiers stack on top of it. The result of the base temperature and all modifiers combined is the temperature the player will see. Modifiers make the temperature system very dynamic and fun to play with. Most of the modifiers are different for each player, depending on their situation. The complete temperature is recalculated every 2 seconds. Here is a list of all modifiers in the order they are applied.
Each world has a randomly generated base temperature. This temperature gets randomized each day and is based on the current season. All these temperatures can be changed in the configuration. This temperature does not include the effects of biomes yet:
The current weather also has effects on the temperature.
You'll notice that the nights are a bit colder and the days a bit warmer. The time modifier changes gradually from -5°C between the Minecraft times 14800-23500 to +3°C between 6000-12000.
The biome the player is in plays a big role in the calculation of the player's temperature. All values can be changed in the biome configuration. Here is a list of the default modifiers of all biomes:
Temperature decreases by 0.08°C every block above y=64 in all seasons except winter. The temperature in winter stays the same above y=64 and instead increases 0.2°C every block below y=64.
Being in the water or in powdered snow has a big effect on the temperature of the player. Jumping in the water without protection in the winter can be lethal. The modifier also stays for a short amount of time after the player has gotten out of the water since the player is still wet. The modifier increases by 1°C every 2 seconds after the player has gotten out of the water until the modifier is 0°C again. The modifier is exactly the same for powdered snow.
Sprinting adds a maximum of +4°C to the player's temperature. Great way to quickly warm up if necessary.
Blocks in a maximum radius of 16 blocks can have any temperature effect on the player. The range and modifier of each block type are configurable. The player must be able to see the block for the modifier to be applied and the actual modifier is changed depending on the distance to the block. Only standing right next to the block will apply the complete modifier specified in the temperature.yml.
Armour does a great job protecting you from the cold but it can also cause overheating in the summer. Here is a full list of the modifiers:
* = modifier won't apply if the player's temperature exceeds 25°C
There are currently two food effects in the plugin. One if your temperature is above 25°C, one if your temperature is below. A full hunger bar will apply +5°C to your temperature if your current temperature is below 25°C. Drinking a bottle of water will reduce your temperature by -10°C for 5 minutes (not stackable) if your temperature exceeds 25°C. A bottle icon will appear next to your temperature meter to let you know that the water bottle effect is still active. You don't have to necessarily drink a water bottle, a potion will also work.
Server owners can temporarily apply their own temperature modifiers through a command.
/rs temperature modify <player> <temperature-change> <duration>will temporarily apply a modifier for the duration in seconds to the player.
temperature-changecan also be negative. This command is very useful if you want another plugin to interact with the temperature system, for example, a custom item plugin. You could make the plugin run the modify command automatically.
An easier way to add custom items is through RealisticSeasons' custom item system. Server owners can add their own armour (with CustomModelData) or items to the temperature.yml that have their own modifier. Very useful if you're using a custom item plugin with resourcepack like ItemsAdder.