CalabazaTales is an event-driven MMORPG foundation for PumpkinMC. It ships as a Rust/WASM plugin plus original Java and Bedrock resource packs with a dark steel, gold, crimson, and sapphire medieval-anime HUD.
Version 0.1.7 targets the Pumpkin plugin ABI used by Pumpkin 0.1.0-dev+26.2-26.40. Java uses clickable chat quest links, while Bedrock uses native button forms.
Work in progress: the current resource packs provide functional vanilla HUD artwork. The full Sword Art Online-style animated HUD requires a separate client-side Java mod; a server plugin/resource pack cannot inject arbitrary dynamic HUD layout into an unmodified client. Bedrock clients will use the supported Bedrock UI/resource-pack fallback.
- Java inventory GUI and native Bedrock forms for quests and attributes.
- 50 sequential TOML quests across mining, collecting, and killing, from level 1 to 89.
- Persistent player levels, XP, unspent points, and four attributes: Damage, Defense, Speed, and Vitality.
- Dragon Seed currency with the symbol
Ds. - Inclusive X/Y/Z cuboid safe zones that can separately prevent block breaking, block placement, and PvP.
- A live target boss bar with target health and an armor estimate.
- Original health, armor, and target-bar artwork for Java 26.2 and Bedrock.
- Event-driven operation with no repeating scheduler.
- Download
CalabazaTales.wasm,CalabazaTales-Java-26.2.zip, and/orCalabazaTales-Bedrock.mcpackfrom the latest release. - Put
CalabazaTales.wasmin Pumpkin'spluginsfolder. - Start Pumpkin once. The plugin creates
plugins/data/CalabazaTales/config.toml,quests.toml,safe_zones.toml, andplayers/. - Install the Java ZIP as a resource pack or import the
.mcpackin Bedrock. - Run
/talesin game.
Pumpkin can also offer both packs from direct download URLs through [resource_pack.java] and [resource_pack.bedrock] in pumpkin.toml; a ready-to-merge example is in docs/pumpkin-resource-packs.toml. See Pumpkin's resource-pack configuration. The Java pack uses resource-pack format 88.0, the format published for Minecraft Java 26.2 in the official 26.2 technical notes. The Bedrock manifest follows Microsoft's resource-pack manifest reference.
/talesor/tales quests— open the quest journal./tales attributesor/tales stats— open character attributes./tales reload— validate and reload all TOML configuration; requiresCalabazaTales:command.admin.
Permissions:
CalabazaTales:command.tales— allowed by default.CalabazaTales:command.admin— permission level 3 operators by default.
Quests live in a separate quests.toml. Add another [[quests]] entry and run /tales reload:
[[quests]]
id = "q51"
title = "A New Tale"
description = "Mine cinnabar for the royal alchemist."
difficulty = "Legendary"
required_level = 90
prerequisite = "q50"
reward_xp = 50000
reward_ds = 9000
objective = { kind = "mine", target = "minecraft:cinnabar", amount = 256 }Supported objective kinds are mine, collect, and kill. Targets are namespaced identifiers. Quest IDs must be unique, amounts must be positive, and prerequisites must exist; invalid configuration is rejected without replacing the running setup.
Safe zones live in safe_zones.toml. Every coordinate is inclusive and Y is fully bounded:
[[zones]]
id = "capital"
display_name = "The Capital"
world = "minecraft:overworld"
min_x = -128
max_x = 128
min_y = -64
max_y = 320
min_z = -128
max_z = 128
block_break = true
block_place = true
pvp = trueXP is earned from mining, collecting, kills, and quest claims. The level curve, point grants, and attribute scaling are configured in config.toml. Damage and Defense modify direct entity combat, Speed changes walk speed, and Vitality changes maximum health. Player state is atomically persisted as JSON after meaningful changes.
The game logic is edition-neutral. Java uses container GUIs; Bedrock uses the native form API exposed by Pumpkin. Boss bars and normal HUD state are translated by Pumpkin. The two packs are separate because Java and Bedrock use different UI asset layouts.
Current kill attribution covers direct player damage. Projectile-owner attribution is planned because Pumpkin's current plugin event surface does not expose a projectile owner on the damage event. Safe-zone PvP prevention applies to player-versus-player damage; environmental and mob damage remain enabled.
rustup target add wasm32-wasip2
cargo build --release --locked
./scripts/build_assets.ps1
./scripts/package.ps1The plugin targets wasm32-wasip2 and pins the Pumpkin API revision used for the release. Source art and the deterministic asset generator are included so every HUD file can be rebuilt.
MIT. The generated HUD is an original CalabazaTales design inspired by the broad anime-fantasy MMORPG genre; it does not copy Sword Art Online artwork or branding.
