Something Else for Rows in Containers
hammy275 opened this issue ยท 4 comments
For backpacks, chests, etc. we should support some way of going through the rows quickly and accurately alongside the punching we already use. This way, we not only have another way of operating the chests, but have room for iron chests and reinforced chests to have massive amounts of items.
I originally considered scroll bars, based on the preview of immersive stuff for Vivecraft 1.12 (before it was cancelled), but there's a couple issues with that:
- Not very nice to use outside of VR
- Feels very GUI-y
I'm brainstorming on what to do here. Any ideas from others would be greatly appreciated!
Adding onto the idea of layers, there could be a way to sift through layers. Play a sound of items being moved around in the chest, clear the items in the current layer, then display the new layer.
You could get fancy with it too, making each slot have it's own layer, shift clicking a slot changes the selected item layer to the layer below it. Shifting the item to the bottom most layer and pushing the one below it up.
I do technically already go by sets of 9, it just so happens that chests in Minecraft's rows are 9 in length. The reason I feel iffy on moving the layer system up to higher-sized chests without implementing a faster layer switching system is because having 6+ layers (even moreso with something like a diamond chest) is really awful. Punch too much and you'll have to punch the chest a dozen times more to wrap back around to the one you accidentally went past.
I like the idea of the quick selector, however it wouldn't work with a single chest, and ideally we need something that works for both single and double chests.
X123456789
Y123456789
Z123456789
is what a normal chest looks like, in an normal minecraft chest you seem to (from player expirience)
format into three layers like so
X123
456
789
and for Double chests you display the second chest inventory (since it just appends blow the third row of the chest in normal vanilla GUI) in the exact same way, just sharing the layer selector integery thingery
Why not, be able to take an inventory of any size != 27 or 54,
and carry on the layer system?
where instead of going by each row (which will not work with modded inventories), you go by sets of 9
if you have an DOUBLE chest that is 108, (easy number for example on how this could work),
take it, and devide the slots into groups of 9,
for example, if you have groups
ABC DEF GHI, each with 9
AB
CD
EF
GH
I (in this case the second (right) half of the double chest would not show item slots)
This way it could in theory, at the minimum expand the container size allowed to any size.
As for how the quick layer selection in the chests could function? you have an small unused space between the two chests in a double chest, why not just add an selector that shows the first item in the "row"/grouping? so you could have an row dedicated to redstone items, and in the first slot show redstone dust,
Quick and dirty solution,
Pseudo Code
If not layer.pos == 1 then
If layer.length == zero itemsthen
If not previouslyLayer.length == 0 then
RenderLayer()
end
end
else
RenderLayer ()
end
Basically, if layer and previouslayer don't have items. Don't show the layer
This solution could make it so players arnt lost in endless empty layers.
An layer counter would probably be a good idea as well, show which layer you are on our of x amount of layers
This would have the benefits of making modded large inventories usable to vr players. While buying time for an better implementation