A prototype API for
quill, Feather's plugin API.
- Feather is based on [the ECS architecture], an alternative to classic object-oriented game architecture which is generally more flexible and slightly more performant.
- Feather plugins compile to WebAssembly and are run in a sandboxed environment.
cargo-quill, a command line tool to help build
and test Feather plugins:
cargo install cargo-quill
To start on a new plugin, run
cargo quill init myplugin.
cargo-quill creates a new directory called
fills it with a starter template.
Let's take a look at the directory structure:
myplugin ├── Cargo.toml └── src └── main.rs
(Would be reexported from
Position of a block in world space.
Error returned when a block cannot be accessed because its chunk is not loaded.
A builder for a command.
An RAII guard to a component reference.
An RAII guard to a mutable reference to a component.
Error returned when an entity no longer exists.
A handle to an entity. Provides access to components.
Error returned when a resource of some type does not exist.
The name of an entity.
A position in world space.
Struct passed to your plugin's
The main server state.
Error returned when attempting to get a component from an entity.
A type that can be associated with an entity as a component.
A type that can be stored in
A function that can be used as a command executor.
Result type returned by most functions.
A system, the