Room
This page was last verified for Vintage Story version 1.21.2.
Rooms are a type of structure players may create for staying warm and avoiding the consequences of harsh winter, or to use as cellars or greenhouses.
An area must be fully enclosed within the interior dimension limits of 14x14x14 to be considered a room. All rooms additionally have a cooling score and a skylight score, which are used to determine cellar and greenhouse properties.
The game checks through each block in a room to determine the sunlight level of each of the blocks inside the room and the coolness level of each of the blocks making up the walls, floor, and ceiling of the room. If it determines there are no open exits it will classify it as an enclosed room. A fully enclosed space is not considered a room if it is too large. Note that while the code that handles room detection considers "unenclosed rooms" with openings, these areas are not considered rooms for gameplay purposes.
If the player is in a room, or in an open area with a skylight score of less than 50% such as a cave:
- Heat from a heat source extends farther out into the room.
- Wind no longer reduces player body temperature.
- Player body temperature will slowly adjust towards normal.
Additionally, when inside an enclosed room, the player does not incur the increased hunger rate of harsh winters.
Creation
Any fully-enclosed space with interior dimensions of 14x14x14 or smaller is considered a room if all sides of the room are made up of solid blocks with no gaps or holes.
Certain blocks have unique conditions for being counted as solid by the game. Leaded glass panes, doors that aren't crude or ruined, and solid trapdoors (not grated) count as solid blocks, regardless of the position they are in or gaps they leave open.
Slabs are counted as solid on the side that is flush with other blocks but not on any others. If the flush side faces the outside instead of the inside of the room, the inner volume of the room will include the block containing the slab. Stone path blocks, slabs, and floors are only solid on the bottom.
Chiseled blocks have more specific rules. First, at least half of the block's total volume must be present. Second, either the inner or outer face* needs to be "almost solid", with 32 or fewer voxels missing. If both of these conditions are met, both sides of the block will be solid, regardless of which face is "almost solid".
As of 1.20.11, using a wrench to rotate a chiseled block does not update its insulation, but using a chisel does.[1]
Protip:
You can use the /debug rooms hi command to check if the room you’re standing in counts as a valid room. If the area is highlighted green, the area is a room. If it is red, the area is not considered a room. See the Troubleshooting section below. Use /debug rooms unhi to remove the highlighting! |
Greenhouse
Greenhouses are structures used to extend the growing season for farming crops in climates where temperatures drop below 0°C. Farmland, fruit trees, berry bushes, and skeps inside of a greenhouse will behave as if the temperature inside is 5°C warmer than the current outside temperature. The Block info HUD for farmland and berry bushes will display the greenhouse bonus when it is in effect.
When using greenhouses with fruit trees, ensure that they will have sufficient time to vernalize during cold weather.
Protip:
The greenhouse temperature increase is always applied, even when it's not advantageous. Be sure to account for your crops' heat tolerances! |
Creation
Greenhouses require a skylight score of at least 50%, meaning it is impossible to build one completely covered underground. Greenhouse detection occurs at the room level - they are never partially functional, and farmland in relative darkness will still receive the temperature bonus. This does not prevent low sunlight levels from slowing growth speed for individual farmland blocks, or the underground farming sunlight level penalty for farmland below sea level when the underground farming world configuration setting is not enabled.
The top side of farmland does not count as a floor[2], meaning that the maximum height of 14 must include the farmland itself. This means that you must have a full floor underneath the farmland.
Skylight Score
Any blocks inside the room that have at least as much sunlight as outside the room will count toward the skylight count. The total skylight score is determined by dividing the skylight count by the total volume of blocks inside the room. Player-created light sources, such as torches and lanterns, have no impact on skylight score. Common blocks used to allow in light include glass blocks and leaded glass panes.
Cellar
Cellars are used to store any goods that will spoil at a much slower spoil rate compared to non-cellar rooms, or outdoors.
Creation
When detecting a room the game will make extra checks to see if the room is small enough to be a cellar. Normally, the maximum dimensions are 7x7x7, but it is possible to build up to 9 blocks wide in a single direction so long as the total volume of all the blocks inside the cellar is no more than 150[3].
While cellars do not need to be underground to work, since sunlight has a significant negative effect on cellar effectiveness, it may be easier to dig an underground cellar than to create an above-ground one.
Cooling Score
Any solid blocks may be used to create a cellar, but different blocks have different insulation values. Blocks in the stone, soil, ceramic, or ore classes are considered cooling[4], and will each add 1 to the cooling block total. While the top side of farmland is not solid, other sides count as 3 non-cooling blocks. An open door, i.e. any door in a position where it leaves a visible opening, counts as 3 non-cooling blocks per block the door occupies. For example, a typical 1x2 door would count as 6 non-cooling blocks, and a 2x4 door would count as 24 non-cooling blocks. If the openDoorsNotSolid worldconfig option is enabled with /worldconfigcreate bool openDoorsNotSolid true, opening a door or trapdoor will cause it to not create rooms at all, making it extremely important to remember to close the door behind you! This option also makes it so that a door can expand the dimensions of the room depending on which side of the block it's on, similar to slabs.
Using Chiseled Blocks in Cellars
For chiseled blocks, the base material is used regardless of how many voxels of that material are present in the block, if any[5]. If you want to use non-cooling blocks in your walls, add the material to a cooling block first or make sure that it does not have an insulating face so that it won't be considered a wall. See the details above. Note that the "Insulating block face" text will only appear on blocks with a cooling base material.
Food Preservation
The main purpose of cellars is for food preservation. The effect will also apply to non-food perishables such as hides. This reduced rate of spoilage stacks with container types, so placing storage vessels and sealed crocks in a cellar will drastically extend the shelf life of any food inside them.
Protip:
All spoil rates are ultimately determined by temperature. Cellars move the indoor temperature down towards 5°C. Storing perishables in a cellar is not necessary in cold weather. |
When calculating how fast food will spoil in a cellar, the game calculates a score for how "cellar-like" the room is, starting at 100%. Up to 40% can be deducted based on the skylight score (the proportion of clear roof blocks that allow direct sunlight in), and up to 50% can be deducted based on the cellar's cooling score. The cooling score is reduced for each non-cooling block present, and each container is individually affected by sunlight levels above 11[6]. Thus, the most effective cellar has a cellar score of 100% while the least effective cellar has only 10%.
Protip:
Note that doors themselves do nothing to block sunlight! The cellar's entrance should be protected from sunlight by other blocks. |
The temperature of a cellar when the outside temperature is above 5°C is obtained by subtracting 5 from the outside temperature, then multiplying by the difference between the cellar score and 100%, and finally adding 5. For example, a cellar with a score of 80% in 30°C weather will have a temperature of 10°C: 5 + ((30 - 5) * (1 - 0.8)). (This process is known as Linear interpolation.)
Finally, the temperature is put through the following formula to produce the final perish speed multiplier:
rate = max(0.1, min(2.4, 3^(temperature/19 - 1.2))-0.1)
The best possible cellar has a multiplier speed of 0.257x. The in-game display rounds to 2 decimal places, so it will be displayed as 0.26x. Since the indoor temperature is never higher than the outdoor temperature, temperatures lower than 5°C will further reduce the perish rate until reaching a floor of 0.1x at -5°C.
Cheese Ripening
- For information about making cheese, see Cheese
Ripening cheese requires a shelf with a perish speed of 0.5x or lower, indicated by the "Suitable spot for food ripening" tooltip. If the shelf is inside a room (a cellar is not required) or has a sunlight level of at least 2, the cheese will ripen into cheddar cheese. If the shelf is not in a room and has a sunlight level less than 2, the cheese will ripen into blue cheese instead. Both conditions must be met to create blue cheese; missing either one will result in cheddar instead. See the table below.
The 5°C temperature cap of a well-constructed cellar makes it suitable for ripening cheddar cheese year-round, regardless of the outside temperature, though a non-cellar room will work if the shelf is cold enough, and a non-room area will work if the shelf's sunlight level is at least 2. Because blue cheese must be ripened without being inside of a room, it can never benefit from the temperature cap of a cellar. The outside temperature must be cold enough for the shelf to have a perish speed of 0.5x or lower (13.9°C or lower). While making the ripening spot open to the air will ensure it is not inside a room, the shelf may also be placed inside a fully enclosed area that is too large to be considered a room, i.e. at least 15 blocks long in any direction.
| Sunlight level | Inside a room | Result |
|---|---|---|
| 2 or greater | Yes | Cheddar cheese |
| 2 or greater | No | Cheddar cheese |
| 1 or lower | Yes | Cheddar cheese |
| 1 or lower | No | Blue cheese |
Troubleshooting
The most common reason for a room not behaving as expected is the choice of door: crude or ruined doors, grated trapdoors, and fences or fence gates do not seal a room. Solid wood or solid iron doors and solid trapdoors can create a seal. Ensure that slab or door orientation is not extending the size of a room beyond what is expected.
Blocks less than full height, such as path blocks, should be avoided. Stair blocks have also caused problems.
Mods can sometimes interfere. TentBag-2.1.1 interfered with a room registering as sealed, even when the mod item was removed: "Picking up a structure and re-placing it in the same spot somehow destroys the ability to be a cellar in -that- spot. Move the structure to a new location? It's back to a perfect cellar."
Snow accumulated on the glass does not prevent farmland from receiving the greenhouse buff. But if it's cold enough for snow, it's too cold for significant crop growth, anyway.
History
Prior to version 1.20.0-rc.7, room detection contained an error that caused the maximum room size to be 15x15x15.
References
- ↑ Bug report
- ↑ BlockFarmland.GetRetention returns 0 for the top face only.
- ↑ https://github.com/anegostudios/vsessentialsmod/blob/247069ca97cce21e2677a5b385b69dd7c5c0044a/Systems/RoomRegistry.cs#L587
- ↑ Block.GetRetention returns 0 for non-solid faces, less than 0 for cooling blocks and more than 0 for non-cooling blocks.
- ↑ BlockMicroBlock.GetRetention only uses the first material
- ↑ https://github.com/anegostudios/vsessentialsmod/blob/516090f2f9aafe1267afb0e33d2f11541b6484d0/Inventory/InWorldContainer.cs#L154
| Farming | |
|---|---|
| Wild foods | Berries • Cactus (saguaro) fruit • Mushrooms • Cattail (and papyrus) |
| Grains | Amaranth • Cassava • Flax • Rice • Rye • Spelt • Sunflower |
| Vegetables | Cabbage • Carrot • Onion • Turnip • Parsnip • Peanut • Pumpkin • Soybean |
| Fruits | Fruit trees • Pineapple |
| Other | Fertilizer • Beekeeping • Room |
| Tools | Hoe • Scythe • Fruit press |
| See also | Animal husbandry • Cooking • Food preservation |
| Wiki Navigation | |
|---|---|
| Vintage Story | Guides • Frequently Asked Questions • Soundtrack • Versions • Controls |
| Game systems | Crafting • Knapping • Clay forming • Smithing • Cooking • Temperature • Hunger • Mining • Temporal stability • Mechanical power • Trading • Farming • Animal husbandry |
| World | World generation • Biomes • Weather • Temporal storms |
| Items | Tools • Weapons • Armor • Clothing • Bags • Materials • Food |
| Blocks | Terrain • Plants • Decorative • Lighting • Functional • Ore |
| Entities | Hostile entities • Animals • NPCs • Players |
| Miscellaneous | List of client commands • List of server commands • Creative Starter Guide • Bot System • WorldEdit • Cinematic Camera • Adjustable FPS Video Recording • ServerBlockTicking • Adding Mods • Troubleshooting Mods |