Repository navigation
Releases: amatouhake/LaminaSort
Releases · amatouhake/LaminaSort
Release list
LaminaSort v0.1.0
Added
- Sort key (default
R, remappable in the game's keyboard settings) that
sorts the main 27 player inventory slots from any inventory or container
screen. Hotbar, armour, offhand and crafting slots are never touched. - Sorting an opened ordinary storage container (chest, barrel, shulker box,
...) when one of its slots is hovered; interfaces with role-specific slots
are never sorted. - Consolidation of partial stacks that vanilla allows to stack
(42 + 10 -> 52,42 + 30 -> 64 + 8), decided by the game's own
ItemStackBase::isStackablecheck. - Zero-config default order: Shulker Boxes (filled before empty, named
first, then by contents, then colour), then gear, items, building blocks,
natural blocks, unknown items, empty slots. Inside a section the client's
Creative registry order is kept; food always counts as an item. - Shulker Box content signature built from the inner stacks' full ordering
keys (custom name, enchantments, damage, ...) merged per kind and sorted,
independent of the internal slot layout and bounded to one level.
Shulker Boxes are recognised by item class (ShulkerBoxBlockItem). - Vanilla item locks:
lock_in_slotstacks stay in place and are never
merged into or out of; the rest of the region is sorted around them.
lock_in_inventorystacks may still move inside the player inventory and
are left alone inside containers. - The Sort key is ignored while a text box (Creative search, anvil name,
...) is being edited, so typing the letter never triggers a sort. - Variants of one item are ordered by custom name, then enchantments
(registry order, higher level first), then damage (better condition first);
the NBT hash is only a last-resort tie-breaker. - Execution through the vanilla container transfer path
(ContainerManagerController::handlePlaceAmount/handleSwap), verified
step by step against the planned client-side state; any disagreement
aborts the sort. Server rejections arrive asynchronously, are reverted by
vanilla and are only logged, never fed back into the sort. - Configuration file (
sortKeyCode,sortContainers) and a--trace=y
diagnostic build. - Unit tests for the pure sort planner (
LaminaSortTests).
Changed
- Target LeviLamina Client 26.51.3 (built against its SDK;
--trace=yuses
theRotatePolicy-basedll::io::FileSinkintroduced in 26.51.2).