butchercraft-0.10.4-alpha.1.jar
Curse Maven Snippet
What's new
# ButcherCraft v0.10.4-alpha.1
## Material Handling Update
The processing plant is starting to come alive.
v0.10.4-alpha.1 introduces ButcherCraft's first physical material-handling workflow. Employees can now collect Beef Trim from a Cutting Table, visibly carry it across your facility, deliver it to a Grinder, and remain at the machine ready to work.
This release also introduces the first Cutting Table fabrication recipe, a durable cross-workstation Material Handling architecture, improved workstation identity and recovery, and a new Execution compatibility system designed to allow ButcherCraft to continue adding machines without unnecessarily breaking existing worlds.
---
# π₯© NEW: Cutting Table
The Cutting Table has arrived.
The first fabrication recipe is now available:
**1 Beef Short Loin β 1 T-Bone Steak + 1 Beef Trim**
The Cutting Table now has three distinct inventory roles:
- Input
- Primary Output
- Beef Trim Output
Beef Trim is correctly treated as a fabrication byproduct rather than a Cutting Table input.
The T-Bone remains in the primary output while Beef Trim can be collected separately for further processing.
This is only the beginning of Cutting Table fabrication. Additional cuts, recipes, yields, and full fabrication gameplay will come in future updates.
---
# π· NEW: Employee Material Handling
Employees can now physically move product through your processing plant.
For the first supported workflow, an employee can:
- Receive an explicit transfer assignment.
- Walk to a Cutting Table.
- Reserve the Cutting Table.
- Collect one Beef Trim from its Trim Output.
- Visibly hold the Beef Trim.
- Release the Cutting Table reservation.
- Reserve the destination Grinder.
- Walk across the processing floor carrying the product.
- Deposit the Beef Trim into the Grinder.
- Remain stationed at the Grinder ready for work.
Employees do not teleport products between machines.
The product physically travels with the employee.
---
# π NEW: Visible Product Carrying
Employees now visibly hold the product they are transporting.
When an employee takes custody of Beef Trim:
- Beef Trim appears in the employee's hand.
- It remains visible throughout the trip.
- It disappears only after the product is successfully deposited or returned.
- The display is derived from authoritative server-side Material Handling state.
- Employees still do not have inventories or hidden storage slots.
This makes production activity much easier to understand simply by watching your processing floor.
---
# π First Fabrication-to-Processing Workflow
Players can now perform the first multi-stage physical production workflow:
**Beef Short Loin**
β
**Cutting Table**
β
**T-Bone Steak + Beef Trim**
β
**Employee collects Beef Trim**
β
**Employee physically carries Beef Trim**
β
**Grinder**
β
**Employee operates Grinder**
β
**Ground Beef**
The Grinder does not automatically start when Beef Trim is delivered.
The employee remains reserved at the Grinder, allowing the existing employee-operation system to begin processing when instructed.
---
# π¦ NEW: Material Handling Runtime
A new Material Handling Runtime now manages physical product custody between workstations.
This system provides the foundation for future movement of:
- Ground Beef
- Other trim products
- Sausage materials
- Packaging
- Boxes
- Ingredients
- Future processing materials
Material Handling tracks exactly where transferred product belongs during each stage of movement.
The authoritative product may exist at the:
- Source workstation
- Material Handling custody
- Destination workstation
But never authoritatively in multiple places at once.
This architecture is designed to prevent item duplication and silent product loss.
---
# π Exact Product Custody
Material Handling preserves the complete Minecraft ItemStack during transport, including relevant data components and custom data.
Employees do not own the authoritative item.
Instead:
- Workstations own inventory.
- Material Handling owns in-transit custody.
- Workforce owns employee movement and assignments.
- The employee's visible held item is only a synchronized representation of that custody.
This separation lays the groundwork for significantly more advanced logistics later.
---
# π NEW: Workstation Endpoint System
Workstations now have a durable endpoint architecture for consequential material transfers.
This includes:
- Persistent workstation instance identity.
- Monotonic workstation generations.
- Replacement-workstation detection.
- Endpoint freshness validation.
- Durable endpoint journals.
- Immutable owner results.
- Prepare / Effect / Result transfer publication.
- Startup reconciliation.
Replacing a workstation at the same coordinates no longer means the replacement is automatically treated as the exact same authoritative machine for an unfinished transfer.
---
# πΎ Material Handling Recovery
Material transfers are designed to survive interruption and recovery safely.
The new system handles states surrounding:
- Source withdrawal.
- In-transit custody.
- Destination deposit.
- Cancellation.
- Source return.
- Workstation replacement.
- Save/reload.
- Server restart.
Where product location can be proven, the system can reconcile the transfer.
Where product location cannot safely be proven, ButcherCraft reports an explicit recovery or Unknown Outcome state instead of guessing.
---
# β©οΈ Transfer Cancellation
Employee material transfers can now be cancelled.
Before pickup:
- The source inventory remains unchanged.
- Reservations are safely released.
After pickup:
- Material Handling retains custody.
- The employee can return the exact product to the original Cutting Table.
- Beef Trim returns specifically to the Cutting Table's Trim Output.
- Duplicate cancellation cannot return the same product twice.
Cancellation does not drop the product into the world or move it into the player's inventory.
---
# π§ Improved Employee Navigation and Arrival
Employee workstation arrival behavior has been improved.
A mismatch was discovered between:
- Navigation arrival tolerance
- Workstation reservation arrival tolerance
This could make an employee appear to have successfully reached a workstation while the reservation system still considered them en route.
Workstation interaction now uses one shared geometric arrival policy across:
- Navigation
- Reservations
- Material Handling
- Employee workstation operation
This improves consistency when employees approach machines.
---
# π NEW: Execution Save Compatibility
ButcherCraft's Execution system now supports safe additive handler evolution.
Previously, adding a new Execution handler changed the aggregate handler-registry identity and could prevent an older world from loadingβeven when the new handler had nothing to do with any existing operation.
The new compatibility system classifies handler evolution as:
- IDENTICAL
- ADDITIVE_COMPATIBLE
- INCOMPATIBLE
- INDETERMINATE_RECOVERY_REQUIRED
This allows known, provably compatible older worlds to load when new handlers are added while continuing to reject genuinely incompatible changes.
A real pre-Cutting-Table development world containing **6,641 retained Execution operations** was successfully validated under the new additive compatibility system.
Unknown or incompatible historical registries remain blocked rather than being guessed or silently rewritten.
---
# π§ Execution Handler Contract Identity
Execution handlers now have deterministic contract identities.
Compatibility considers the actual handler contract rather than relying exclusively on one aggregate registry hash.
The compatibility system verifies relevant information such as:
- Handler identity
- Operation type
- Scheduler effect type
- Owner-result requirements
- Retry policy
- Bounded work
- Configuration identity
This gives ButcherCraft a safer foundation for adding future machines without sacrificing deterministic save behavior.
---
# π₯ Cutting Table UI Improvements
The Cutting Table interface now clearly distinguishes:
- Input
- Primary Output
- Beef Trim Output
The earlier temporary interpretation of Beef Trim as a Cutting Table input has been removed.
---
# π§ͺ New Employee Transfer Commands
Employee material handling can currently be tested with explicit workstation coordinates.
### Start a transfer
`/butchercraft employee transfer <employee> <source-x> <source-y> <source-z> <destination-x> <destination-y> <destination-z>`
The first coordinates identify the Cutting Table.
The second coordinates identify the Grinder.
### View transfer status
`/butchercraft employee transfer-status <employee>`
### Cancel a transfer
`/butchercraft employee transfer-cancel <employee>`
Employee references support friendly references such as `#1`, unique names, quoted names, and canonical Employee IDs.
---
# π§ Other Useful Testing Commands
Create an employee:
`/butchercraft employee create [name]`
Check employee status:
`/butchercraft employee status <employee>`
Assign a department:
`/butchercraft employee assign-department <employee> <department>`
Assign a workstation:
`/butchercraft employee assign-workstation <employee> <x> <y> <z>`
Tell an employee to operate their reserved Grinder:
`/butchercraft employee operate <employee>`
Check department status:
`/butchercraft department status <department>`
Move a department anchor:
`/butchercraft department set-anchor <department> [<x> <y> <z>]`
Check Business Runtime:
`/butchercraft business status`
Check ButcherCraft time:
`/butchercraft time status`
Some commands are currently development/operator tools and require appropriate permissions.
---
# π Architecture Improvements
This release includes several major architectural foundations.
### DG-002 β Material Handling Custody and Recovery
Established:
- Singular Material Handling transfer authority.
- Exact in-transit product custody.
- Transfer identity.
- Cancellation.
- Recovery.
- Explicit source and destination ownership.
### DG-002A β Workstation Endpoint Durability and Instance Identity
Established:
- Persistent workstation instance identity.
- Monotonic instance generations.
- Durable endpoint publication.
- Endpoint journals.
- Workstation projection reconciliation.
- Replacement-machine detection.
### DG-003 β Execution Handler Registry Evolution
Established:
- Handler Contract Identity.
- Additive registry compatibility.
- Historical compatibility profiles.
- Existing-world validation.
- Fail-visible incompatible registry evolution.
---
# π Fixed
- Fixed Beef Trim incorrectly being modeled as a Cutting Table input.
- Fixed Material Handling source preparation revalidating the wrong Cutting Table slot.
- Fixed Cutting Table source return targeting incorrect slot semantics.
- Fixed employee navigation and reservation systems disagreeing about workstation arrival.
- Fixed new Execution handlers making otherwise-compatible older worlds fail startup.
- Fixed cancellation and source-return lifecycle persistence issues.
- Fixed interrupted transfer recovery edge cases.
- Fixed duplicate transfer/cancellation paths that could otherwise risk repeated effects.
- Improved strict persistence schema validation.
- Improved stale workstation replacement detection.
- Improved Material Handling recovery diagnostics.
---
# βοΈ Technical Validation
This release has been validated with:
- **1,487 automated unit and architecture tests**
- **235 registered required GameTests**
- Clean Gradle build
- Clean rebuild
- Stable data generation
- Command synchronization validation
- Existing-world Execution compatibility validation
- Material Handling persistence and recovery validation
- Exact ItemStack custody testing
- Workstation endpoint durability testing
- Architecture boundary testing
---
# π§ Current Alpha Limitations
Material Handling is intentionally narrow in this release.
Currently:
- Cutting Table has one fabrication recipe.
- Employee transport supports one Beef Trim at a time.
- Source and destination coordinates are explicitly supplied.
- Employees do not automatically select workstations.
- Ground Beef transport is not yet implemented.
- Patty Former transport is not yet implemented.
- Employees do not operate the Patty Former.
- Production Orders do not automatically assign transport work.
- General Logistics is not yet implemented.
- Employees still do not have inventories.
These systems will expand through future milestones.
---
# π What's Next?
The next development stage will prepare the Patty Former for employee-driven workflows.
Future milestones will expand the current chain toward:
**Cutting Table**
β
**Beef Trim**
β
**Grinder**
β
**Ground Beef**
β
**Patty Former**
β
**Beef Patties**
The goal remains the same:
Build the plant.
Train the workforce.
And eventually watch an entire processing operation come alive.
This mod has no additional files

