🌑️Temperature System

The Temperature System in AdvancedSeasons is a sophisticated feature that adds a layer of realism and challenge to the Minecraft environment. This system calculates a player's temperature based on several factors, including the base environment temperature, biome-specific temperatures, seasonal variations, light levels at the player's location, and the number of armor items a player is wearing. All these elements are fully configurable, allowing for a tailored gameplay experience.

Configuration

temperature.yml
# Temperature configuration, in Celsius
# Player's temperature depends on base environment temperature, biome temperature, season, light level at location and
# number of armor items player is wearing. All of this is fully configurable below.

# Per-biome temperature is configurable in `biomeConfiguration` folder files
base: 18

# Temperature Formula
# %base% = base temperature (see setting above)
# %biome% = relative biome temperature based
# %seasonTemp% = season temperature (see settings below)
# %lightLevel% = light level at that location (can be increased by e.g. torches, lava etc), range: 0-15
# %armorItemsCount% = how many armor items player has equipped
# %conditionalTemp% = based on conditions (e.g. player is in shade; night; raining; in water etc.)
temperatureFormula: "%base% + %biome% + %seasonTemp% + (%lightLevel%) + (%armorItemsCount% *2) + %conditionalTemp%"

# Relative to base, higher or lower +/- celcius
temperature:
  SPRING: 2
  SUMMER: 7
  FALL: -2
  WINTER: -25

# Custom biomes without winter
# These biomes will calculate "winter" season temperature with formula: (fall+spring)/2
noWinterBiomes:
  - 'badlands_deserts'
  - 'savannas_hills'
  - 'jungles'

# Are temperature events enabled?
temperatureEventsEnabled: true

# Configurable temperature events
# Effects are based on Abilities - https://wiki.advancedplugins.net/abilities/introduction
# You can pretty much use any combination of effects from here https://wiki.advancedplugins.net/abilities/effects
# Temperature events are handled and added every 20 ticks (1 second)
temperatureEvents:
  freeze:
    temperature: -30
    effects:
      - 'SCREEN_FREEZE:200'
      - 'PLAY_SOUND:BLOCK_SNOW_PLACE:1:0.2'
  ice_forming:
    temperature: -25
    effects:
      - 'SCREEN_FREEZE:40'
      - 'PARTICLE:SNOW_SHOVEL:4:0.5 @EyeHeight'
      - 'PLAY_SOUND:BLOCK_POWDER_SNOW_FALL:1:0.2'
  shivering:
    temperature: -15
    effects:
      - 'POTION:SLOW:0:1'
      - 'SCREEN_FREEZE:15'
      - 'PLAY_SOUND:ENTITY_STRAY_AMBIENT:1:0.2'
  breath_visibility:
    temperature: -4
    effects:
      - 'PARTICLE:SNOWFLAKE:5:0 @EyeHeight'
  warmth:
    temperature: 20
    effects:
      - 'POTION:REGENERATION:4:10'
  sweating:
    temperature: 35
    effects:
      - 'POTION:CONFUSION:0:75'
      - 'PARTICLE:WATER_SPLASH:20:0.2 @EyeHeight'
      - 'PLAY_SOUND:BLOCK_FURNACE_FIRE_CRACKLE:1:0.2'
  heatstroke:
    temperature: 45
    effects:
      - 'BURN:2'
      - 'POTION:CONFUSION:0:200'
      - 'ENTITY_EFFECT:HURT_BERRY_BUSH'
      - 'PARTICLE:SMALL_FLAME:20:0.2 @EyeHeight'
      - 'PLAY_SOUND:BLOCK_FIRE_AMBIENT:1:0.5'

Explanation

Base Temperature Configuration

  • base: 18: This setting establishes the baseline temperature in Celsius for the game environment.

Temperature Formula

  • The formula temperatureFormula: "%base% + %biome% + %seasonTemp% + (%lightLevel%) + (%armorItemsCount% * 2) + %conditionalTemp%" is used to calculate the player's current temperature.

    • %base% represents the base temperature.

    • %biome% adjusts for the temperature relative to the specific biome.

    • %seasonTemp% accounts for seasonal temperature changes.

    • %lightLevel% factors in the light level at the player's location, which can be influenced by sources like torches or lava.

    • %armorItemsCount% modifies the temperature based on the number of armor pieces worn.

    • %conditionalTemp% includes adjustments for various conditions like shade, time of day, rain, or being in water.

Seasonal Temperature Variations

  • The temperature section specifies the temperature adjustments for each season relative to the base temperature.

    • SPRING: 2

    • SUMMER: 7

    • FALL: -2

    • WINTER: -25

Biomes Without Winter

  • noWinterBiomes: Lists biomes that do not experience winter. In these biomes, winter temperatures are calculated as the average of fall and spring temperatures.

Temperature Events

Temperature event effects use our Abilities Engine to provide unprecedented customisability with over 100+ effects available to create temperature effects beyond dreams or imagination.

You can read more about the Abilities Engine here: https://wiki.advancedplugins.net/abilities/introduction

  • The temperatureEvents section defines specific temperatures at which certain events occur.

    • freeze: -30 triggers freezing effects.

    • ice_forming: -25 begins to show ice formation.

    • shivering: -15 initiates shivering animations.

    • breath_visibility: -4 makes the player's breath visible.

    • warmth: 20 provides benefits like faster health regeneration.

    • sweating: 35 shows visual sweating effects.

    • heatstroke: 45 triggers heatstroke effects.

Event effects are pre-configured to be very straight-forward. To edit them, you can explore our effect list: https://wiki.advancedplugins.net/abilities/effects

This system not only enhances the realism of the game but also introduces strategic elements where players must adapt to survive and thrive in varying temperatures.

Last updated