feat(sort): sort containers and player storage
CI / build (push) Failing after 5m25s
Release / release (push) Failing after 28m43s

This commit is contained in:
dmg
2026-09-04 11:56:19 -04:00
parent 5829d1d1dd
commit 1566437ba3
10 changed files with 504 additions and 13 deletions
+7
View File
@@ -31,6 +31,13 @@ description: Chronological record of material decisions affecting the Spigot Inv
- Registered equivalent chest and barrel recipe variants matching the approved center-column shape.
- Verified recipe specification, registration, output, item appearance, identity, and renamed-stick rejection with automated tests and `./gradlew clean check jar`.
## 2026-09-04 — Inventory sorting completed
- Added metadata-preserving stack consolidation and stable alphabetical ordering by Minecraft material.
- Added Sorting Stick interactions for single and double chests, barrels, and player main-storage slots while preserving hotbar, armor, and off-hand slots.
- Rejected locked containers, cancelled protection events, non-right-click interactions, and unauthenticated sticks without changing inventories.
- Added action-bar feedback, documented player behavior, and verified the complete feature with `./gradlew clean check jar`.
## 2026-09-04 — Implementation started
- Approved implementation begins with the tested Gradle and Purpur foundation, followed by the Sorting Stick, inventory sorting, and automatic tool replacement.
+13 -13
View File
@@ -2,7 +2,7 @@
type: User Story
title: "US-003: Sort containers and player inventory"
description: Let players use a Sorting Stick to consolidate and organize supported storage or their main inventory.
status: in-progress
status: done
---
# US-003: Sort containers and player inventory
@@ -11,18 +11,18 @@ As a **player holding a Sorting Stick**, I want to sort storage containers or my
## Acceptance criteria
- [ ] Using the Sorting Stick on a chest sorts the complete chest inventory.
- [ ] Using it on either half of a double chest sorts the combined inventory.
- [ ] Using it on a barrel sorts that barrel.
- [ ] Using it without targeting a supported container sorts the player's main storage slots.
- [ ] Player hotbar, armor, and off-hand slots are not changed during player-inventory sorting.
- [ ] Compatible partial stacks are consolidated without exceeding item stack limits.
- [ ] Remaining stacks are placed in a deterministic, documented order.
- [ ] Sorting preserves item quantities and all item metadata exactly.
- [ ] Sorting respects cancelled interactions and normal container-access protections.
- [ ] Unsupported or inaccessible targets fail safely without changing an inventory.
- [ ] Sorting provides concise player feedback without opening the target container.
- [ ] Automated tests cover single chests, double chests, barrels, player inventory boundaries, stack consolidation, metadata preservation, and rejected interactions.
- [x] Using the Sorting Stick on a chest sorts the complete chest inventory.
- [x] Using it on either half of a double chest sorts the combined inventory.
- [x] Using it on a barrel sorts that barrel.
- [x] Using it without targeting a supported container sorts the player's main storage slots.
- [x] Player hotbar, armor, and off-hand slots are not changed during player-inventory sorting.
- [x] Compatible partial stacks are consolidated without exceeding item stack limits.
- [x] Remaining stacks are placed in a deterministic, documented order.
- [x] Sorting preserves item quantities and all item metadata exactly.
- [x] Sorting respects cancelled interactions and normal container-access protections.
- [x] Unsupported or inaccessible targets fail safely without changing an inventory.
- [x] Sorting provides concise player feedback without opening the target container.
- [x] Automated tests cover single chests, double chests, barrels, player inventory boundaries, stack consolidation, metadata preservation, and rejected interactions.
## Related