Mods / Room Climates [Beta]

Tags:
Immersion Survival Gameplay
Author:
Cer0
Side:
Both
Created:
Sep 16th at 2:45 PM
Last modified:
2 days ago
Downloads:
1598
Recommended download (for Vintage Story 1.22.0 - 1.22.7):
roomclimates_0.2.3.zip  1-click install

Room temperature now can and will change.

Light your fireplace in the evening of a cold winter day. Open up some windows in the morning of a hot summer day to bring some cold air in. Build underground to have more stable and lenient temperatures in your rooms and cellars or heat your greenhouse to get some berries in the cold months.

 

 How does it work?

A room's temperature and how fast it changes is determined by mulitple factors.

 

These factors change a room's temperature:

Adjacent tooms Rooms that are separated by a single block wall are considered adjacent. A warm room will heat adjacent rooms to a certain degree and vice versa. 
Outside temperature The temperature outside now stays outside.
Ground temperature It can be a smart decision to build slighty or fully underground. The ground's temperature resembles the yearly average temperature of the region and is usually more lenient and varies much less than the outside temperature.
Heatsources Light a fire to heat your room, simple as that. More fires result in more heat. Firepits give the most heat.
Chillsources Place ice blocks inside a room or add them to any container inside a room to cool it down. 1 Stack of ice inside any container will have the same impact as 1 placed block of ice.

 

These factors change how fast a room changes its temperature:

Open doors or windows Opening a door or window can help cool your room to outside temperature. 
Room size Changing the temperature of a large room can take quite a while. 
Wall materials The same wall materials that cool a cellar can now keep an entire house cool or warm. When heating, a room made of wood will heat up faster but a room made of stone will stay warm longer.

 

Only rooms a player has walked into or been in within the last 10 days will be recognized as rooms with temperature.

 Configuration

"ComfyTemperature": The temperature rooms go to when ComfyLivingRooms is enabled.

"ComfyLivingRooms": Rooms change temperature faster when going to ComfyTemperature.

"AffectContainerPerishRate": Determines if food spoilage in containers inside should be affected by room                                                   temperature.

"AffectBodyTemperature": Determines if room temperature affects body temperature.

"AffectPlants": Determines if room temperature can affect plants.

 Compatibility

Full

  • Immersive Body Temperature: Set RoomsAreSafe and IgnoreClothingInRooms to false in IBT config
  • Window Display & Window Storage; Set RoomSafeOpening to true in Window Display config
  • Kevin's Funiture

 

Partial

  • Shadehouses: The mods transpile the same code and will fight. Set AffectPlants to false in Room Climates config
  • Electrical Progressive QOL: The mods transpile the same code and will fight. Set AffectPlants to false in Room Climates config

 

Recommended

  • If you're using Real Smoke I recommend also using Chiseled Block Retention. Many fires will result in a lot of smoke and you'll want your rooms to be insulated.

 Why is this beta?

Each function of this mod was tested in single player and creative. On top of that it was tested on a 3 person server for 1.5 ingame years. 

Still, problems can be missed, balancing is up to debate and there's probably edge cases I haven't thought of. 

 

That's why I have decided to make this public for use as beta, so this mod can be polished and shaped according to your feedback. 

 Uninstall or Update

It is not strictly needed, but if you intent to cleanly uninstall or update this mod I recommend running the following command: /roomtemp listclear

This command will clear all temperature data for rooms.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
0.2.3 roomclimates
1.22.0 - 1.22.7
284 2 days ago roomclimates_0.2.3.zip 1-click install

- Fixed wrong room sometimes being used to display temperature on thermometer or perish rates.

0.2.2 roomclimates
1.22.0 - 1.22.7
626 Sep 24th at 2:05 PM roomclimates_0.2.2.zip 1-click install

- Fixed crash when client is not fully initialized when receiving room data from server

0.2.1 roomclimates
1.22.0 - 1.22.7
43 Sep 24th at 10:31 AM roomclimates_0.2.1.zip 1-click install

- Fixed crashes when changing rooms or placing heat/chillsources.
- Fixed crash when looting animals.
- Fixed Thermometer not displaying room temperature.
- Fixed containers displaying incorrect perish rate.

0.2.0 roomclimates
1.22.0 - 1.22.7
60 Sep 22nd at 2:20 PM Release Retracted

Retraction Reason:

