Crafting / Core / Internal¶
Purpose¶
This folder contains framework-internal helpers used by the Crafting service.
Types in Internal exist solely to support the implementation of
CraftingServiceCore. They are not a supported extension surface and
are intentionally hidden from public consumption.
If you are integrating, extending, or teaching Crafting, you should never need to reference anything in this folder.
What lives here¶
Internal delegate hooks¶
CraftModHookCraftValidatorHookCraftValidatorDelegate
These delegates are used internally by the service to: - compose modifier behaviour - compose validator behaviour - control execution order and error isolation - allow internal composition without exposing public seams
They exist to decouple the service from concrete implementations and to support clean internal orchestration.
External consumers must not subscribe to or depend on these hooks.
Use ICraftingModifier and ICraftingValidator instead.
Internal utilities¶
TimeExtensions- Small helper bridging
ITimeProviderandCraftTimeMode - Exists to keep time semantics centralized and explicit
These helpers have no standalone meaning outside the service.
What does NOT belong here¶
- Public extension points
- Adapters or adapter interfaces
- Game-specific logic
- Teachables, diagnostics UI, or debug helpers
- Anything callers might reasonably depend on
If a type needs to be referenced by external code, it does not belong here.
Visibility rules¶
All types in this folder are:
- internal
- subject to change without notice
- excluded from public API guarantees
They may: - be renamed - be moved - be deleted - change semantics
without a major version bump.
Teachables compile without access to this folder by design.
Design notes¶
- This folder exists to keep the public surface small and honest
- Internal seams are allowed to be pragmatic and service-oriented
- Stability guarantees stop at the folder boundary
If you feel the urge to use something from here, that is a signal a public seam is missing — not that this folder should be exposed.