Open caelunshun opened 3 years ago
@caelunshun I'd like to tackle the particle system if that's possible :)
I'd like to tackle the particle system if that's possible :)
Sure thing, thanks!
We'll probably want a Particle
type in libcraft that defines all possible particles, plus their associated metadata.
The steps for implementing this are:
quill
. That means a particle_spawn
method in the quill-sys
crate, plus a method on quill::Game
that invokes the raw quill_sys::particle_spawn
.particle_spawn
host call in Feather. This involves adding the function to crates/plugin-host/src/host_calls.rs
.Let me know if you have any questions, either here or on Discord.
@caelunshun I have a question on the design. Are you planning on making it possible to spawn generic ecs-entities into the ecs system directly through quill.
Or is it going to stay like the way it's done for the minecraft-entity builder is, where we just pass a struct containing all the required data back from the client (the plugin/quill) to the host (feather) and create the ecs-entity there.
Are you planning on making it possible to spawn generic ecs-entities into the ecs system directly through quill.
Or is it going to stay like the way it's done for the minecraft-entity builder is, where we just pass a struct containing all the required data back from the client (the plugin/quill) to the host (feather) and create the ecs-entity there.
Spawning raw entities without any default components is probably necessary, yes. The simplest way to do this would be to add a new entity_builder_new_empty
function in quill-sys
that creates an empty EntityBuilder
. (The current entity_builder_new
function adds default components to the builder for vanilla entities).
Quick summary of recent progress:
Next up:
307 introduces a preliminary draft of Feather's plugin API,
quill
. This is tracking issue for features needed in the plugin API to achieve the goals laid out in our mid-term roadmap.Foundational features:
Copy
components from the hostCopy
components from the hostCopy
components from the hostName
Inventory
Window
Features needed for a hub plugin implemented with Quill:
Features needed for minigames implemented with Quill:
WorldSource
s defined in plugins for custom world loading/saving logicMiscallaneous:
tar
file?