An issue with this release causes CTDs.

Changelog:

Remember to backup you saves and execute the command '/roomtemp listclear' before updating!

 

- Added chillsources to cool down rooms. Simply place ice blocks or add them to a container. 1 stack of ice inside a container has the same impact as a placed ice block. You can build cellars & greenhouses using ice blocks. 
- Improved detection of rooms with temperature and heatsources.
- Balanced heatsources. Firepits are primary heatsources to heat a room.
- Changed configuration file name to be the mod name.
- Fixed static heatsources, like braziers, not being detected.
- Fixed detection of rooms with temperature not working properly.
- Fixed detection of heatsources inside rooms not working properly.
- Fixed room types not following vanilla game behavior (e.g., cellars above ground).

0.1.0 roomclimates
1.22.0 - 1.22.7
585 Sep 16th at 6:19 PM roomclimates_0.1.0.zip 1-click install

Initial beta release

Disclaimer

By downloading a mod you consent to our Terms of Use.

We tell you this specifically because we want to make sure you are aware that we cannot validate every mod, and you are responsible for any damages you might incur by installing or loading mods.

This prompt will not be shown to you again (for the current browser session) if you proceed.


65 Comments (oldest first | newest first) (threaded | flat)

einkleindatagal, 2 days ago

I'm excited to try this out! It'll make the choice of building material actually matter finally. Can we also build our walls with insulation layers, or would you add insulated blocks in the future? For example 6 planks and 3 hay in the walls to make insulated wood, or insulated stone or something?

Darmin404, 3 days ago

Hi! I removed the comfyLivingRooms option but rooms remains pretty comfy for days without any active firepit, just with a torch. I'm talking of a 9x9 (external measures) room of cobblestone with two solid oak doors.
The temperature outside is always under zero, but the room just lost two degrees in... two days? from 20°

Cer0 , 3 days ago
@Darmin404: Hi! I removed the comfyLivingRooms option but rooms remains pretty comfy for days without any active firepit, just with a torch. I'm talking of a 9x9 (external measures) room of cobblestone with two solid oak doors.The temperature outside is always under

ComfyLivingRooms is about how fast a room can heat up or cool down to a comfy room temperature. If it is disabled that same room would take an unreasonable amount of time & resources to heat up.

Darmin404, 3 days ago
@Cer0: ComfyLivingRooms is about how fast a room can heat up or cool down to a comfy room temperature. If it is disabled that same room would take an unreasonable amount of time & resources to heat up.

Uhm then the rooms have just this much energy "storage"? That rooms will be good for days still before returning cold, basically requiring just a couple of firewoods at week to pass the winter.

Cer0 , 2 days ago
@Darmin404: Uhm then the rooms have just this much energy "storage"? That rooms will be good for days still before returning cold, basically requiring just a couple of firewoods at week to pass the winter.

Large, well isolated rooms do, yes. Smaller rooms or when they're build from wood are a different story. They heat up fast, even without ComfyLivingRooms and cool down fast. They may require attention up to 2x a day. If you have vanilla settings where you freeze only below 0°C, then even less. But that is a choice.

BeanFrog, 3 days ago (modified 3 days ago)

Love this mod, but I'm having some trouble. I updated to 0.2.2 and my game no longer registered my temp gauges... just got the big white box with question mark on it. I backdated to 0.2.1 and gauges appeared, but I can only see outside temp not room temp whereas previously I could see both. I will go back to my old version for now, which works better I think, although sometimes the temp is a bit whack. For example in the winter my greenhouse was showing an outside temp of minus 10, but by lighting fires I could get the temp up to around 21 degrees.... but then randomly when the temp outside settled to around 5 degrees, the temp in the greenhouse dropped to below freezing? Lighting fires did nothing? Right now it's summer so not too worried! ETA: I resorted back to the first version as that was working the best for me... but now it doesn't? Temp gauges do not show? Instead I just get the white box?

Cer0 , 3 days ago
@BeanFrog: Love this mod, but I'm having some trouble. I updated to 0.2.2 and my game no longer registered my temp gauges... just got the big white box with question mark on it. I backdated to 0.2.1 and gauges appeared, but I can only see outside temp not room temp

Hi, that's a lot of back and forth between different versions, let me see if I can assist.

It seems like your block paths somehow broke. When you open the handbook and look for the thermometer, does it show the picture correctly?  If so, it is save to break the questionmark blocks and replace them with working themometers. I'd recommend doing that with v0.2.2, though. 

In 0.2.1 the thermometer couldn't display room temperature properly in some cases. If by your oldest or first version you mean 0.1.0: room detection & rooms keeping their temperature was issues there. 

BeanFrog, 2 days ago
@Cer0: Hi, that's a lot of back and forth between different versions, let me see if I can assist. It seems like your block paths somehow broke. When you open the handbook and look for the thermometer, does it show the picture correctly? If so, it is save to brea

Hello, I tried to find the thermometers in the handbook and they didn't seem to exist? I have since downloaded your very latest update... and so far it seems to be working! Thank you for responding so quickly! 

Nukesnipe, 3 days ago

Bug report:  After using the mod for a bit, I noticed that food spoiled SIGNFICANTLY slower in the main room of my house compared to the cellar.  Like, the vegetable spoil rate for a pot was 0.08x in the main room and 0.2x in my underground cellar like 10 meters below ground carved into solid limestone.  The temperature in both wasn't that far off, the main room is 4.3c and the cellar is 5.3c, but outside is -12c.  I'm not sure why it was making my cellar actively bad to use, but I uninstalled the mod for that.  Maybe it was having trouble recognizing the main room as an actual room and just using the outdoor temperature?

Cer0 , 3 days ago (modified 2 days ago)
@Nukesnipe: Bug report: After using the mod for a bit, I noticed that food spoiled SIGNFICANTLY slower in the main room of my house compared to the cellar. Like, the vegetable spoil rate for a pot was 0.08x in the main room and 0.2x in my underground cellar like 10 m

Hi, i am currently investigating what could've caused this. What I've found so far ist that the client sometimes picks the wrong room to display temperature or perish rates. 

Nukesnipe, 5 days ago

Question, does this play nicely with VS roofing?  Looking to install it for our server but we all have roofs made with that mod.  Not as killer, but would it recognize cut ice from food shelves as valid for chill sources?  If it doesn't, I think that'd be some nice compatability, fill a cellar with ice cabinets that also chill the whole room.

Pell, Sep 24th at 12:53 PM

