CardCraft
Card crafting phase for ROUNDS with a validated recipe database and host-authoritative multiplayer crafting.
By FGANG
| Date uploaded | 2 weeks ago |
| Version | 1.0.5 |
| Download link | FGANG-CardCraft-1.0.5.zip |
| Downloads | 85 |
| Dependency string | FGANG-CardCraft-1.0.5 |
This mod requires the following mods to function
BepInEx-BepInExPack_ROUNDS
BepInEx pack for ROUNDS. Preconfigured and ready to use.
Preferred version: 5.4.1900willis81808-UnboundLib
This is a helpful utility for ROUNDS modders aimed at simplifying common tasks.
Preferred version: 3.2.14README
CardCraft
CardCraft adds a crafting phase to ROUNDS at PickStart, before the normal card-pick choices.
Features
- Runs CardCraft at PickStart.
- Supports additional pick phases without hardcoding a fixed number of picks.
- Shows craftable recipes based on cards owned by the player.
- Uses a validated static recipe database.
- Host-authoritative multiplayer crafting.
- Revalidates the recipe immediately before crafting.
- Removes ingredients atomically and adds the crafted result.
- Prevents duplicate results within a single Craft Pick.
- Includes a text-only recipe browser.
- Optional runtime recipe supplement for cards missing from the embedded database.
- Optional Classes Manager Reborn integration.
- Curses and obvious junk/test cards are excluded.
Installation
Install CardCraft through Thunderstore Mod Manager or r2modman.
CardCraft requires:
- UnboundLib 3.2.14 or compatible version.
Usage
CardCraft runs automatically during the card-pick sequence.
The recipe browser can be opened with F2.
Multiplayer
CardCraft uses host-authoritative validation for crafting decisions.
All players should use the same CardCraft version.
Configuration
CardCraft creates:
BepInEx/config/CardCraft.cfg
Additional configuration files may be created under:
BepInEx/config/CardCraft/
Compatibility
Optional integrations include:
- Classes Manager Reborn
- ModdingUtils
- WillsWackyManagers
- Pick N Cards
- PickPhaseImprovements
- MorePicksPatch
- Rounds With Friends
- Rounds With Bots
These are not required dependencies.
Known limitations
CardCraft has been tested with the listed supported configurations, but compatibility with every combination of ROUNDS mods cannot be guaranteed.
Credits
Created for ROUNDS modding.
Source
Source code and development files are maintained separately from the Thunderstore release package.
CHANGELOG
CardCraft Changelog
1.0.516 — Thunderstore release
- Expanded the embedded static recipe database to 10,000 recipes.
- Prioritized CardCraft-exclusive results while building the static recipe pool.
- Added two deterministic recipe opportunities per eligible result where recipe guards allow them, then filled the remaining database with additional valid recipes.
- Removed recipe entries containing
(Clone). - Disabled runtime/dynamic recipe synthesis for the release build.
- Reduced hot-path informational logging compared with diagnostic transaction builds.
- Kept CardCraft on
PickStart, before the normal card-pick phase. - Kept host-authoritative multiplayer validation and transaction handling.
- Kept the per-player craft flow so a player without a craftable recipe does not block other players' normal Pick phase.
- Updated Thunderstore requirements to explicitly declare BepInExPack ROUNDS, MMHook, and UnboundLib.
1.0.5.14
- Remote accepted Craft decisions wait for an explicit host transaction result before releasing that player's local PickStart flow.
- Added bounded state polling around ingredient removal and result addition to reduce races with asynchronous card-list rebuilds.
- No global Craft Pick barrier for players who are not crafting.
1.0.5.11
- Improved transaction handling around ModdingUtils card-list rebuilds.
- Added authoritative card-state checks after ingredient removal and result addition.
- Added transaction completion barriers and fail-safe timeout handling.
1.0.5.8
- Improved multiplayer PickStart synchronization around host-confirmed craft completion.
- Retained the transaction instance-API fix for ModdingUtils.
1.0.5.6–1.0.5.7
- Fixed discovery and invocation of the ModdingUtils
Cards.instancecard mutation API. - Added safer overload selection for adding and removing cards.
- Avoided binding to unrelated third-party mutation helpers.