SANDBOX — this is a test environment. No servers are actually deployed and no real payments are charged.
Back to NxLabs

NxLabs / Vintage Story

Geothermal Natural Underground

YBy YourCreator

Change underground temperature like IRL

Description

<p>Fixed version of BotenRedWolfs geothermal insanity.<br><br><br></p> <p>Geothermal Natural Underground is a code mod that changes the underground temperature to make it possible to live and farm in caves and mines in cold worlds.</p> <h4>In a nutshell</h4> <p>Underground, the earth cuts you off from daily and seasonal cold/heat; the climate stabilizes and warms slightly with depth-customizable from "almost like in reality" to "allowing farming under the ice."</p> <h4>Problem it solves</h4> <p>The surface can be freezing cold in winter, but the vanilla game barely warms up the depths. The old Geothermal Insanity mod created unrealistic heat beneath the mountains. This fork calculates the climate based on the thickness of the rocks above, not the mountain's height or sea level.</p> <p>How it works:</p> <p>The game asks for the climate at the location (player, crops, HUD). The mod intercepts this and only if you are underground:</p> <p>Burial depth – how much lower you are:</p> <ul> <li>terrain surfaces in this column (X, Z);</li> <li>cave "roof" (rain map – impenetrable vault).<br><br>The smaller of the two is taken → the pit and the actual cave are taken into account, but the "mountain column" above you at the same Y is not.<br><br></li> </ul> <p>Isolation from current weather: the deeper you go under cover, the weaker the impact of nighttime frost and daytime heat from the surface. The target temperature is based on the annual average for the column (WorldGenTemperature), plus a slight warming with depth.</p> <p>Mixing: at the entrance to the mine, the street can still be felt; deeper down, a stable "basement" climate.</p> <p>Exceptions: no bonus in water; under open overhangs near the cliff, the effect is weakened.</p> <p>&nbsp;</p> <p><strong>What the mod doesn't do</strong></p> <ul> <li>Doesn't change the weather on the surface.</li> <li>Doesn't replace campfires, heaters, or greenhouses.</li> <li>Required on the client—otherwise, the temperature on the HUD and for the player may differ from the server's.</li> </ul> <p>&nbsp;</p> <h4>Two presets</h4> <div class="ui-scroll-area" data-scroll-padding="4" data-visibility="hover" data-direction="horizontal"> <div class="ui-scroll-areaviewport"> <div class="ui-scroll-areacontent"> <table style="border-collapse: collapse; background-color: #2fcc71; border-color: #34495e; border-style: dashed;"> <thead class="bg-muted/80" data-streamdown="table-header"> <tr class="border-border border-b" data-streamdown="table-row"> <th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" style="width: 87px;" data-streamdown="table-header-cell">name</th> <th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" style="width: 1013px;" data-streamdown="table-header-cell">thing</th> </tr> </thead> <tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"> <tr class="border-border border-b" data-streamdown="table-row"> <td style="width: 87px;"> <div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">realistic</span></div> </td> <td style="width: 1013px;"> <div class="md-table-cell-content">Weak geothermal gradient (~as in nature), strong insulation, no artificial temperature "floors"</div> </td> </tr> <tr class="border-border border-b" data-streamdown="table-row"> <td style="width: 87px;"> <div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">survival</span></div> </td> <td style="width: 1013px;"> <div class="md-table-cell-content">Increased warmth with depth, bonus below sea level, minimums of 2 / 6 / 10 °C at 8 / 16 / 24 blocks deep - more suitable for ice servers (Frostpunk)</div> </td> </tr> </tbody> </table> </div> </div> </div> <p>&nbsp;</p> <div class="spoiler"> <div class="spoiler-toggle">Realistic</div> <div class="spoiler-text"> <div> <div>{</div> <div>&nbsp; "Preset": "realistic",</div> <div>&nbsp; "MinBurialBlocks": 4,</div> <div>&nbsp; "FullEffectBurialBlocks": 20,</div> <div>&nbsp; "GeoBonusPerBlock": 0.025,</div> <div>&nbsp; "MaxGeothermalBonus": 4,</div> <div>&nbsp; "SeaLevelBonusPer100Blocks": 1.5,</div> <div>&nbsp; "MinBurialForSeaLevelBonus": 8,</div> <div>&nbsp; "OverhangExposureMultiplier": 0.25,</div> <div>&nbsp; "OpenSideRainTolerance": 2,</div> <div>&nbsp; "EnableTemperatureFloors": false,</div> <div>&nbsp; "FloorTemperatureShallow": 0,</div> <div>&nbsp; "FloorBurialShallow": 8,</div> <div>&nbsp; "FloorTemperatureMedium": 0,</div> <div>&nbsp; "FloorBurialMedium": 16,</div> <div>&nbsp; "FloorTemperatureDeep": 0,</div> <div>&nbsp; "FloorBurialDeep": 24</div> <div>}</div> </div> </div> </div> <div class="spoiler"> <div class="spoiler-toggle">Survival</div> <div class="spoiler-text"> <div> <div>{</div> <div>&nbsp; "Preset": "survival",</div> <div>&nbsp; "MinBurialBlocks": 3,</div> <div>&nbsp; "FullEffectBurialBlocks": 18,</div> <div>&nbsp; "GeoBonusPerBlock": 0.1,</div> <div>&nbsp; "MaxGeothermalBonus": 12,</div> <div>&nbsp; "SeaLevelBonusPer100Blocks": 5,</div> <div>&nbsp; "MinBurialForSeaLevelBonus": 5,</div> <div>&nbsp; "OverhangExposureMultiplier": 0.35,</div> <div>&nbsp; "OpenSideRainTolerance": 2,</div> <div>&nbsp; "EnableTemperatureFloors": true,</div> <div>&nbsp; "FloorTemperatureShallow": 2,</div> <div>&nbsp; "FloorBurialShallow": 8,</div> <div>&nbsp; "FloorTemperatureMedium": 6,</div> <div>&nbsp; "FloorBurialMedium": 16,</div> <div>&nbsp; "FloorTemperatureDeep": 10,</div> <div>&nbsp; "FloorBurialDeep": 24</div> <div>}</div> </div> </div> </div> <p>or make "custom" preset in geothermalinsanity.json mod config directory.</p> <p>&nbsp;</p> <p>Fixes inspired by https://en.wikipedia.org/wiki/Geothermal_gradient</p>

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.