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

CardCraft

CardCraft crafting phase for ROUNDS: PickStart integration, static 10,000-recipe database, host-authoritative multiplayer transactions, and no runtime recipe generation.

Date uploaded a week ago
Version 1.0.516
Download link FGANG-CardCraft-1.0.516.zip
Downloads 686
Dependency string FGANG-CardCraft-1.0.516

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 1.0.516

CardCraft adds a crafting phase to ROUNDS at PickStart, before the normal card-pick choices.

Release: CardCraft 1.0.516.

Features

  • Craft stage runs from PickStart.
  • Static recipe database with 10,000 recipes.
  • Runtime/dynamic recipe generation is disabled in this release.
  • Recipes containing (Clone) are excluded.
  • Host-authoritative multiplayer transaction flow.
  • Ingredients are removed through the supported card utility API and the crafted result is verified after adding.
  • A player without a craftable recipe does not block the other players' normal Pick phase.
  • Reduced production logging compared with diagnostic builds.
  • Text-only recipe browser, opened with F2 by default.

Requirements

The Thunderstore package declares these required mods/framework packages:

  • BepInExPack ROUNDS — 5.4.1900
  • MMHook — 1.0.0
  • UnboundLib — 3.2.14

UnboundLib itself also depends on BepInExPack ROUNDS and MMHook; they are listed here explicitly so the package requirements are clear.

About the DLLs in the development libs/ folder

The libs/ folder in the source archive contains build/reference assemblies. They are not all separate Thunderstore mod dependencies.

  • BepInEx.dll — provided by BepInExPack ROUNDS.
  • 0Harmony.dll — build/reference assembly; CardCraft does not require a separate Harmony Thunderstore package.
  • UnboundLib.dll — provided by UnboundLib.
  • Assembly-CSharp.dll — ROUNDS game assembly.
  • PhotonUnityNetworking.dll / PhotonRealtime.dll — ROUNDS/Unity networking assemblies.
  • UnityEngine*.dll — ROUNDS/Unity game assemblies.

Do not upload the source libs/ folder with the Thunderstore release package.

Optional integrations

These are detected/used when present and are not required dependencies:

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

Installation

Install through Thunderstore Mod Manager / r2modman, or place CardCraft.dll in the BepInEx plugins folder.

Multiplayer

All players should use the same CardCraft release. Crafting decisions are validated by the host before ingredients are removed and the result is granted.

Configuration

CardCraft creates:

BepInEx/config/CardCraft.cfg

The recipe browser is opened with F2 by default.

Project page

https://thunderstore.io/c/rounds/p/FGANG/CardCraft/

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.