Back to mods
Carry On project artwork

Vintage Story Mod DB · Vintage Story mod

Carry On

Fork of mod made by copygirl - CarryCapacity Allows picking up and carrying blocks, especially containers along with their contents, in your hands and on your back. Please support my caffeine consumption Carry On 2.0 - Early testing pre-release Use at your

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Carry On release should I use?

Updated 10 days ago
Latest stable file 2.0.0-pre.8
Game version 1.22.0, 1.22.1, 1.22.2
Loader Built-in Vintage Story mod system

Carry On 2.0.0-pre.8 targets 1.22.0, 1.22.1, 1.22.2. It must be installed on the client. Installation on the dedicated server is optional. All 1 required mods have matching files.

Where it goes

Is Carry On required on the client, server, or both?

It must be installed on the client. Installation on the dedicated server is optional.

Client Required
Dedicated server Optional
Loader for this release Built-in Vintage Story mod system
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This release supports both sides, but the source does not require it on the server.

What else does Carry On 2.0.0-pre.8 need?

2.0.0-pre.8. Change the file and its required mods may change too.

All 1 required mods have matching files

Install CarryOnLib first. We found matching files for this game-version and loader setup.

CarryOnLib Needed by Carry On 2.0.0-pre.8
required
Matching file found Matched file: 1.0.0-pre.8

We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Carry On without breaking your instance.

Built for Carry On 2.0.0-pre.8. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 2.0.0-pre.8. It targets 1.22.0, 1.22.1, 1.22.2; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install CarryOnLib first. We found matching files for this game-version and loader setup.

  3. 03

    Put it on the correct side

    It must be installed on the client. Installation on the dedicated server is optional.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 2.0.0-pre.8. It opens that exact file at the source.

About this project

What does Carry On add?

Fork of mod made by copygirl - CarryCapacity

Allows picking up and carrying blocks, especially containers along with their contents, in your hands and on your back.

 

Coffee and Gears

Please support my caffeine consumption

Carry On 2.0 - Early testing pre-release

Use at your own risk.

CarryOn 2.0 requires CarryOnLib to run.

 

CarryOn v2.0.0-pre.5

Carried block entity

  • When a carried block is dropped and no suitable location is found to place it then a dropped block entity is spawned.
    • For the initial version of this feature the entity will appear as a small crate with random rotation.
  • Owner has a grace period where only they can pick it up, after that anyone can interact to grab it.
  • By default the entity will despawn after 30 game days
  • Refer to the CarriedBlockEntity section in CarryOnConfig.json

Pickup from claims

  • Players will no longer to be able to pickup dropped blocks from traders or other claims they don't own.
    • This was a feature of the Dropped Block Tracker which is being phased out.
    • Any block dropped on a claim, for which the player does not have permission, will drop as an entity.
  • Pickup will perform client side claim check and block optimistic pickup attempts

Hunger modifier support

  • Carrying blocks now effects hunger rates
    • Fully configurable, currently only enabled for back slot - see CarryHungerRate section CarryOnConfig.json

       Example:

"CarryHungerRate": {
"HandsEnabled": false,
"BackEnabled": true,
"MinSaturationThreshold": 150.0,
"ModifierOverrides": {
"ByBlockCode": [
{
"Key": "game:crate",
"Hands": 0.3,
"Back": 0.4
},
{
"Key": "game:log*",
"Back": 0.5
}
],
"ByBlockClass": [
{
"Key": "BlockChest",
"Back": 0.4
}
],
"SlotDefaults": {
"Hands": 0.2,
"Back": 0.3
}
}
}

 

Walk Speed modifier

The config format changed from earlier releases so it can be edited with AutoConfigLib.

"CarryWalkSpeed": {
"HandsEnabled": true,
"BackEnabled": true,
"HandsAllowSprint": false,
"BackAllowSprint": true,
"ModifierOverrides": {
"ByBlockCode": [
{
"Key": "game:crate",
"Hands": -0.4,
"Back": -0.3
},
{
"Key": "game:log*",
"Hands": -0.5,
"Back": -0.25
},
{
"Key": "game:lootvessel|sea",
"Hands": -0.6
}
],
"ByBlockClass": [
{
"Key": "BlockChest",
"Hands": -0.35,
"Back": -0.2
},
{
"Key": "BlockBarrel",
"Hands": -0.3
}
],
"SlotDefaults": {
"Hands": -0.25,
"Back": -0.15
}
}
}

 

