Room

From Vintage Story Wiki
Other languages:

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.

Shared Logic

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.

Door-solid-oak.png Protip:
Both the inner and outer facing sides of a door are solid. This means that the blocks the door occupies will not count towards the inner dimensions. For example, a 7 block long room with a door in the 8th block as an entrance can still form a cellar. Each block a door occupies is also its own 1x1x1 room, so a door facing the outside may be a room when it is not expected.


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

float

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.

Deadcrop.png Protip:
The greenhouse temperature increase is always applied, even when it's not advantageous. Be sure to account for your crops' heat tolerances!


Creation

The +5°C buff will appear inside a finished greenhouse.

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.

Farmland-dry-medium.png Protip:
Every block checks if it’s in a greenhouse after a maximum of 4 in-game hours, give or take a few seconds. Therefore, it might take a little time before the +5°C buff appears on the blocks inside of the structure, and not all blocks will be updated simultaneously.


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 .

Glass-plain.png Protip:
While more complicated layouts will work, the simplest way to ensure you get a skylight score of at least 50% is to make it so at least half of the blocks in your ceiling allow sunlight through. Even glass slabs will work as long as the solid sides close all gaps or holes, but be aware that placing a slab flush with its outside face will include the block the slab occupies in its dimensions. Even glacier ice allows light in, although maybe not as much as glass!


Cellar

An example of a player-made 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.

Doorkiln-tier3.png Protip:
While the door makes a very small difference in a well-insulated cellar, fire or refractory brick kiln doors are the only door type that is cooling. Solid wood or solid iron doors will not create the best possible cellar because wood and metal are not insulating materials.


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

Typical layout of a cellar filled with crocks on shelves, storage vessels, chests and 2 barrels of pickled food.

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.

Snowblock.png 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%.

Door-solid-oak.png 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.


Storagevessel-blue-fired.png Protip:
Because there is no minimum size for a cellar, burying a vessel in a cube of soil is an extremely effective way of preserving food early-game. Just dig out the top block or a side block to access it, then replace it to seal it again. Make sure the vessel is surrounded on every side by a cooling block and never build with anything transparent or you won’t get the full bonus!


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.

Shelf.png Protip:
Remember that all cheese ripening requires a perish speed of 0.5x or lower. When making blue cheese, be aware that ripening will pause if the perish rate rises above 0.5x, and being in this state for too long will cause it to rot instead.


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
Cheese-blue-4slice.png Protip:
You can ensure that your blue cheese ripening area is not a room by using /debug rooms hi and making sure it is inside a red area. Place the shelf at the end of a long corridor, or use walls to block direct sunlight.


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




Wiki Navigation
Vintage Story Guides[[::Category: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