hello, getting a crash after updating to 0.2.1. i removed roomclimates from my modsbyserver folder and also did the roomtemp listclear command before updating on the server

Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
   at RoomClimates.Repository.ClientRoomRepository.OnReceivedResponse(List`1 response) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Repository/ClientRoomRepository.cs:line 25
   at Vintagestory.Client.NoObf.NetworkChannel.<>c__DisplayClass12_0`1.<SetMessageHandler>b__0(Packet_CustomPacket p) in VintagestoryLib\Client\API\NetworkChannel.cs:line 74
   at Vintagestory.Client.NoObf.NetworkChannel.OnPacket(Packet_CustomPacket p) in VintagestoryLib\Client\API\NetworkChannel.cs:line 29
   at Vintagestory.Client.NoObf.NetworkAPI.HandleCustomPacket(Packet_Server packet) in VintagestoryLib\Client\API\NetworkAPI.cs:line 152
   at Vintagestory.Client.NoObf.NetworkAPI.HandleChannelsPacket(Packet_Server packet) in VintagestoryLib\Client\API\NetworkAPI.cs:line 132
   at Vintagestory.Client.NoObf.ProcessPacketTask.ProcessPacket(Packet_Server packet) in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 18
   at Vintagestory.Client.NoObf.ProcessPacketTask.Run() in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 12
   at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks_Patch1(ClientMain this, Single deltaTime)
   at Vintagestory.Client.GuiScreenConnectingToServer.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenConnectingToServer.cs:line 298
   at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783
   at Vintagestory.Client.ScreenManager.OnNewFrame_Patch1(ScreenManager this, Single dt)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
   at RoomClimates.Repository.ClientRoomRepository.OnReceivedResponse(List`1 response) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Repository/ClientRoomRepository.cs:line 25
   at Vintagestory.Client.NoObf.NetworkChannel.<>c__DisplayClass12_0`1.<SetMessageHandler>b__0(Packet_CustomPacket p) in VintagestoryLib\Client\API\NetworkChannel.cs:line 74
   at Vintagestory.Client.NoObf.NetworkChannel.OnPacket(Packet_CustomPacket p) in VintagestoryLib\Client\API\NetworkChannel.cs:line 29
   at Vintagestory.Client.NoObf.NetworkAPI.HandleCustomPacket(Packet_Server packet) in VintagestoryLib\Client\API\NetworkAPI.cs:line 152
   at Vintagestory.Client.NoObf.NetworkAPI.HandleChannelsPacket(Packet_Server packet) in VintagestoryLib\Client\API\NetworkAPI.cs:line 132
   at Vintagestory.Client.NoObf.ProcessPacketTask.ProcessPacket(Packet_Server packet) in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 18
   at Vintagestory.Client.NoObf.ProcessPacketTask.Run() in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 12
   at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks_Patch1(ClientMain this, Single deltaTime)
   at Vintagestory.Client.GuiScreenConnectingToServer.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenConnectingToServer.cs:line 298
   at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783
   at Vintagestory.Client.ScreenManager.OnNewFrame_Patch1(ScreenManager this, Single dt)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Cer0 , Sep 24th at 2:10 PM
@Pell: hello, getting a crash after updating to 0.2.1. i removed roomclimates from my modsbyserver folder and also did the roomtemp listclear command before updating on the server Crash Report System.NullReferenceException: Object reference not set to an instanc

Hi, thanks for the detailed report. v0.2.2 fixes this.

That one was was weird to reproduce because I had to connect tot he server for about 15x before it happened to me.

Cer0 , Sep 28th at 12:44 PM
@B0YAR: Problems still here, one moment 100000 errors from this mod.

Could you please provide the logs?

Cer0 , Sep 22nd at 7:11 PM

Khaasarax CarameltheMoo Joblerone B0YAR

Hello everyone, thanks for the detailed reports of the crashes. I wanted to let you know that i am investigating the reason and working on a fix.

I'll be retracting v0.2.0 to not waste more playtime than it already has.

Thanks for the kind words and your patience <3

Khaasarax, Sep 22nd at 6:24 PM

Yes, a problem occurred when attempting to place an item with an expiration date.

Crash Report
[Error] Exception: Index was outside the bounds of the array.
   at RoomClimates.Repository.RoomRepository.<>c__DisplayClass17_0.<IntersectsOrTouches>b__0(TemperateRoom x) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Repository/RoomRepository.cs:line 97
   at System.Linq.Enumerable.ListWhereIterator`1.ToList()
   at RoomClimates.Services.TemperatureSourceService.Remove(BlockPos blockPos) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Services/TemperatureSourceService.cs:line 60
   at Vintagestory.API.Common.ItemSlot.OnItemSlotModified(ItemStack sinkStack) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 459
   at Vintagestory.API.Common.ItemSlot.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 222
   at Vintagestory.API.Common.ItemSlot.TryPutInto(IWorldAccessor world, ItemSlot sinkSlot, Int32 quantity) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 211
   at Vintagestory.GameContent.BlockEntityGroundStorage.TryPutItem_Patch1(BlockEntityGroundStorage this, IPlayer player)
   at Vintagestory.GameContent.BlockEntityGroundStorage.putOrGetItemStacking(IPlayer byPlayer, BlockSelection bs) in VSSurvivalMod\BlockEntity\BEGroundStorage.cs:line 874
   at Vintagestory.GameContent.BlockEntityGroundStorage.OnPlayerInteractStart_Patch3(BlockEntityGroundStorage this, IPlayer player, BlockSelection bs)
   at Vintagestory.GameContent.BlockGroundStorage.CreateStorage(IWorldAccessor world, BlockSelection blockSel, IPlayer player) in VSSurvivalMod\Block\BlockGroundStorage.cs:line 308
   at Vintagestory.GameContent.CollectibleBehaviorGroundStorable.Interact_Patch1(ItemSlot itemslot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handHandling, EnumHandling& handling)
   at Vintagestory.GameContent.CollectibleBehaviorGroundStorable.OnHeldInteractStart_Patch1(CollectibleBehaviorGroundStorable this, ItemSlot itemslot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handHandling, EnumHandling& handling)
   at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStart_Patch1(CollectibleObject this, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling)
   at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart_Patch2(CollectibleObject this, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling)
   at Vintagestory.Server.ServerSystemInventory.HandleHandInteraction(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\Inventory.cs:line 450
   at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread_Patch1(ServerMain this, ReceivedClientPacket cpk)
   at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 965

Everything works with version 0.1.0.

The mod is fantastic. We have faith and are looking forward to the update. :)

CarameltheMoo, Sep 22nd at 6:12 PM

Causing crashes when trying to harvest any animals for some reason, fresh world that didn't exist before current updated version

Joblerone, Sep 22nd at 6:01 PM

I'm having a strange issue with my cellar; built before the recent patch to above-ground cellars (built before 0.2.0), attempting to take, add, or reorganize anything inside containers in my cellar causes a CTD, and accessing them via a proxy (using the iron storage hubs from Temporal Storage, not its proxy hub feature) gives me a null/ghost item that fails to exist in my hands (dropping it causes it to vanish), though it will permit me to set it down as a ground-stored item in the case of crocks, but despite visually rendering, it is truly an empty pile, as I can't remove meals from it either. I also have Hearth & Draught installed, but I haven't built any of its structures, and disabling Ice Cellar didn't fix it. 

Crash Report: 9/22/2026 10:52:04 AM: Critical error occurred in the following mod: roomclimates@0.2.0

Involved Harmony IDs: achievements, blushlibrary.code.core, smartbarrelshiftclick, blushandblacksmith.code.stats, brainfreeze, botaniastory.enchantedsoil, botaniastory.talisman, botaniastory.rodoftheseas.inventory, TraderFix.patches, rucksack.backpackslot.limit.server, rucksack.arl.wearableattachment.bypass
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at RoomClimates.Repository.RoomRepository.<>c__DisplayClass17_0.<IntersectsOrTouches>b__0(TemperateRoom x) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Repository/RoomRepository.cs:line 97
   at System.Linq.Enumerable.ListWhereIterator`1.ToList()
   at RoomClimates.Repository.RoomRepository.IntersectsOrTouches(BlockPos pos) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Repository/RoomRepository.cs:line 96
   at RoomClimates.Services.TemperatureSourceService.Remove(BlockPos blockPos) in /var/home/player1/RiderProjects/VS_RoomTemperature/RoomClimates/RoomClimates/Services/TemperatureSourceService.cs:line 60
   at Vintagestory.API.Common.ItemSlot.OnItemSlotModified_Patch2(ItemSlot this, ItemStack sinkStack)
   at Vintagestory.API.Common.ItemSlot.TakeOutWhole() in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 178
   at Vintagestory.API.Common.ItemSlot.TakeOut(Int32 quantity) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 191
   at Vintagestory.API.Common.ItemSlot.TryPutInto_Patch5(ItemSlot this, ItemSlot sinkSlot, ItemStackMoveOperation& op)
   at Vintagestory.API.Common.ItemSlot.ActivateSlotLeftClick_Patch1(ItemSlot this, ItemSlot sourceSlot, ItemStackMoveOperation& op)
   at Vintagestory.API.Common.ItemSlot.ActivateSlot_Patch7(ItemSlot this, ItemSlot sourceSlot, ItemStackMoveOperation& op)
   at Vintagestory.API.Common.InventoryBase.ActivateSlot_Patch4(InventoryBase this, Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op)
   at Vintagestory.API.Client.GuiElementItemSlotGridBase.SlotClick(ICoreClientAPI api, Int32 slotId, EnumMouseButton mouseButton, Boolean shiftPressed, Boolean ctrlPressed, Boolean altPressed) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 999
   at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 794
   at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470
   at Vintagestory.API.Client.GuiDialog.OnMouseDown(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 566
   at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 401
   at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 2004
   at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 52
   at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 204
   at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
   at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 9/10/2026 8:18:38 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.7.0, time stamp: 0x693c0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x4c58
Faulting application start time: 0x1dd419b11913f93
Faulting application path: E:\Games\0 - GAME FILES - 0\Vintage Story 1.22\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: bdd6b352-34d1-4b27-af9a-af52b085165a
Faulting package full name: 
Faulting package-relative application ID:  }
--------------
{ TimeGenerated = 9/8/2026 1:03:58 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.7.0, time stamp: 0x693c0000
Faulting module name: ntdll.dll, version: 10.0.26100.8875, time stamp: 0xba65e4a2
Exception code: 0xc0000005
Fault offset: 0x00000000000534e4
Faulting process id: 0xf2f4
Faulting application start time: 0x1dd3f55184f94c6
Faulting application path: E:\Games\0 - GAME FILES - 0\Vintage Story 1.22\Vintagestory.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 9a948ae6-44b9-4075-b7a2-aa946e1f1e40
Faulting package full name: 
Faulting package-relative application ID:  }
--------------
{ TimeGenerated = 9/6/2026 1:23:10 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.7.0, time stamp: 0x693c0000
Faulting module name: ntdll.dll, version: 10.0.26100.8875, time stamp: 0xba65e4a2
Exception code: 0xc0000005
Fault offset: 0x00000000000534e1
Faulting process id: 0xe4a4
Faulting application start time: 0x1dd3dc45e46192f
Faulting application path: E:\Games\0 - GAME FILES - 0\Vintage Story 1.22\Vintagestory.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: b83e5342-86d8-4a83-aed0-83fdbda9d4b1
Faulting package full name: 
Faulting package-relative application ID:  }

DejFidOFF, Sep 22nd at 5:19 PM

Hello. I really like this one, but it seems like it did not workin on multiplayer server and thermometer just show outside temperature.

0w0, Sep 22nd at 5:19 PM (modified Sep 22nd at 5:21 PM)

don't know why, latest update causeing crash/ctd

Edit:  Where and when do I use /roomtemp listclear?

TheDarkPlague, Sep 22nd at 3:42 PM

‘Is it compatible with Tass's Winter?’

Cer0 , Sep 22nd at 5:05 PM
@TheDarkPlague: ‘Is it compatible with Tass's Winter?’

I haven't tested it yet, so i can't say for sure. But I suppose they could be fighting over some stuff.

Stallfighter, Sep 22nd at 3:19 PM (modified Sep 22nd at 3:19 PM)

I assume it is not compatible with TassHardcoreWinter right now? Because I'm pretty sure if I disable Immirsive Body Temperature room temp system THW would then enable its own in rooms

Cer0 , Sep 22nd at 5:04 PM
@Stallfighter: I assume it is not compatible with TassHardcoreWinter right now? Because I'm pretty sure if I disable Immirsive Body Temperature room temp system THW would then enable its own in rooms

I haven't tested with TassHardcoreWinter, yet. I suppose they would be fighting over body temp and plants in greenhouse. I'll take a look at it

Kiramomko, Sep 20th at 2:54 PM

Hi! I wanted to ask if it would be possible to add some kind of multiblock heating system, similar to a stove, that could heat an entire building.

The problem is that I’m using the Real Smoke mod, which makes heating a building with a regular fireplace practically impossible, since the whole room immediately fills with smoke.

Maybe some kind of compatibility between the two mods could be implemented, or perhaps a special fireplace mode that would prevent it from releasing smoke inside the building when used together with Real Smoke?

Thank you in advance!

Cer0 , Sep 22nd at 4:53 PM
@Kiramomko: Hi! I wanted to ask if it would be possible to add some kind of multiblock heating system, similar to a stove, that could heat an entire building. The problem is that I’m using the Real Smoke mod, which makes heating a building with a regular fireplace pr

I actually have an idea for that but I am new to creating new blocks, so it will take a while. I have an old school masonry heater (the german Kachelofen variant) in mind. It used to be build at the center of a house, heating multiple rooms, with fire clay as the chamber center and other stones as decorative facade.

Shirelagel, Sep 18th at 11:49 PM

Do below ground  cellars not change temp?
I built 3 partially subterrainian cellars (all natural limestone)

For reference I'm it's November and I'm south enough to encounter occational patches of redwoods.

They have all been sittting at 10.3°-10.4° for two weeks despite the air temp being between -5° at night and +1.9° during the day

I even added 4 windows from Kevin's furniture to one, and left those and the door open for 2 days, and it didn't change even 0.1°

Oddly, these cellars have better spoil reduction than my above ground cobblestone cellar, despite that cellar being much colder. All of which confuses me about how cellars work

Are there any plans to make things that chill the rooms?

Cer0 , Sep 19th at 11:17 AM
@Shirelagel: Do below ground cellars not change temp?I built 3 partially subterrainian cellars (all natural limestone) For reference I'm it's November and I'm south enough to encounter occational patches of redwoods.They have all been sittting at 10.3°-10.4° for two w

Underground rooms keep close to the ground temperature (average temperature of a region), which barely changes throughout the year. 

This mod does handle above-ground cellars as normal rooms, which can result in higher spoilage rate. Admittedly, now that you pointed it out, it's confusing. I might change that back to normal cellar behavior.

I have planned on cooling rooms with ice or devices, yes.

Lightpowder, Sep 17th at 7:33 PM

Thermometers should tell you room temperature unless they're outside tbh.

Cer0 , Sep 18th at 8:58 AM
@Lightpowder: Thermometers should tell you room temperature unless they're outside tbh.

True, I just found in my playthrough that it was very practical to see both temperatures when inside.

Lightpowder, Sep 18th at 9:39 AM
@Cer0: True, I just found in my playthrough that it was very practical to see both temperatures when inside.

We've also noticed a few things. Clothing doesn't seem to work inside, decorative forges don't seem to heat up the room at all and room temp jumps randomly to vanilla values sometimes.

Cer0 , Sep 18th at 10:18 AM
@Lightpowder: We've also noticed a few things. Clothing doesn't seem to work inside, decorative forges don't seem to heat up the room at all and room temp jumps randomly to vanilla values sometimes.

That's interesting. I was made aware that there is a problem with recognizing some heatsources and I am working on it.

I have a few questions about your problems, answering them would help me narrow down and fix the problem more quickly: Do you see the jump in room temp on the thermometer? If yes, could something be happening that no longer lets the room register as room? Like placing new wall blocks/changing the shape of the room or opening a window from Window Display with  "RoomSafeOpening" set to false.

Is there a chance that you have Immersive body Temperature installed? Because it features a config to ignore temperature from clothes when inside rooms.

Lightpowder, Sep 18th at 5:06 PM (modified Sep 18th at 5:07 PM)
@Cer0: That's interesting. I was made aware that there is a problem with recognizing some heatsources and I am working on it. I have a few questions about your problems, answering them would help me narrow down and fix the problem more quickly: Do you see the ju

We do have Immersive bodytemp and I can't really answer your thermometer question cuz for some reason it only says outside temperature for our server. That's why I made the initial comment.

Lightpowder, Sep 18th at 6:29 PM
@Cer0: That's interesting. I was made aware that there is a problem with recognizing some heatsources and I am working on it. I have a few questions about your problems, answering them would help me narrow down and fix the problem more quickly: Do you see the ju

Oh and another thing. There seems to be something funky going on with ovens from Stone Bake Oven mod. Our kitchen with windows and doors closed gets to 60 degrees and with open sits at like 30+ with outside temp being -12-15.

Cer0 , Sep 18th at 8:55 PM
@Lightpowder: Oh and another thing. There seems to be something funky going on with ovens from Stone Bake Oven mod. Our kitchen with windows and doors closed gets to 60 degrees and with open sits at like 30+ with outside temp being -12-15.

If the thermometer only displays outside temperature it's likely that this mod, or even the game, does not recognize the room as a room. Could you run "/debug rooms hi" to check? Does the room have a unique shape, like a thin L or U shape?

I'll check out Stone Bake Oven. I think there's a possiblity that each section counts as heatsource which would result in crazy room temp...

When windows are open and a heatsource is burning simultaneously the room will try to settle on a temperature between outside and heatsource temp. So opening multiple windows when cooking can help prevent a room from getting too hot. The more open windows/doors the more it leans towards outside temp and vice versa.

Lightpowder, Sep 18th at 10:06 PM
@Cer0: If the thermometer only displays outside temperature it's likely that this mod, or even the game, does not recognize the room as a room. Could you run "/debug rooms hi" to check? Does the room have a unique shape, like a thin L or U shape? I'll check out

We've got Status Hud and it tells us that all our rooms (and a greenhouse) is properly recognized as what it's supposed to be. This is also reinforced by the fact that the temp prior to installing this mod was always comfy and clothing did nothing. The shape is also fine, the usual rectangle.

ZenDuchess, Sep 17th at 5:40 PM

gonna keep an eye on this for now :3c

taco2120, Sep 17th at 1:49 PM

Does it heat up more if there are multiple fires in a room?

Pentasis, Sep 17th at 10:01 AM

How "accurate" does it emulate entropy?
I.e. after heating a room, does it cool down again? And what base temperature does it cool down to (outside temp?)*. Can a room become hotter than outside in summertime (eitehr by sun through glass or difference in airtemp)?

*) I did write a mod in the past and remember (but I might be mistaken) in code that wind affects bodytemp and that this chill factor was not removed from a room?

Cer0 , Sep 17th at 10:44 AM
@Pentasis: How "accurate" does it emulate entropy?I.e. after heating a room, does it cool down again? And what base temperature does it cool down to (outside temp?)*. Can a room become hotter than outside in summertime (eitehr by sun through glass or difference in a

Somewhat accurate. A room will always try to even its temperature to its surrounding temperature (+5 if its a greenhouse). Rooms will heat up if a fire is lit inside and their temperature then may be higher than outside temperature. They will cool down after a while, though, depending on wall materials and size. A room's temperature, if left alone, will slightly follow the outside temperature over the day and night, but never be quite as extreme. 

But there is a 'recover' config to quickly heat rooms or cool them down by opening a window when temperature outside is low. This results in living rooms going towards 22°C easier (or whatever is configured). So that's more gamified.

 

The character is not affected by wind when inside a room. Maybe they fixed that?

Loginvvvvv, Sep 17th at 4:55 AM

God this is so funny but I love it. Unnecessary realism is always amazing. Bro my project zomboid modlist would make anyone who wants to have fun cry LOL! 

Can't wait for this to make my life a living hell lol

Pell, Sep 16th at 9:05 PM

got a question, if i made a greenhouse in polar latitudes, would i be able to keep it warm enough for plants to grow? for reference, it can get as cold as -60C in those regions

Cer0 , Sep 17th at 11:00 AM (modified Sep 17th at 11:00 AM)
@Pell: got a question, if i made a greenhouse in polar latitudes, would i be able to keep it warm enough for plants to grow? for reference, it can get as cold as -60C in those regions

Technically you can, yes. But at -60°C it's likely arctic winter (I think?) and it would cost a lot of firewood and plants would likely grow real slow because there is no sunlight. So technically, yes you can do that but I would recommend waiting until sunnier months to heat the greenhouse to grow plants in those regions.

Pell, Sep 17th at 4:11 PM
@Cer0: Technically you can, yes. But at -60°C it's likely arctic winter (I think?) and it would cost a lot of firewood and plants would likely grow real slow because there is no sunlight. So technically, yes you can do that but I would recommend waiting until su

thanks! that's the answer i was looking for. would it be relatively simple to add a patch that recognises some stuff from other mods as a heat source? i have a very specific goal in mind

Pell, Sep 18th at 3:39 PM
@Cer0: Oh what did you have in mind?

i'm putting together a custom modded playthrough about surviving in the snowball earth scenario, heavily inspired by Frostpunk game series. heated greenhouses allowing crops to be grown in extreme temperatures is a must! to fit into the frostpunk vibe i planned to use the Pipes and Power Expanded mod. it features massive boilers and steam engines, and simulated pipe network that has steam or liquids flow through it. all that sounds very complex, however the only compatibility i am looking for are for pipes with steam in them to count as a heat source!

TheDarkPlague, Sep 16th at 7:53 PM (modified Sep 16th at 7:53 PM)

That looks cool!

 

Just to know, was the mod created using AI?

Cer0 , Sep 16th at 8:07 PM
@TheDarkPlague: That looks cool! Just to know, was the mod created using AI?

95% no. I love coding and I am bored to death by vibe coding. For 5% I needed some help with the Harmony Transpilers and asked AI for explanation.

Cer0 , Sep 16th at 7:52 PM
@Shizukesa: Is this compatible with Windows Display? Windows Display

Yes, this mod was made with opening windows from Window Display, Window Storage and Kevin's Furniture in mind.

GodfreyLettuce, Sep 16th at 6:51 PM (modified Sep 16th at 6:53 PM)

Is there compatibility with better insulation, and Brazier?  Braziers - Vintage Story Mod DBBetter insulation - Vintage Story Mod DB

Cer0 , Sep 16th at 7:51 PM
@GodfreyLettuce: Is there compatibility with better insulation, and Brazier? Braziers - Vintage Story Mod DBBetter insulation - Vintage Story Mod DB

I just gave it a quick test.

Better Insulation is compatible out of the box because this mod doesn't change how the game detects rooms. 

Braziers is at least not incompatible but won't heat rooms. And if they did, the rooms would heat up a ridiculous amount because braziers won't stop burning.