Damage drop behavior

  • Players will no longer drop carried blocks from light fall damage or hunger pangs.
    • The amount of damage must exceed a configured threshhold before block is dropped.
    • Back slot is also affected - requires much heavier damage from a wolf or bear before dropped.
    • Configurable via DropCarriedOnDamage section in CarryOnConfig.json

Runtime configuration changes

  • Add compatability for AutoConfigLib and auto detection of config file changes
    • Many of the config settings work at runtime
    • Add command to reload the config (use when Config Watcher is disabled or not working for OS)
      /carryon-reload

Mod compatibility

  • Add compatibility for Upgradeable Storage
  • Added missing "side": "server" property to carryable patches

 

CarryOn v2.0.0-pre.4 - Cluster Carry

  • Allows players to pickup blocks along with any signs that are attached to them.
    • Can be enabled in the CarryOnConfig on the server: "CarryAttachedWallSigns": true
    • Feature is disabled by default

 

  • Players can control whether they see and/or pickup with attached signs using chat commands:
    • .carryon attachedRender [true|false]
    • .carryon attachedPickup [true|false]

 

  • BackpackSelectionMode added to CarryOnConfig 
    • This changes how CarryOn determines which backpack carry profile to use.
    • Valid values:
      • FirstFound
      • LastFound (default behaviour)
      • FirstOnly (Player Model Lib compatibility)

 

 

 

CarryOn v2.0.0-pre.3 allows walk speed overrides in the CarryOnConfig.json file.

e.g.: Add carry penalty for various reed chests when carried on back and crates in hands:
Note that the format has changed in pre.5+

    "WalkSpeedOverrides": {
    "ByBlockCode": {
      "game:stationarybasket*": { "Back": -0.1 },
      "lc:lblstationarybasket*": { "Back": -0.1 },
      "lcupdated:lblstationarybasket*": { "Back": -0.1 }
  "game:chest*|owl*": { "Back": -0.08 },   "game:chest*|golden*": { "Back": -0.10 },   "game:chest*": { "Back": -0.15 }     },
    "ByBlockClass": {
      "BlockCrate": { "Hands": -0.8 }
    },
    "SlotDefaults": {
      "Hands": -0.25,
      "Back": -0.15
    }
  }



Note:

  • Adding a positive value will speed up the player.
  • Anything after the pipe '|' in the blockCode string is for matching sub block types/variants.

Pre-Release

These may not be ready for general gameplay.

Release notes

For Vintage Story v1.20.12
----

CarryOn v1.9.0-pre.1 adds an experimental feature: CarryOn Boating

  • Compatible carried containers can be attached to the slots on rafts and sailboats.
  • Can also be detached containers and should retain all contents.
  • Exiting a raft or boat now requires the crouch to be tapped twice.
    • This is to workaround default keybindings of CarryOn and allow players to move chests around while sitting on the craft.

 

CarryOn v1.9.0-pre.2:

  • Rework of boat/raft interaction
  • Doubletap sneak to dismount now applies to Elk as well so you can move carryable blocks while riding.
    • If the sneak button is tapped twice withing 300ms then it will trigger the dismount while seated.

 

CarryOn v1.9.0-pre.3:

  • Refactor carry handler and add on screen carry related error/warning messages.
  • Add compatibility for Cartwright's Caravan
  • Add error messages to language file (English only)

For Vintage Story v1.21.0-pre
----

CarryOn v1.10.0-pre.1

  • Same features as v1.8.2 - recompiled for the pre-release
  • No boating changes


CarryOn v1.10.0-pre.2

  • Allows CarryOn to be used on boat/rafts and can pickup and putdown crates while riding an elk.
  • Dismount for raft/boat/elk has changed and requires the crouch/sneak button to be tapped twice.

 

----

Usage

To pick up a block with your hands, sneak and hold right-click. Both hands must be empty.
A circular progress bar will be visible around your cursor as you wait.
You can only pick up certain supported blocks, such as chests, barrels, vessels (including broken ones), anvils, ...

To put a block onto your back, sneak and hold right-click without aiming at a block (or hold Ctrl when aiming at a block). 
A smaller selection of blocks can be put on your back. Notably, baskets can be worn on your back without any downsides.

To put a block down, or from your back into your hands, just sneak and hold right-click again.

You can still interact with most doors and storage with your hands full but with a short delay (hold button to interact).

CarryOn interractions can be disabled in the client  by using to Toggle hotkey combination [ALT]+K. This is useful where CarryOn interactions conflict with another mod.

If you are unable to drop a carried block then use the Quickdrop hotkey [CTRL]+[ALT]+K (This is a workaround until the issue can be resolved)

Keybinds

image

The keybinds for CarryOn only appear after a world has been loaded.

The default keybinds are mapped as above with Shift carry key also being the Sneak key.

It is recommended, if you swap the Run and Sneak keys, that you do the same for the carry and swap keys.

Reload your world after changes to the keybinds to ensure they take effect (Known CarryOn bug)

New Keybind added to v1.9.4:
Toggle Double Tap Dismount: CTRL+K

Additional Information

Typically, when carrying containers, you are slowed down by some amount.
You also cannot sprint when carrying a block in your hands.

When taking any damage, you drop what you're holding in your hands.
When you die, what you're carrying on your back will drop at your death location.
If the death occurs on a land claim on which the player does not have permission and no suitable location can be found to place the block, the items will drop. Containers will spill their contents, loot vessels will smash dropping the loot and some items could break entirely (e.g. clutter has a chance of breaking)

Recommended Mods

A selection of mods regularly tested with CarryOn - in no particular order.

Having issues?

Feel free to contact me on Discord: nerdscurvy

Discord link: Vintage Story > mods > Carry On (Join the Official Vintage Story Discord server)

To help with resolving issues - send me your logs:

  • client-main.txt
  • client-debug.txt
  • server-main.txt
  • server-debug.txt

More logging information can be captured by enabling the following in the CarryOn ModConfig:

"LoggingEnabled": true

 

CarryOn Chat Commands

Commands

Anchor assignment and display

  • .carryon gui show
    • Show current CarryOn GUI anchor assignments (runtime Hands/Back anchors). If a client config exists it also shows the saved Hands/Back values.
  • .carryon gui reset
    • Reset CarryOn GUI anchors to mod defaults (runtime + save). The default anchor positions are L1 - Hands and R1 - Back. 
  • .carryon gui set <anchor> <hands|back|clear>
    • Set or clear carry slot anchors. Usage examples:
      • .carryon gui set L1 hands — attach the Hands carried-item to anchor L1.
      • .carryon gui set R2 back — attach the Back carried-item to anchor R2.
      • .carryon gui set R1 clear — clear any assignment at anchor R1.
    • Valid anchor names: L1, L2, L3, R1, R2, R3 (case-insensitive). Changes are applied at runtime and saved to the client config when present.

 

Background (anchor fill)

  • .carryon gui bg enable
    • Enable drawing the anchor background fill (runtime + save to client config).
  • .carryon gui bg disable
    • Disable anchor background fill (runtime + save).
  • .carryon gui bg color <hex>
    • Set anchor background fill color. Example: .carryon gui bg color #E4C4A6
    • Hex must be full 6-digit format; command normalizes to leading # and uppercase. Saved to client config.
  • .carryon gui bg alpha <0.0-1.0>
    • Set anchor background alpha (opacity). Example: .carryon gui bg alpha 0.5
    • Value must be between 0.0 and 1.0. Saved to client config.
  • .carryon gui bg show
    • Print current runtime settings and saved client config values for the anchor background.
  • .carryon gui bg reset
    • Reset the anchor background to mod defaults (runtime + save). (Defaults are the mod’s configured defaults — e.g., background color used by the mod.)

 

Border (anchor outline)

  • .carryon gui border enable
    • Enable anchor border outline (runtime + save).
  • .carryon gui border disable
    • Disable anchor border outline (runtime + save).
  • .carryon gui border color <hex>
    • Set anchor border color (6-digit hex format). Example: .carryon gui border color #45372D
    • Validated and saved to client config.
  • .carryon gui border alpha <0.0-1.0>
    • Set anchor border alpha. Example: .carryon gui border alpha 1.0
    • Validated and saved.
  • .carryon gui border show
    • Show runtime and saved anchor border settings.
  • .carryon gui border reset
    • Reset anchor border to mod defaults (runtime + save).

 

Icon highlight (glow around icons)

  • .carryon gui highlight enable
    • Enable icon highlight (runtime + save).
  • .carryon gui highlight disable
    • Disable icon highlight (runtime + save).
  • .carryon gui highlight color <hex>
    • Set icon highlight color (6-digit hex). Example: .carryon gui highlight color #FFFFFF
    • Validated and saved.
  • .carryon gui highlight alpha <0.0-1.0>
    • Set icon highlight alpha. Example: .carryon gui highlight alpha 0.8
    • Validated and saved.
  • .carryon gui highlight show
    • Show runtime and saved icon highlight settings.
  • .carryon gui highlight reset
    • Reset icon highlight to mod defaults (runtime + save).

 

ModConfig

All carryables can be enabled/disabled via the CarryOnConfig.json file in ModConfig:

Description

Refer to the Default CarryOnConfig.json section below.

Carryables

Options to enable blocks that can be carried. Each option represents a group of block types and can be set to true or false.

Interactables

Options to enable blocks that can be interacted with while the player is carrying a block in their hands. Each option represents a group of block types (Doors also covers Trap Doors) and can be set to true or false.

CarryOptions

Options and setting to change carry behavior:

  • AllowSprintWhileCarrying (true/false): Normally players holding a block in their hands will not be able to sprint. When true, the player will be able to sprint, though may still have a movement penalty.
  • IgnoreCarrySpeedPenalty (true/false): Each carryable block imposes a speed penalty when carried in hands, or on back*. When true, all carryables penalties are removed and the player can move at their normal speed.
  • RemoveInteractDelayWhileCarrying (true/false): When a player is carrying a block in their hands they are only able to interact with the block types enabled in the Interactables config section. The interaction requires the player to hold the button until the animated spinner completes. This option removes the delay entirely.
  • InteractSpeedMultiplier (0.01 - 20): Most CarryOn interactions have a delay and show the animated spinner. This setting can speed up or slow down the spinner. e.g. Setting it to 2.0 means players can pickup and put down blocks twice as fast. Also effects interact while carrying and swapping blocks to back.
  • BackSlotEnabled (true/false): Some blocks can be carried on the player's back. If this option is set to false the the player will not be able to move any blocks to their back.
  • AllowChestTrunksOnBack (true/false): Enabling this option will allow players to carry the trunk on their back. Does require the ChestTrunk Carriables option to be enabled so the player can carry trunks.
  • AllowLargeChestsOnBack (true/false): This option allows higher capacity chests to be carried on the players back. Option is available for mods to use. e.g. ExtraChests
  • AllowCratesOnBack (true/false): Enabling this option will allow players to carry the crates on their back.

CarryablesFilters

Black magic.

Filters to control what other blocks become carryable, interactable based their similarity and what mods and blocks to exclude.

DroppedBlockOptions

Only a single option related to dropped blocks:

  • NonGroundBlockClasses (string array): Block classes listed in this array will be treated like air when determining where to place a dropped block, such as falling to until it finds another block to land on. So beware of deep water lest ye lose yer bounty to thee murky depths.
    Note that if you remove BlockWater and drop your block whilst under water, then the dropped block may not be able to spawn resulting in the item and any contents being spilled. 
    Try adding BlockLeaves for the extra fun of losing your chest in the foliage. 
    Blocks affected by these options may be replaced by the dropped block.

DebuggingOptions

In case of emergency break temporal gear:

  • LoggingEnabled (true/false): When enabled, extra debug logging information will be generated when processing the CarriablesFilters. 
  • DisableHarmonyPatch (true/false): Harmony patches are used to hook into or override vanilla Vintage Story functions.
    Disabling will break the double tap to dismount feature and possibly other functionality.

 

Default CarryOnConfig.json
{
"ConfigVersion": 2,
"Carryables": {
"Anvil": true,
"Barrel": true,
"Bookshelf": false,
"BunchOCandles": false,
"Chandelier": false,
"ChestLabeled": true,
"ChestTrunk": false,
"Chest": true,
"Clutter": false,
"Crate": true,
"DisplayCase": false,
"Flowerpot": false,
"Forge": false,
"Henbox": false,
"LogWithResin": false,
"LootVessel": true,
"MoldRack": false,
"Molds": false,
"Oven": false,
"Planter": true,
"Quern": true,
"ReedBasket": true,
"Resonator": true,
"Shelf": false,
"Sign": false,
"StorageVessel": true,
"ToolRack": false,
"TorchHolder": false
},
"Interactables": {
"Door": true,
"Barrel": true,
"Storage": true
},
"CarryOptions": {
"AllowSprintWhileCarrying": false,
"IgnoreCarrySpeedPenalty": false,
"RemoveInteractDelayWhileCarrying": false,
"InteractSpeedMultiplier": 1.0,
"BackSlotEnabled": true,
"AllowChestTrunksOnBack": false,
"AllowLargeChestsOnBack": false,
"AllowCratesOnBack": false
},
"CarryablesFilters": {
"AutoMapSimilar": true,
"AutoMatchIgnoreMods": [
"mcrate"
],
"AllowedShapeOnlyMatches": [
"block/clay/lootvessel",
"block/wood/chest/normal",
"block/wood/trunk/normal",
"block/reed/basket-normal"
],
"RemoveBaseCarryableBehaviour": [
"woodchests:wtrunk"
],
"RemoveCarryableBehaviour": [
"game:banner"
]
},
"DroppedBlockOptions": {
"NonGroundBlockClasses": [
"BlockWater",
"BlockLava"
]
},
"DebuggingOptions": {
"LoggingEnabled": false,
"DisableHarmonyPatch": false
}
}

 

Config (Legacy version)

The values shown are the defaults.

{
"AnvilEnabled": true,
"BarrelEnabled": true,
"BookshelfEnabled": false,
"BunchOCandlesEnabled": false,
"ChandelierEnabled": false,
"ChestLabeledEnabled": true,
"ChestTrunkEnabled": false,
"ChestEnabled": true,
"ClutterEnabled": false, (Most of the clutter found in ruins)
"CrateLegacyEnabled": true,
"CrateEnabled": true,
"DisplayCaseEnabled": false,
"FlowerpotEnabled": false,
"ForgeEnabled": false,
"HenboxEnabled": false,
"LogWithResinEnabled": false,
"LootVesselEnabled": true,
"MoldRackEnabled": false,
"MoldsEnabled": false,
"OvenEnabled": false,
"PlanterEnabled": true,
"QuernEnabled": true,
"ShelfEnabled": false,
"SignEnabled": false,
"ReedBasketEnabled": true, (Reed Chest)
"StorageVesselEnabled": true,
"ToolRackEnabled": false,
"TorchHolderEnabled": false,
"BackSlotEnabled": true, (Used to disable items carried on back)
"AllowChestTrunksOnBack": false,
"AllowLargeChestsOnBack": false, (e.g. ExtraChests)
"AllowCratesOnBack": false,
"NonGroundBlockClasses": [
"BlockWater",
"BlockLava" ],
  "AutoMatchIgnoreMods": [
"mcrate"
],
"AllowedShapeOnlyMatches": [
"block/clay/lootvessel",
"block/wood/chest/normal",
"block/wood/trunk/normal",
"block/reed/basket-normal"
],
"InteractDoorEnabled": true, (Hold interact button to open doors when carrying block in hands)
"InteractStorageEnabled": true, (Hold interact button to open storage container when carrying block in hands)
"AllowSprintWhileCarrying": false, (When true, players can still sprint while carrying chests, etc.)
  "IgnoreCarrySpeedPenalty": false, (When true, players will have normal movement speed when carrying block in hands and on back)
"RemoveInteractDelayWhileCarrying": false, (When true, players can open doors and chests instantly while carrying a block in their hands)
"InteractSpeedMultiplier": 1.0, (Multiplier to change the speed of the progress circle when interacting with carryable blocks)
"LoggingEnabled": false (Output extra logging information) }

NonGroundBlockClasses is used to determine if a dropped block will sink through these types when looking for ground or placing the block.
e.g. Adding "BlockLeaves" will cause dropped blocks to fall through tree foliage.

CarryOn will try to auto-match similar blocks in other mods to make them carryable. The following Config sections affect the auto-matching:

  • AutoMatchIgnoreMods - any mod id added to this array will be excluded from auto-matching. mcrate has been excluded by default due to the multi-block storage. Carryable multi-blocks are not fully supported at the moment.
  • AllowShapeOnlyMatches - Allows matching of similar carryables based on only the shape. Probably best to leave these as they are.

The HoldControlForBackSwapFocus option can be used to disable to Ctrl key interaction to prioritise swapping blocks to and from the back slot. 

CarryOnClientConfig.json in ModConfig:

{
"HoldControlForBackSwapFocus": true
}

 

 

 

Known Issues

  • Multi-block carryables are not fully supported. They have a habit of deleting other blocks if dropped. The Trunks should be okay.
  • Some players have encountered an issue where they are unable to drop crate, clutter or other carried block. Current workaround is to use the Quickdrop key [Ctrl]+[Alt]+K.
    • Try going to the Key Controls section then uncheck 'Mouse click modifiers locked to Sneak/Sprint keys' and check it again. This can sometimes free-up strange keybind behavior.

Project description from Vintage Story Mod DB.

Pick your setup

Carry On releases for each Vintage Story version.

Choose the version and loader you play, then open the matching release.

72 available setups

Showing the newest 12 of 72 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

Carry On versions and loaders

87 of 87 releases match

Looking for an older file? The official Vintage Story Mod DB project page is in Resources.