
Vintage Story Mod DB · Vintage Story mod
String Sense
Ever thought it's weird that there's string visible in tool models, but it's not required in the recipes? Or that you can't make rope by braiding twine? Or that dried grass and thatch are visually almost identical but functionally distinct, while those distinc
Quick answer
Which String Sense release should I use?
String Sense 2.4.0 targets 1.22.0-pre.1, 1.22.0-pre.2, 1.22.0-pre.3. It must be installed on the client. Installation on the dedicated server is optional. No extra mods listed for this file.
Where it goes
Is String Sense required on the client, server, or both?
It must be installed on the client. Installation on the dedicated server is optional.
This release supports both sides, but the source does not require it on the server.
What else does String Sense 2.4.0 need?
2.4.0. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add String Sense without breaking your instance.
Built for String Sense 2.4.0. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 2.4.0. It targets 1.22.0-pre.1, 1.22.0-pre.2, 1.22.0-pre.3; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
It must be installed on the client. Installation on the dedicated server is optional.
- 04
Pick the file you checked
Use the “Get this file” button beside 2.4.0. It opens that exact file at the source.
About this project
What does String Sense add?
Ever thought it's weird that there's string visible in tool models, but it's not required in the recipes? Or that you can't make rope by braiding twine? Or that dried grass and thatch are visually almost identical but functionally distinct, while those distinctions make no logical sense? Or that rush mats made from different plants all look the same, and can't be used to decorate walls? Or that you can't weave baskets from many materials widely used in the real world? Or that you can turn flax plants into fine cloth in a matter of moments with no tools?
...No? Just me? Well, I fixed it anyway.
This mod overhauls the early stages of string technology with the aim of making it more true to life, more important in the game, more logically consistent, and more interesting.
- Working with 1.22!
- Configurable with Config lib.
- The default settings make early development slower and more challenging, while the most minimal settings just add colourful new basket and mat variants.
- See below for the long list of compatibilities with other mods. Pull requests and patches for other compatibilities are welcome.
- I consider this mod feature-complete, and I don't plan any major functional changes beyond game updates and bugs.
- Concept and json by Averixus, textures by Jim3141. No AI ever.
Overall concept
Features that require other mods are highlighted in different colours.

