* 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>
* feat: add NBT structure template system
Adds a reusable system for loading and placing Minecraft structures from
NBT template files, enabling exact vanilla structure matching.
- Template loading system with lazy caching (DashMap)
- Block rotation and mirroring transformations
- Block entity creation for furnaces, chests, signs, etc.
- Pending block entity support in ProtoChunk for structure generation
- Biome Y clamping to prevent out-of-bounds lookups for tall structures
* feat: add nether fossil structure generation
Implement nether fossil structure with vanilla-matching placement logic
using the NBT template system:
- Column scan for air above soul sand/solid block
- 14 embedded NBT fossil templates with rotation support
- 50% chance dried ghast placement at fossil base
- Template skip_air support for IGNORE_AIR processor
* fix: formatting and clippy lints
---------
Signed-off-by: Matthieu B <66959271+mtthidoteu@users.noreply.github.com>
* added wrapping, unwrapping tags during serializing/deserializing NBT to/from bytes and added a serialization test
* fixed wrapping check in `wrap_tag_if_needed`
* added wrapped compound to test and renamed `put_component`
* fixed formatting
* fixed comment in test
* fixed test comments
* feat: add NBT structure template system
Adds a reusable system for loading and placing Minecraft structures from
NBT template files, enabling exact vanilla structure matching.
- Template loading system with lazy caching (DashMap)
- Block rotation and mirroring transformations
- Block entity creation for furnaces, chests, signs, etc.
- Pending block entity support in ProtoChunk for structure generation
- Biome Y clamping to prevent out-of-bounds lookups for tall structures
* feat: add igloo structure generation
Implement igloo structure with vanilla-matching placement logic using
the NBT template system:
- Dome, ladder shaft, and optional basement (50% chance)
- 3 embedded NBT templates (top, middle, bottom)
- Rotation support via template system
- Block entity support for furnaces, chests, etc.
---------
Signed-off-by: Alexander Medvedev <lilalexmed@proton.me>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
Adds a reusable system for loading and placing Minecraft structures from
NBT template files, enabling exact vanilla structure matching.
- Template loading system with lazy caching (DashMap)
- Block rotation and mirroring transformations
- Block entity creation for furnaces, chests, signs, etc.
- Pending block entity support in ProtoChunk for structure generation
- Biome Y clamping to prevent out-of-bounds lookups for tall structures
* fix: nether portal crash
* fix: hardcoded stage max and updated self-dependency path
* refactor: use ensure_dependency_chain and add tests
* chore: a few recommended changes
* fix: DAG issues and clippy
* chore: improve test coverage