You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To implement loading data from datapacks we need to load various different values into feather and store them somehow. Although the ecs is useful for some of those, we however probably don't want to use it for everything. We therefore want to implement some registries that store things more efficiently and provide better ergonomics.
I am going to start by listing all the values stored in data packs. I think all of them should be stored in registries, but if you disagree then comment, because we can't have someone being wrong on the internet.
Together with these registries we also need to implement host_calls (see feather/plugin-host/src/host_calls.rs and /feather/quill/sys/src/lib.rs) such that we can edit them from plugins. Any change in these registries should probably also trigger change events. However i don't know what entity that event would be connected to? If you want a pointer on how to implement a event, then look at how i implemented #425
Some implementation questions.
Should we store all these registries together in one directory? I suggest '/feather/common/registries', does that seem fine? Do we need to implement serialisation/deserialisation such that their values can be saved once edited by a plugin?
Wrapping up:
If you are looking for something to do then i suggest working on Advancements, Functions, Loot Tables, or Recipes because they seem more immediately necessary. @Defman has started on recipes, but if someone is quick enough they can finish it before him 🥇
And feel free to ask in the discord if you have any questions .
The text was updated successfully, but these errors were encountered:
Feature Request
To implement loading data from datapacks we need to load various different values into feather and store them somehow. Although the ecs is useful for some of those, we however probably don't want to use it for everything. We therefore want to implement some registries that store things more efficiently and provide better ergonomics.
I am going to start by listing all the values stored in data packs. I think all of them should be stored in registries, but if you disagree then comment, because we can't have someone being wrong on the internet.
Together with these registries we also need to implement host_calls (see feather/plugin-host/src/host_calls.rs and /feather/quill/sys/src/lib.rs) such that we can edit them from plugins. Any change in these registries should probably also trigger change events. However i don't know what entity that event would be connected to? If you want a pointer on how to implement a event, then look at how i implemented #425
Some implementation questions.
Should we store all these registries together in one directory? I suggest '/feather/common/registries', does that seem fine? Do we need to implement serialisation/deserialisation such that their values can be saved once edited by a plugin?
Wrapping up:
If you are looking for something to do then i suggest working on Advancements, Functions, Loot Tables, or Recipes because they seem more immediately necessary. @Defman has started on recipes, but if someone is quick enough they can finish it before him 🥇
And feel free to ask in the discord if you have any questions .
The text was updated successfully, but these errors were encountered: