Colossal Chests 2, Phase 7: Display wall - #224
Merged
rubensworks merged 9 commits intoOct 5, 2026
Merged
Conversation
A functional wall that shows one item type, its count across the chest, a fill bar and the upgrades affecting it, honouring the chest's visual settings. Drawer style clicks: left-click takes a stack or one while sneaking, right-click inserts, a double right-click inserts all. Only a tool that can harvest it mines it, so taking items never breaks the chest. Chest settings are now synced to clients for rendering. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
The item sits in a dark panel with the count, fill bar and flat upgrade icons inside it. The frame style is still switchable while the look is chosen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
Member
Author
|
The uncovered lines are the client rendering of the Display wall ( Generated by Claude Code |
Frames use the chest's material, and items show like an inventory icon by default. A client config option shows blocks and other 3D items like an item frame instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
- Right-click with an empty hand opens a GUI with a ghost slot to choose the displayed item. Sneak-right-click with an empty hand does nothing. - Fix double right-click: empty-hand clicks were consumed by useItemOn, so they never reached the insert-all logic. - Fix fast sneak-left-clicks being merged: a take now needs the attack button to be released since the last one, tracked with a client tick hook per loader, instead of a 6 tick debounce. - Render the sides of the display plate, so it no longer floats in front of the chest. - Share the ghost slot menu logic between the Interface and Display menus. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
Left-clicks fill the player's selected slot when it is empty or holds the same item, and only put the rest elsewhere in the inventory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
Each outer face of a Display wall shows its own item and stats. Clicks act on the clicked face, and the take packet carries it. The Display settings have a column per face, named relative to the chest's front, with a ghost slot and a Shown/Hidden toggle. A hidden face renders and acts like a plain wall; the last shown face can not be hidden. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
Each side of a Display wall now has its own count, fill level and upgrade indicator toggles, next to its Shown/Hidden toggle in the Display settings, shown as small icon buttons. Display walls were the only thing the chest's visual settings affected, so those settings are removed: the ChestSettings record, its packet, item component, sync and loot table entry, and the three toggles in the chest's settings tab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
Hidden sides show the Display wall icon while the player sneaks, like other functional walls, and sneak-right-clicking one with an empty hand opens the Display settings. As hidden sides stay reachable, every side of a wall may now be hidden. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
rubensworks
commented
Oct 5, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Display wall, as its own PR (one feature per PR). The Redstone and Magnet walls follow separately.
Summary
What it shows (agreed at review: an item type, not a slot):
Look (agreed at review):
displayItemFrameStyle, shows blocks and other 3D items front-on like an item frame instead; flat items are unaffected.Clicks (drawer style, agreed at review), each on the clicked side:
Settings GUI:
ContainerGhostSettings).Chest settings removed: the chest's visual settings (fill levels, counts, upgrade indicators) only ever affected Display walls, so they moved to each side of each wall (agreed at review).
ChestSettings, its packet, item component, client sync and loot table entry are removed, and the chest's settings tab keeps only the lock and void buttons. Nothing is released yet, so there is no migration.Mining safeguard (agreed at review, Display wall only):
LeftClickBlock, FabricAttackBlockCallback).Other:
Design deviations
Validation
TestDisplayStats(6): counts across slots and compression forms, capacity, fill, lock and void flags, tag round triptestDisplayWallInsertsAndTakes, through the same item-then-empty-hand click path the server uses, and the take packet's encode, decode and server actiontestDisplayWallSettingstestDisplayWallFacestestDisplayWallSyncsAndHasNoItemAccesstestDisplayWallOnlyMinedWithAPickaxe: empty hand, a block and a sword are cancelled, a pickaxe is not, an Interface is never protectedtestSettingsTravelWithCoreand the settings checks in other tests are removed with the chest settings.Totals: 290 unit tests; game tests Fabric 73, Forge 71, NeoForge 71, all passing.
In-game (clientdevbridge): scripts and screenshots are in
clientdevbridge-screenshots/phase7b-display. On NeoForge, an iron 3x3:display-all-toggles.pngand the three "no" variants), now set per side; they match the earlier chest-wide screenshots pixel for pixel apart from the plate's new sides;Known issues
🤖 Generated with Claude Code
https://claude.ai/code/session_01RSz5r6eowhjNuANBjZE2v6