Minecraft / Projects

Dynamic Temperature in Minecraft

  • 5
  • 1
  • playlist_add
  • share
  • more_horiz
avatar JohnTempest
Level 5 : Apprentice Engineer
1
>>> Minecraft Forums Project Link: Click Here <<<

>>> Older Versions: Click Here <<<



Dynamic Temperature in Minecraft is a project inspired by the development of temperature mechanics for Vech's latest map Iceolation and is designed to add relatively unobtrusive content to the game. The way the system works is based on a variety of environmental factors which detects nearby blocks, the player's current biome, whether the player is swimming in water or lava, and more.

Your temperature can range between -1000 and 1000 heat units (HU) and will give the player debuffs if your temperature wanders toward the extremes (±600 HU). These debuffs include slowness, mining fatigue, blindness, hunger, weakness, and wither with the effects being mild around ±600 HU but deadly around ±900 HU.

Armor serves as insulation for the player, decreasing the effect environmental factors have on the player while equipped. Should the player need to warm up, they can stand by a fire, a torch, or a lit furnace; or if they should need to cool off, they can jump into water or curl up by some ice. When heating up or cooling down, changes to your temperature will occur every two seconds.


To start, I seriously need to thank TheRedEngineer for his work in creating a biome detection system. I cannot even begin to imagine the time and headache he saved me. If you want to check out any of his Minecraft commands you can visit his website at www.theredengineer.com or check out his YouTube Channel.

Each biome has a base temperature which serves as the largest contribution to calculating the ambient temperature of a biome. Although other factors like time of day, altitude [upcoming], and the weather [upcoming] can also affect the temperature of a biome, adjustments from those other environmental factors only serve to modify the base temperature of a biome. These values can be viewed in the spoiler below, and the effects of those temperature values will be explained in the Ambient Temperature description.

Biome Temperatures
Hot Biomes:
900 HU The Nether
600 HU Desert
600 HU Desert Hills

Warm Biomes:
500 HU Desert Lakes
400 HU Badlands
400 HU Badlands Plateau
400 HU Eroded Badlands
400 HU Modified Badlands Plateau
400 HU Modified Wooded Badlands Plateau
400 HU Wooded Badlands Plateau
300 HU Jungle
300 HU Jungle Edge
300 HU Jungle Hills
300 HU Modified Jungle
300 HU Modified Jungle Edge
300 HU Savanna
300 HU Savanna Plateau
300 HU Shattered Savanna
300 HU Shattered Savanna Plateau
300 HU Warm Ocean
250 HU Bamboo Jungle [Upcoming 1.14]
250 HU Bamboo Jungle Hills [Upcoming 1.14]

Temperate Warm Biomes:
200 HU Deep Lukewarm Ocean
200 HU Deep Warm Ocean
150 HU Swamp
150 HU Swamp Hills
100 HU Lukewarm Ocean

Temperate Biomes:

0 HU Beach
0 HU Birch Forest
0 HU Birch Forest hills
0 HU Flower Forest
0 HU Forest
0 HU Ocean
0 HU Plains
0 HU River
0 HU Sunflower Plains
0 HU Tall Birch Forest
0 HU Tall Birch Hills
0 HU The Void

Temperate Cool Biomes:

-100 HU Dark Forest
-100 HU Dark Forest Hills
-100 HU End Barrens
-100 HU End Highlands
-100 HU End Midlands
-100 HU Small End Islands
-100 HU The End
-100 HU Mushroom Fields
-100 HU Mushroom Fields Shore
-100 HU Wooded Hills
-200 HU Giant Spruce Taiga
-200 HU Giant Spruce Taiga Hills
-200 HU Giant Tree Taiga
-200 HU Giant Tree Taiga Hills
-200 HU Taiga
-200 HU Taiga Hills
-200 HU Taiga Mountains

Cool Biomes:
-250 HU Gravelly Mountains
-250 HU Gravelly Mountains+
-250 HU Mountain Edge
-250 HU Mountains
-250 HU Stone Shore
-250 HU Wooded Mountains
-300 HU Snowy Beach
-300 HU Snowy Mountains
-300 HU Snowy Taiga
-300 HU Snowy Taiga Hills
-300 HU Snowy Taiga Mountains
-300 HU Snowy Tundra
-400 HU Cold Ocean
-500 HU Deep Ocean
-550 HU Frozen River

Cold Biomes:
-600 HU Deep Cold Ocean
-600 HU Frozen Ocean
-700 HU Ice Spikes
-800 HU Deep Frozen Ocean
Outdated Description for Version 1.0 - 1.1
Each biome has an ambient temperature which serves as a baseline for the player's temperature. The ambient temperature will attempt to drag the player's temperature down if it is above the biome's ambient temperature and pull it up if the player's temperature is lower than the biome's ambient temperature. This effect will become more drastic if the difference between the player's temperate and the biome's temperature is greater than ±200 HU. For instance, if a biome has a temperature of 400 HU and the player's temperature is -200 HU, the biome will add 10 HU to the player's temperature; but when the player's temperature reaches 200 HU, the biome will only add 5 HU. The following section will list all biomes and their pre-defined ambient temperatures:



