Open Dinhero21 opened 1 year ago
I feel like the hardest part is going to be (as always) the UI. A TUI is probably enough but having access to some kind of GUI API (Canvas API or WebGL or some abstraction) would allow for much more then the former.
(This should probably not be here but too lazy to make another issue)
I feel like a problem with Minecraft Storage System Mods is that they feel "stepped" (at least imo).
You don't go inventory -> vanilla storage (chests/barrels) -> slight upgrade -> ... -> slight upgrade -> simple system -> slight upgrade -> ... -> slight upgrade -> auto-crafting System -> ...
Instead, it is something more like inventory -> vanilla storage -----------------------------------------------------------------------------> simple system -> crafting system -> auto-crafting system
.
The step required from vanilla storage
to simply system
is way too big (when compared to vanilla which is simply wood) (having lots of requirements such as energy, a controller, a disk drive, a grid, and storage disks) with upgrading the system after that being way too easy (even when compared to vanilla! (because of auto-crafting and how convenient it is to access all your items in a single place)).
I would prefer something that is more beginner-friendly, more challenging to improve, and, optionally, that has more potential.
Having a Computer Tile (how I imagine it) would solve the potential problem since it would allow for limitless creativity, in combination with beginner-friendly not-too-OP upgradeable (item/fluid/energy) transportation, would allow for Storage Systems to be created.
The only problem I see currently is the bigger-friendly part as if the Computer is necessary for basic systems then it is not very beginner-friendly. (but is there even a better approach?)
(This will likely be implemented later when the game is in a much more stable state)
The idea is to have a computercraft-like Computer Tile that would allow you to (probably sandboxed/containerized) JavaScript on the server and/or client.
I will probably use a combination of
node:vm
and Proxy for the server-side and a contextualized eval (see with) for the client-side (or maybe nothing at all since it seems like a much complex challenge with lots of cons and no pros).A package-manager-like tool could also be implemented that would download code from a specific URL and load it which would allow for community-wide code sharing (not sure what the right word would be here, something between sharing and collaboration).