Skip to content

🛂 Crafting — Authority Abstractions

This folder defines authority decision seams for Crafting.

Crafting itself is netcode-agnostic. These interfaces allow external systems to decide whether a mutation is permitted.


✅ Craft authority

ICraftingAuthority

Consulted by the Crafting service before performing crafting mutations.

Typical use cases include gating: - job creation or cancellation - pausing or resuming crafting work - other state mutations initiated by the service

Returning false blocks the mutation and provides a failure reason.

If no authority is configured, Crafting behaves permissively.

This interface defines a single decision check. It does not enforce when or how often it is called.


🧰 Bench authority (optional)

ICraftingBenchAuthority

A lightweight authority seam intended for: - workbenches - trigger-based crafting - local interaction gating

This interface is not a networking or authority model. It provides a simple boolean decision hook for bench-level logic.