Skip to content

Chainmail crafting QOL and volume fix - #88188

Open
ahhwatson wants to merge 5 commits into
CleverRaven:masterfrom
ahhwatson:chain_link_fix
Open

Chainmail crafting QOL and volume fix#88188
ahhwatson wants to merge 5 commits into
CleverRaven:masterfrom
ahhwatson:chain_link_fix

Conversation

@ahhwatson

@ahhwatson ahhwatson commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Bugfixes "Smaller chainmail links"

Purpose of change

As of #87006, lc_chain_link weighed an appropriate amount, but each individual link had a 250ml volume, which made it very easy to hit the items-per-tile limit since a single batch did not fit more than a handful in most containers.

Describe the solution

Set each link to have volume 1ml (which as it happens is the minimum allowed item volume), and added extra recipes for chain link crafting that involve putting your chain links into zipper bags as you go (this is a rather common way for hobbyists to store chain links, and makes moving the links less of an ordeal).
Also changed the in-game description of chain links to account for the way links get used elsewhere---one link is one item.

Describe alternatives you've considered

Implementing units smaller than 1ml to more closely represent the actual size of chainmail links (I'm trying to avoid c++; the volume back when these were first implemented was about .352 ml/link, and I see no reason to be skeptical of that number).
Changing lc_chain_link to represent several links instead of one (this is a decent idea, but would require a lot of changes and achieve very little).

Trying to make the approach from #84073 work on the bag recipe (and using powder paper bags or something) (pretty sure this is beyond my skillset).
Implementing a json flag that allows certain small, grainy objects (sand, dirt, links) to be reloaded into containers as if they were water. (The longer I looked into this, the more I understood why charges must die. Definitely not worth implementing as a system until liquids are de-charged, assuming they ever will be, unless someone more capable than me comes up with a way.)
Pressing 'v' to use the insert menu if I want to put a thing in a bag.

Testing

Opened a new world, spawned in crafting materials, made 10 batches of links in bags, dropped them, watched them not overflow into another tile, observed that they fit in the bags.

Additional context

If there's a way around the item crafting limit of 4096, it might also be worth doing for chain links---as it is, chain links can't be batch-crafted more than 9 batches at a time.

@github-actions github-actions Bot added <Bugfix> This is a fix for a bug (or closes open issue) [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions and removed json-styled JSON lint passed, label assigned by github actions labels Aug 2, 2026
@github-actions github-actions Bot added the json-styled JSON lint passed, label assigned by github actions label Aug 2, 2026
@ahhwatson

Copy link
Copy Markdown
Contributor Author

I have realized that the 'v' insert menu does in fact let you load a bag with links with minimal additional effort. And presumably also sand/dirt. I'm removing that part of this PR because it is unnecessary.

@github-actions github-actions Bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant