Remove ClientStorage
hammy275 opened this issue ยท 4 comments
Funny checklist:
-
Get Forge's WorldStorage system set up on individual worlds (so we don't need to check the dimension).
-
Create a
HashMap
fromBlockPos
to whatever storage type blocks will use, and implement the ability to read/write the data to disk through WorldStorage. -
Hook ClientStorage blocks to remove a storage on break. We'll dynamically create them when they're first needed.
-
All block types now periodically ask the server for data about tracked immersives, instead of tile entities with
IStorage
. Make sure to also adjust the maximum number of immersives. -
Send item swaps to the server like
IStorage
ones already do, We have one source of truth (theHashMap
), so no need to worry about duplications. -
Drop items on break
-
Remove old config settings
-
Add different item placement modes
-
Do something similar except with Capabilities attached to players for backpack crafting
For the enchanting table, send the item in the usual packet, and the enchantments in a separate packet when the client requests, since the latter is stored by-player not by-block.
Placement Modes (are both in and out of VR):
- Place all. Current behavior.
- Place half. Splits the stack in half (rounded up) and places one of the halves in.
- Place quarter. Places 1/4 (rounded up) of the items in.
- Place one (default). Places 1 item in.
All modes should also support merging. For example, if there are 32 planks and you "place" 7 planks in, it should stack up to 39, rather than swapping.