Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Features: Varius Registries Needed For Loading Datapacks #429

Open
Miro-Andrin opened this issue Jun 3, 2021 · 0 comments
Open

Features: Varius Registries Needed For Loading Datapacks #429

Miro-Andrin opened this issue Jun 3, 2021 · 0 comments

Comments

@Miro-Andrin
Copy link
Contributor

Miro-Andrin commented Jun 3, 2021

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 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant