Version 0.1.1 defers world mutations outside command and event callbacks for compatibility with Pumpkin 0.1.0-dev+26.2-26.40.
Persistent static command NPCs and dynamic holograms for PumpkinMC. NPCs are invulnerable, silent, gravity-free, and restored from JSON state. The full Pumpkin entity enum is accepted using names such as villager, iron_golem, or minecraft:zombie.
/npc add <entity> <name...>/npc add hologram <text...>/npc remove, then hit the NPC/npc tphere <npc-id>/npc change <entity> <npc-id>/npc lookhere <npc-id>/npc command <npc-id> <command...>/npc clearcommands <npc-id>/npc list
All commands require CalabazaNPC:command.admin, which defaults to operator level 3.
NPC command placeholders are {player}, {player_id}, {npc_id}, and {npc_name}. Commands execute as the hitting player by default; configure command_sender = "console" only when needed. allowed_command_prefixes can restrict executable command names.
Holograms use invisible, invulnerable, silent, gravity-free armor stands with visible names, providing broad Java/Bedrock compatibility. Built-ins are {npc_id}, {npc_name}, {online}, {max_players}, {tps}, and {mspt}. Optional fallbacks use {key|fallback}.
Other plugins can push cached placeholders through calabazanpc.ipc, globally or to npc:<id>. Configurable providers can also be polled on the scheduled refresh. Missing providers are skipped safely.
See docs/API.md.
cargo test
cargo clippy --target wasm32-wasip2 --all-targets -- -D warnings
cargo build --release --locked --target wasm32-wasip2