As of Dynamic Temperature in Minecraft Version 2.0 air temperature has been implemented as a modifier for a biome's temperature. During the day, the air temperature of each biome is programmed to increase while the opposite is true for at night (exact values can be found in the spoiler below). Another feature of air temperature is that unlike biome temperature, the temperature of the air will not affect a player that is underwater or swimming in lava. If you would like to know how Minecraft represents time, you can either go to the Minecraft Wiki or type the command "/time query daytime" into chat to see check the current time of day in-game. Generally though, one can get by just with remembering that Time 0 is basically the start of daytime, Time 6000 is noon, Time 12000 is the start of the night, and Time 18000 is midnight.

Air Temperature Modifiers
Time of Day:
+0 HU Time [0..2999]
+25 HU Time [3000..5999]
+50 HU Time [6000..8999]
+25 HU Time [9000..11999]

-0 HU Time [12000..14999]
-25 HU Time [15000..17999]
-50 HU Time [18000..20999]
-25 HU Time [21000..23999]

NOTE: Time of Day does NOT affect players below y-level 62


As of Dynamic Temperature in Minecraft Version 2.0 ambient temperature has taken over the role of biome temperature as a way to integrate the new air temperature mechanic. The ambient temperature will attempt to drag the player's temperature down if it is above the ambient temperature and pull it up if the player's temperature is lower than the ambient temperature. This effect will become more drastic if the difference between the player's temperate and the ambient temperature is greater than ±200 HU. For instance, if the ambient temperature is 400 HU and the player's temperature is -200 HU, the player will have 10 HU added to their temperature; but when the player's temperature reaches 200 HU, the biome will only add 5 HU. As such, the effect of ambient temperature on the player will disappear if the ambient temperature and the player's temperature is the same.


As opposed to ambient temperature, blocks and fluids require close proximity to the player to have an effect. As a general rule, if a block is solid (e.g. magma blocks and lit furnaces), then it will only affect players immediately next to it. However, if the player can occupy the same space as the block (e.g. torches, and snow layers) then the player must occupy the space of the block. The one exception to this rule is fire. If the player is standing in fire, they will gain heat faster than if they stand adjacent to it, however, the player is not required to occupy the same space to get an effect.

Block/Fluid Temperatures
Warm Blocks/Fluids:
+10 HU Lava
+8 HU Fire [If in Fire]
+7 HU Magma Block
+5 HU Fire [If Adjacent to Fire]
+5 HU Lit Furnace
+3 HU Torch

Cold Blocks/Fluids:
-10 HU Water [In Cool/Cold Biomes]
-8 HU Water [In Temperate Biomes]
-6 HU Water [In Warm/Hot Biomes]
-9 HU Blue Ice
-7 HU Packed Ice
-3 HU Ice
-2 HU Snow Block
-2 HU Snow Layer



Installing a datapack is very similar to downloading a Minecraft world. The only difference is that instead of pasting the datapack into Minecraft's 'save' folder you have to place the extracted datapack into the save's 'datapack' folder. For a more detailed walkthrough, please reference the spoiler below:

Installing a Datapack

Step One:
Download the datapack extract the zip file.


Step Two:
Navigate to the game file you wish to install the datapack into and select "Edit"




Step Three:
Select "Open World Folder"




Step Four:
Open your "datapacks" folder.




Step Five:
Paste the extracted file into your datapacks folder.

You are now done and your datapack should now be installed!
If you did this process while the world was open, don't forget '/reload' to restart the datapack.


Change Temperature Based on Time of Day:
- Have ambient biome temperatures increase in the morning and decrease at night
- Increase heating effect during the day for deserts and other hot biomes (e.g. mesa and savannah)
- Increase cooling effect at night for deserts and cool biomes

Change Temperature Based on Weather:
- Increase temperature in Jungle when raining
- Decrease temperature in warm biomes slightly when raining
- Decrease temperature in hot biomes significantly when raining
- Decrease temperature in cool biomes slightly when raining
- Decrease temperature in cool biomes significantly when raining
- Decrease temperature in cold biomes drastically when snowing

Change Temperature Based on Player Y-Level:
- Decrease temperature as altitude increases from sea-level
- Increase temperature as altitude decreases from sea-level

Change Temperature Based on Player Movement:
- Increase temperature if the player is running
- Decrease temperature if the player is flying (using elytra) or falling

Changes From Suggestions:
- Comment below if you have any thoughts on what else should be added


CreditTheRedEngineer - Biome Detection
Progress100% complete
Tags

1 Update Logs

Air Temperature Update : 01/17/2019 2:53:06 pmJan 17th

Dynamic Temperature in Minecraft Version 2.0
- Added Air Temperature Mechanic
  - Air Temperature fluctuates according to the time of day
  - Air Temperature does not affect players below y-level 62 or players swimming in water or lava
- Added Ambient Temperature to merge Biome Temperature with Air Temperature

Comments : 0

star Login or register to post a comment.

Search

Browse

Site

© 2010 - 2019
planetminecraft.com

Welcome