There are three basic types of string.
- Cord is made by simply twisting strands of raw fibrous organic matter into fairly coarse and inflexible string. Cord is easy to make from many common materials. It can be woven into colourful baskets and mats, and used as a fastening for primitive tools and equipment.
- Twine is made by carefully processing and spinning fine organic fibres into thin and flexible string. Twine is harder to make, from only specific materials which may be harder to find, and involves more processing steps. It can be turned into cloth, and used as a fastening for precise and longlasting purposes like metal tools and clothing.
- Rope is made by braiding multiple lengths of cord or twine, to make a much thicker, stronger, moderately flexible string. Rope uses a lot of material to make but doesn't require advanced processing. It can be used as a fastening for the heaviest purposes like rafts and fences.
This mod also clarifies the distinction between hay (dry grass) and straw (thatch). They are no longer interchangeable in any recipes, and they are retextured to be more visually distinct.
- Hay is soft and nutritious dried grass, harvested from long grass. It can be used for animal feed and bedding, as well as to make a primitive bed and start fires. Tie it up with cord or twine to make hay bales.
- Straw strands are tough indigestible stalks, harvested from mature grain crops and some wild plants. It can be made into cord, or used for many primitive constructions like thatch roofing and cob.
With default settings: Early in the game, natural strands will be an essential resource. You'll be dependent on cord for primitive tools and armor, as well as storage. You'll need to make rope to build crude wood structures like fences and doors. As your technology develops, you'll be able to process refined fibres into twine to make clothing and advanced tools. Metal fastenings and wood joinery will supersede string for most construction purposes, but you'll still need rope for some heavy-duty equipment. And when resources are abundant, you can decorate with colourful cord mats and baskets.
With the most minimal settings (using Config lib): Craft the new types of cord into a rainbow of colourful mats and baskets to decorate your world. Only a few vanilla recipes are changed, to make them more permissive by allowing new cord variants in place of some vanilla materials.
List of changes (default settings)
Bold = newly added items or variants.
Grass, straw, and thatch
- The thatch item is renamed to "straw strands", and retextured along with blocks and items made from it.
- The dry grass item is renamed to "hay", and the block is renamed to "hay bale", and both are retextured along with blocks and items made from them.
- Straw strands are dropped by tule, brown sedge, mature grain crops, and rarely by long grass (even when broken by hand - more likely from longer grass or when using a scythe).
- Hay is dropped by brown sedge and sometimes long grass (only when using a knife or scythe - more likely from longer grass).
- Hay can be used for animal feed, animal bedding, hay beds, and fire starting.
- Straw can be used for cord, wooden beds, armor stand, straw hat (recipe tweaked to prevent a clash with roofing), straw dummy, thatch roofing, cob, daub, and mudbricks.
Strands
- Bamboo strands are sliced from bamboo stakes with a knife in the crafting grid.
- Bark strands are produced when debarking logs.
- Flax strands are dropped from mature flax plants (more on flax below).
- Thatch is renamed to "straw strands" and retextured (see above).
- Wild vine is renamed to "vine strands" and the inventory item remodeled.
- Cattail tops are renamed to "cattail strands", and drop at a higher rate than vanilla.
- Papyrus tops are renamed to "papyrus strands", and drop at a higher rate than vanilla.
- All types of strands can be stored in piles of 32 on the ground (except for vines, because they are technically a block).
Cord
- Cord is a new and important item with eight vanilla variants: straw, reed, vine, bamboo, bark, papyrus, flax, and mixed.
- Cord is crafted in the grid using three of the relevant strand type - except for mixed cord, which is crafted 1:1 from any other cord type.
- The variants are functionally interchangeable but visually different.
Baskets and mats
- Every cord variant can be used to craft corresponding variants of hand basket, chest, basket trap, skep, and rush mat.
- The variants are functionally interchangeable but visually different.
- Mats can be placed on any block surface, not just on the ground.
Flax
- Mature flax plants drop flax strands, which can be crafted into cord like other strands (see above).
- Flax strands can alternatively be retted to produce flax fibers:
- Dew retting: The strands will cure into fibers after 30 days with no further action.
- Wet retting: Soak the strands in a barrel of water for 5 days to produce fibers quicker.
- Flax fibers are remodeled to look more like a bundle of roving (loose fluff) and less like finished string.
- Flax fibers can be crafted into twine and then cloth as in vanilla (but see recommended mods below).
- Flax fibers can be stored in piles of 32 on the ground.
Rope
- Rope can be crafted in the grid from 6 of any cord or twine (but see recommended mods below).
Existing recipes which now require cord
- Hunter backpack (instead of papyrus or cattails).
- Beenade (instead of papyrus or cattails).
- Crude bow (instead of rope).
- Improvised wood armor (instead of dry grass and rope).
- Jerkin armor.
- Wood lamellar armor (instead of resin).
- Necklaces and amulets (instead of rope).
- Crude shield (instead of papyrus, cattails, or bamboo).
- Fishing pole (instead of rope).
Existing recipes which now require cord or twine
- Stone and copper tools: axe, falx, hammer, hoe, knife, pickaxe, prospecting pick, saw, scythe, shovel, and spear.
- Hay bale.
- Tongs (instead of rope).
Existing recipes which now require twine
- Non-copper metal tools: axe, falx, hammer, hoe, knife, pickaxe, prospecting pick, saw, scythe, shovel, and spear.
Existing recipes which now require rope
- Wood bucket (twine is not accepted).
- Crude door.
- Rough-hewn fence and gate.
- Bamboo fence and gate.
Configuration using Config lib
This is a content mod, which means using Config lib is the only way to configure it. If you want to change any of the settings from default, you must install Config lib and its dependencies, then load a world at least once. You'll then be able to change the config settings either using the in-game gui from the "Mods settings" item in the pause menu, or by editing the stringsense.yaml file in your ModConfig folder.
FLAX_PROCESSING
Default: true
Controls whether flax strands need a slow retting process (either 30 days curing or 5 days soaking) to turn into fibers. If false, strands can be crafted straight into fibers 1:1 in the grid. (This setting has no effect if Age of Flax is installed.)
TOOL_RECIPES
Default: true
Controls whether tool and weapon grid recipes are changed to require string (cord or twine, depending on the tier). If false, vanilla recipes are unchanged.
EQUIPMENT_RECIPES
Default: true
Controls whether non-tool recipes like armor and wood construction are changed to require string (cord, rope, or twine, depending on the recipe). If false, vanilla recipes are unchanged.
HAY_STRAW
Default: true
Controls whether drops and recipes are changed to make a clearer logical distinction between hay and straw. If false, vanilla recipes and drops are unchanged, but some item names and textures are still changed.
ROPE_RECIPES
Default: true
Controls whether rope recipes are changed to require cord or twine. If false, vanilla recipes are unchanged.
STRICT_VS_ROOFING
Default: false
Controls whether VS Roofing material requirements are changed: stick and bamboo frames to require rope, and thatch to accept only straw. If false, default VS Roofing materials are required. Warning: If true, the game will crash when loading a world that contains old thatch roofing! (This setting has no effect if VS Roofing is not installed.)
SAILBOAT
Default: false
Controls whether sailboat construction is changed to require sail items, which allows compatibility with other modded cloth types. If false, linen items are required as vanilla. Defaults to false in case of other compatibility issues.
Compatibility and recommended other mods
Updated and working with 1.22
Compatible: Butchering
- Dry sinew is renamed to "dry sinew strands", and can be stored in piles of 32 on the ground, and used to craft sinew cord and corresponding baskets.
- Reed butchering bag is renamed to "cord butchering bag" and can be made using any cord variant in place of reeds or papyrus.
Compatible: Primitive Survival
- The cordage item is renamed to "limb trotline" because this is the only thing it's used for.
- Limb trotlines are crafted 2:2 from any cord variant in the crafting grid.
- All other Primitive Survival recipes accept any variant of cord in place of cordage.
- Snares drop themselves instead of their ingredients when broken.
Compatible: Wool & More
- Wool is functionally equivalent to flax for all non-clothing purposes.
- Wool fibers are remodeled to look like fluffy roving (matching flax fibers).
- Wool fibers can be stored in piles of 32 on the ground.
Compatible: Better Ruins
- Weaver small carpet recipes accept any mat variant.
- Mats in ruins default to reed.
Compatible: Tailor's Delight
- Coloured twine (thread) is functionally equivalent to flax twine for all non-clothing purposes.
Compatible: Material Needs: Geology
- New stone tool types require cord or twine to craft.
Compatible: Biodiversity: Trees
- New wood type versions of vanilla recipes require rope as applicable.
Compatible: Crude Building Elements
- Vanilla crude door no longer requires rope, to maintain a distinction from advanced crude door.
Compatible: Age of Flax (1.22 fork)
- Flax strands are disabled, and flax cord is instead made from rippled flax.
- All other String Sense changes to flax processing are disabled and overriden by Age of Flax functionality.
Compatible: Toolsmith
Note: A Toolsmith bug means that cord shows up with a missing texture when placed on the workbench. :(
- Any cord can be used as a tool binding, with the same default stats as reeds.
Compatible: Primitive Tools Updated
- New stone tools require cord instead of rope to craft.
- Grass -> rope recipe is removed.
Compatible: Meteoric Steel
- Meteoric steel tools require twine to craft.
Outdated but still working with 1.22
Compatible: Floral Zones
Warning: If you already have a world with Floral Zones installed, and then you add String Sense to it, any existing Floral Zones baskets will turn into unknown blocks/items! Either remap them from the old Floral Zones IDs to the new String Sense IDs, or start a new world.
- (Caribbean, Cosmopolitan, East Asiatic, Neozeylandic) All palm fronds are renamed to "_ palm strands", can be stored in piles of 32 on the ground, and can be used to craft palm cord and corresponding baskets.
- (Cosmopolitan) Coconut husk is renamed to "coconut husk strands" and remodeled, can be stored in piles of 32 on the ground, and can be used to craft coconut husk cord and corresponding baskets.
- (Cosmopolitan) Saltmarsh bulrush is renamed to "bulrush strands", can be stored in piles of 32 on the ground, and can be used to craft reed cord.
- (Central Australian) Porcupine grass bundle is renamed to "porcupine grass strands", can be stored in piles of 32 on the ground, and can be used to craft porcupine grass cord and corresponding baskets.
- (Neozeylandic) New Zealand flax bundle is renamed to "New Zealand flax strands", can be stored in piles of 32 on the ground, and can be used to craft New Zealand flax cord and corresponding baskets. They can also be crafted into flax strands, instead of flax fibers.
- (Caribbean) Cotton fibers are remodeled to look like fluffy roving (matching flax fibers), and can be stored in piles of 32 on the ground.
- (Mediterranean) Spanish broom drops flax strands instead of flax fibers.
Not tested or not updated to 1.22 - worked with 1.21
Compatible: Wildcraft: Trees and Shrubs
Warning: If you already have a world with Wildcraft installed, and then you add String Sense to it, any existing Wildcraft baskets will turn into unknown blocks/items! Either remap them from the old Wildcraft IDs to the new String Sense IDs, or start a new world.
- All variants of "_ canes" are renamed to "_ strands", and can be used to craft fourteen variants of cord and baskets: alder, aspen, bearnut, birch, bride-in-white, eucalyptus, honey locust, kapok, larch, poplar, red willow, sapele, arborvitae, and willow.
- Foraging basket can be made using any cord variant in place of canes and reeds or papyrus.
Compatible: Crupette's Agricultural Expansion
- Threshing flax sheafs produces flax strands.
- Threshing other grain sheafs produces straw strands.
Compatible: A Culinary Artillery
- Debarking oak logs produces ACA oak bark, other logs produce bark strands.
- Bark cord can be made from oak bark.
Compatible: In Dappled Groves
- Bark cord can be made from any soaked bark.
Compatible: Long Term Food
- Mature corn drops straw strands.
- Packs of pemmican, nutribar, mushroompate and chips can be wrapped in any variant of mat.
Compatible: Ancient Tools
- Bark cord can be made from any bark type.
Compatible: VS Roofing
By default, there are no changes to VS Roofing material requirements. To enable strict compatibility, set the STRICT_VS_ROOFING config option to true using Config Lib. Warning: If there is already VS Roofing thatch roof in the world, and then you enable strict compatibility, the game will crash! Start a new world or remove any existing thatch roof first. With strict compatibility enabled:
- Stick and bamboo frames require rope in the offhand to build, not cattails or papyrus.
- Thatch roof can only be built using straw strands, not hay.
Compatible: Combat Overhaul
- Hide jerkins require cord instead of plant strands to craft.
Compatible: Combat Overhaul: Armory
- Wicker shields require cord instead of plant strands to craft.
Compatible: Backpacks
- Baskets and pelt sacks require cord instead of cattails to craft.
Compatible: Geology Additions
- New stone tool types require cord or twine to craft.
Also recommended
Recommended: Immersive Fibercrafts
- Recommended to balance the technological complexity of producing refined twine. Without it, twine is unrealistically easy to make.
Recommended: Knitting
- Recommended to fill a gap in the early production of cloth in Immersive Fibercrafts. Without it, cloth is unrealistically easy to make.
Recommended: Immersive Rope Crafting (not updated to 1.22 yet)
- Recommended to provide a more realistic and immersive way to braid rope.
- If you're using the new 1.22 fork, the recommended config will be generated automatically when you load it with String Sense enabled. If you're using the old version for 1.21, you must edit ImmersiveRopeConfig.json (in your game's ModConfig folder) to be able to use String Sense items for rope braiding. Recommended config:
It's important to leave in the lines with a value of 0, because if you remove them completely then the default value is loaded instead. Items with a value of 0 don't contribute any fiber to the rope, but if you try to apply them to a rope in progress the item will be subtracted from your inventory anyway - beware! (This is a limitation in the code of Immersive Rope Crafting).
{
"fiberSources": {
"game:drygrass": 0,
"game:thatch": 0,
"game:cattailtops": 0,
"game:flaxfibers": 0,
"game:wildvine-section-north": 0,
"game:flaxtwine": 6,
"stringsense:cord-reed": 6,
"stringsense:cord-straw": 6,
"stringsense:cord-bamboo": 6,
"stringsense:cord-vine": 6,
"stringsense:cord-bark": 6,
"stringsense:cord-porcupine": 6,
"stringsense:cord-coconut": 6,
"stringsense:cord-sinew": 6,
"stringsense:cord-flax": 6,
"stringsense:cord-palm": 6,
"stringsense:cord-nzflax": 6,
"stringsense:cord-papyrus": 6,
"stringsense:cord-alder": 6,
"stringsense:cord-aspen": 6,
"stringsense:cord-bearnut": 6,
"stringsense:cord-birch": 6,
"stringsense:cord-brideinwhite": 6,
"stringsense:cord-eucalyptus": 6,
"stringsense:cord-honeylocust": 6,
"stringsense:cord-kapoc": 6,
"stringsense:cord-larch": 6,
"stringsense:cord-poplar": 6,
"stringsense:cord-redwillow": 6,
"stringsense:cord-sapele": 6,
"stringsense:cord-arborvitae": 6,
"stringsense:cord-willow": 6,
"wool:twine-wool-plain": 6,
"wool:twine-wool-mordant": 6,
"wool:twine-wool-black": 6,
"wool:twine-wool-blue": 6,
"wool:twine-wool-brown": 6,
"wool:twine-wool-gray": 6,
"wool:twine-wool-green": 6,
"wool:twine-wool-orange": 6,
"wool:twine-wool-pink": 6,
"wool:twine-wool-purple": 6,
"wool:twine-wool-red": 6,
"wool:twine-wool-white": 6,
"wool:twine-wool-yellow": 6,
"wool:twine-wool-darkblue": 6,
"wool:twine-wool-darkbrown": 6,
"wool:twine-wool-darkgreen": 6,
"wool:twine-wool-darkred": 6,
"tailorsdelight:twine-mordant": 6,
"tailorsdelight:twine-black": 6,
"tailorsdelight:twine-blue": 6,
"tailorsdelight:twine-brown": 6,
"tailorsdelight:twine-gray": 6,
"tailorsdelight:twine-green": 6,
"tailorsdelight:twine-orange": 6,
"tailorsdelight:twine-pink": 6,
"tailorsdelight:twine-purple": 6,
"tailorsdelight:twine-red": 6,
"tailorsdelight:twine-white": 6,
"tailorsdelight:twine-yellow": 6,
"tailorsdelight:twine-darkblue": 6,
"tailorsdelight:twine-darkbrown": 6,
"tailorsdelight:twine-darkgreen": 6,
"tailorsdelight:twine-darkred": 6,
"tailorsdelight:twine-gold": 6,
"tailorsdelight:twine-silver": 6,
"primitivesurvival:cordage": 0,
"floralzonescentralaustralianregion:triodiascariosabundle": 0,
"floralzonescosmopolitanregion:bolboschoenusmaritimusbundle": 0,
"floralzonescosmopolitanregion:coconuthusk": 0,
"floralzoneseastasiaticregion:palmleaf-trachycarpusfortunei": 0,
"floralzonesneozeylandicregion:phormiumtenaxbundle": 0
},
"secondsPerAction": 1,
"totalSectionsPerRope": 16,
"disableVannilaRopeRecipes": true
}
- 2026-03: Ukrainian translation by Yehoria
Here to report an issue? Read this first!
Troubleshooting
First, the error might be something you can fix yourself. Try each of these steps and see whether it solves the problem.
- Make sure you're using the latest recommended version of String Sense (I might have already fixed the bug).
- Make sure you're using a compatible game version (I don't support outdated or development versions).
- Make sure any other mods you're using are also compatible with the same game version (at least the same major version - like 1.21 or 1.22)
- Make sure the problem goes away when you disable String Sense, and comes back again when you enable it (if it doesn't, it must be caused by another mod or a game bug).
Once you've ruled out those things, it's time to...
Narrow down the cause
Most issues are caused by interactions with other mods. I can't resolve compatibility problems if I don't know which mods are responsible, so I need you to find out and tell me.
- Disable all your other mods, and see if the problem still happens with only String Sense installed.
- If the problem disappears with all other mods disabled, then re-enable your mods one or a few at a time, until you find the one or combination that causes it.
Now you know the cause, you just need to...
Show me the actual problem
I need to be able to see and replicate the issue in order to fix it.
- Describe exactly what I would need to do in the game in order to see the problem happen myself. For example, craft a specific recipe, place a specific block, look up a specific item in the handbook.
- Send me all the logs (including the crash report, if applicable) from a test run of the game where the problem happened. If you don't want to copy paste them all here, you can upload the files to a github issue.
Once you've followed those steps, post a comment or github issue telling me the results of each step so that I can look into it. If you don't give me all this information, I probably can't do anything about the problem.
Project description from Vintage Story Mod DB.
Pick your setup
String Sense releases for each Vintage Story version.
Choose the version and loader you play, then open the matching release.
1.22.2
1 loader build1.22.1
1 loader build1.22.0-rc.10
1 loader build1.22.0-rc.9
1 loader build1.22.0-rc.8
1 loader build1.22.0-rc.7
1 loader build1.22.0-rc.6
1 loader build1.22.0-rc.5
1 loader build1.22.0-rc.4
1 loader build1.22.0-rc.3
1 loader build1.22.0-rc.2
1 loader buildShowing the newest 12 of 22 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
String Sense versions and loaders
2.4.0
StringSense-2.4.0.zip
28 Jun 2026
2.3.3
StringSense-2.3.3.zip
8 Jun 2026
2.3.2
StringSense-2.3.2.zip
20 May 2026
2.3.1
StringSense-2.3.1.zip
18 May 2026
2.3.0
StringSense-2.3.0.zip
18 May 2026
2.2.1
StringSense-2.2.1.zip
11 May 2026
2.2.0
StringSense-2.2.0.zip
9 May 2026
2.1.2
StringSense-2.1.2.zip
6 May 2026
2.1.1
StringSense-2.1.1.zip
28 Apr 2026
2.1.0
StringSense-2.1.0.zip
28 Apr 2026
2.0.0
StringSense-2.0.0.zip
23 Apr 2026
1.8.1
StringSense-1.8.1.zip
6 Apr 2026
Looking for an older file? The official Vintage Story Mod DB project page is in Resources.