Stacks¶
Defines runtime item value types used throughout the Inventory system.
This folder contains the data structures that represent items at runtime.
Purpose¶
Define how items exist in containers, including quantity, durability, and metadata.
What Lives Here¶
ItemStack→ runtime item stackItemMetaEntry→ metadata key/value pair
Important Notes¶
- These types represent runtime values only
- They do not enforce container rules or mutation logic
- They are used across containers, services, and UI
Usage Guidance¶
ItemStack¶
Represents a quantity of a specific item.
Includes:
- item definition reference
- quantity
- durability
- optional metadata
Behaviour¶
stack.IsEmpty;
stack.SpaceLeft;
stack.Clone();
stack.WithQuantityDeep(q);
- empty state is based on definition and quantity
- space remaining is derived from stack limits
- quantity is not automatically clamped
Metadata¶
Metadata is stored as key/value pairs.
- entries are unordered
- later entries may override earlier ones
Helpers include:
- TryGetMeta
- SetMeta
- RemoveMeta
Stack compatibility¶
Compatibility checks may consider:
- item definition
- durability
- metadata
Exact comparison behaviour depends on runtime implementation.
Not for Production Use¶
Stacks describe item state; they do not store or mutate it
This folder does not:
- Provide container storage
- Define slot structures
- Enforce mutation rules
- Enforce authority
- Define sorting or search behaviour
Related Documentation¶
- ../
- ../Model/README.md
- ../../Containers/README.md