* feat(plugin-api): add ServerTickEndEvent
Add a non-cancellable event fired at the end of every server tick,
carrying the 0-indexed tick number and the tick duration in nanoseconds.
Wires through all five layers: WIT contract, plugin-api guest binding,
runtime host struct, WASM bridge, and the ticker fire site.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix ci/ fmt
* chore: point pumpkin-plugin-wit submodule to fork with server-tick-end-event
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Revert submodule
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat(plugin-api): add ServerTickStartEvent
Add a non-cancellable event fired at the start of every server tick,
carrying the 0-indexed tick number. Wires through all five layers:
WIT contract, plugin-api guest binding, runtime host struct, WASM
bridge, and the ticker fire site.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix ci/ fmt
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat: wasm plugin api base
* fix: make metadata macro work
* chore: fix clippy lints
* Implement guest registering of events
* chore: remove hardcoded v0.1.0 dep in wasm_host
* feat: add events to wasm
* feat: add caching of components
* fix: clippy lints
* chore: update Cargo.lock
* fix: add feature flag for link section
* feat: add base for command wit definitions
* feat: implement arg variants for command wit interface
* feat: add commented out command-tree arg variant
* feat: add wit definitions for text-component and command tree
Introduces the text interface with a builder-pattern resource,
argument-type variant, command-node resource, and register-command
on context. Migrates event and command-sender to use the new
text-component resource.
* feat: add stubs for wasm host
* chore: update wasmtime to v42
* feat: implement three methods of wit textcomponent
* Add consume function
* feat: implement all text-component host methods
Replace todo!() stubs with working implementations for all
HostTextComponent trait methods: style setters, click events,
hover events, add_text, get_text, and encode.
* feat: allow events to be modified
* feat: add some of base for commands
* chore: fix spelling mistake
* chore: remove unused dep
* feat: implement all argument-type to consumer mappings
* Add command exports
* log plugin load errors
* Some commands work
* Some more Commands work
* Update how commands are registered
* Implement locale
* Use handler id with require
* chore: fix some warnings
* Add PlayerLeaveEvent
* chore: fix all clippy warnings
* fix: add more descriptive error message
---------
Co-authored-by: Purdze <r.s.sutton@hotmail.co.uk>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>