You are viewing a potentially older version of this package. View all versions.
FGANG-CardCraft-0.7.0 icon

CardCraft

Adds a post-pick crafting phase to ROUNDS with deterministic recipes, multiplayer validation, class-card support and a recipe browser.

By FGANG
Date uploaded a week ago
Version 0.7.0
Download link FGANG-CardCraft-0.7.0.zip
Downloads 11
Dependency string FGANG-CardCraft-0.7.0

This mod requires the following mods to function

BepInEx-BepInExPack_ROUNDS-5.4.1900 icon
BepInEx-BepInExPack_ROUNDS

BepInEx pack for ROUNDS. Preconfigured and ready to use.

Preferred version: 5.4.1900
willis81808-MMHook-1.0.0 icon
willis81808-MMHook

MonoMod Runtime Hooks generated for ROUNDS

Preferred version: 1.0.0
willis81808-UnboundLib-3.2.14 icon
willis81808-UnboundLib

This is a helpful utility for ROUNDS modders aimed at simplifying common tasks.

Preferred version: 3.2.14

README

CardCraft

CardCraft adds an optional crafting phase after the normal card-pick phase in ROUNDS.

Features

  • Runs after normal and additional Pick phases using UnboundLib's final PickEnd hook.
  • Shows up to 5 craftable recipes, ranked by Score and selected from the top 10.
  • Validates the recipe again immediately before crafting.
  • Host-authoritative multiplayer crafting using a stable recipe key.
  • Ingredients are removed through the card utility API so card effects are removed correctly.
  • Recipe browser (F2) with mod filter and readiness groups.
  • Static embedded recipe database for fast startup.
  • Lightweight runtime supplement for cards missing from the embedded database.
  • Classes Manager Reborn integration is optional. If CMR is installed, CardCraft respects its class tree and Entry rules; without CMR, CardCraft continues to work normally.
  • Curses and obvious junk/test cards are excluded.
  • Literal + characters in card names are escaped in the recipe database, so names such as Gemini+ are parsed correctly.

Required dependency

  • UnboundLib 3.2.14 or compatible newer release.

Optional integrations

  • Classes Manager Reborn
  • ModdingUtils
  • WillsWackyManagers
  • Pick N Cards / PickPhaseImprovements / MorePicksPatch / Rounds With Friends / Rounds With Bots

CardCraft does not require these optional mods.

Configuration

CardCraft creates its configuration under BepInEx/config/CardCraft.cfg and editable database overrides under BepInEx/config/CardCraft/.

The recipe browser is opened with F2 by default.

Source / development

The source archive contains the local reference assemblies under libs/ and can be built with:

dotnet build CardCraft.csproj -c Release

The resulting DLL is bin/Release/netstandard2.0/CardCraft.dll.

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.instance card mutation API.
  • Added safer overload selection for adding and removing cards.
  • Avoided binding to unrelated third-party mutation helpers.