Expand the Transfer API to support item-containing items
Technici4n opened this issue · 1 comments
In theory, this is just a matter of adding public static final ItemApiLookup<Storage<ItemVariant>, ContainerItemContext> ITEM = ...
to ItemStorage
. However, providing an implementation for shulker boxes will be needed too. Support for bundles will probably be provided in the first iteration as well, to test the API.
Use cases
- Prevent insertion of item-containing items into other item-containing items (no backpacks in your shulker boxes!). A utility function in
ItemStorage
to check this could be useful. Will also require patching bundles and shulker boxes, most likely. - Automatic filling and emptying of item-containing items, be it from an in-world device, some sort of player automation, or anything else.
A couple very specific use cases:
- A rotating tool pouch. You put a bunch of tools in a pouch and use a hotkey to rotate between tools
- A hotbar replacement pouch that essentially brings this feature from creative gamemode to survival
- Items and systems that resemble filters from Extra Utils 2 and modifications from Actually Additions (correct me if I misremember these)
- Shrapnel bombs: container-items that you can put arrows, rocks, etc into and then throw or launch them like grenades. Upon landing they explode with whatever you’ve put inside of it. Not necessarily requires this API, but depending on the implementation it might benefit from it