Baikiruto - A Modern Cross-Version Item System
A practical Minecraft item-library plugin for production servers
One configuration style for Minecraft 1.12 through 1.21.11.
A practical Minecraft item-library plugin for production servers
One configuration style for Minecraft 1.12 through 1.21.11.
Why Choose Baikiruto?
Real Cross-Version Support
- Minecraft 1.12 - 1.21.11 support: write your item configuration once and use it across supported server versions.
- Automatic version adaptation: reduce the need to maintain separate configuration sets for different Minecraft versions.
- Smart component compatibility: handles minecraft: prefixes automatically and supports both plain text and structured configuration formats.
Performance and Flexibility
- Fluxon script engine: a high-performance scripting system designed for item behavior.
- ItemStream data-flow architecture: full lifecycle management through build -> read -> rebuild -> update.
- Seamless hot reload: detect configuration changes and update online players' items without restarting the server.
Extensible by Design
- Meta factory system: register custom item behaviors through MetaFactory.
- Dynamic type dispatch: route metas.type entries in configuration to the matching implementation automatically.
- Plugin-level API: complete developer-facing interfaces for deep third-party integration.
Built-In Administration Commands
Code (Text):
/baikiruto list # View all registered items
/baikiruto give # Give custom items
/baikiruto serialize # Serialize an item
/baikiruto rebuild # Rebuild an item
/baikiruto menu # Browse items in a grouped GUI
/baikiruto reload # Hot-reload configuration
/baikiruto selfcheck # Check system status
/baikiruto give # Give custom items
/baikiruto serialize # Serialize an item
/baikiruto rebuild # Rebuild an item
/baikiruto menu # Browse items in a grouped GUI
/baikiruto reload # Hot-reload configuration
/baikiruto selfcheck # Check system status
Best Use Cases
Baikiruto is a good fit for:
- RPG servers that need complex equipment, skills, artifacts, and consumables.
- Survival-enhanced servers with custom tools, weapons, food, and utility items.
- Minigame servers that rely on special items, rewards, and temporary gameplay effects.
- Cross-version networks that want a consistent item experience across multiple Minecraft versions.
Technical Positioning
- Script engine: Fluxon only. Kether is not supported.
- Scope: Baikiruto focuses on item systems. It is not intended to be an all-in-one plugin framework.
- Foundation: built on TabooLib 6.2.
Quick Start
Requirements
- Minecraft server: 1.12 - 1.21.11, running Bukkit, Spigot, or Paper.
- Java: 8 or newer.
- External dependencies: none. TabooLib is bundled.
Installation
- Download the latest build from GitHub Releases.
- Put Baikiruto-x.x.x.jar into your server's plugins folder.
- Restart the server and let Baikiruto generate its default configuration files.
- Edit item configuration files under plugins/Baikiruto/items/.
- Run /baikiruto reload to hot-reload the configuration.
Example Item Configuration
Code (Text):
# items/example.yml
example_sword:
material: DIAMOND_SWORD
display:
name: "&6Legendary Sword"
lore:
- "&7Attack Damage: &c+10"
- "&7Effect: Fire Aspect"
components:
damage: 10
unbreakable: true
metas:
trace:
scripts:
build: |
if (&ctx["debug"] == true) {
&sender?.sendMessage("[Baikiruto] meta build -> " + itemId)
}
return item
example_sword:
material: DIAMOND_SWORD
display:
name: "&6Legendary Sword"
lore:
- "&7Attack Damage: &c+10"
- "&7Effect: Fire Aspect"
components:
damage: 10
unbreakable: true
metas:
trace:
scripts:
build: |
if (&ctx["debug"] == true) {
&sender?.sendMessage("[Baikiruto] meta build -> " + itemId)
}
return item
Core Architecture
ItemStream Data Flow
Code (Text):
Configuration -> Item.build() -> ItemStream -> Meta injection -> ItemStack
|
v
Runtime modification
|
v
rebuild() / update()
|
v
Runtime modification
|
v
rebuild() / update()
Meta Extension System
Code (Text):
// Register a custom Meta implementation
MetaFactory.register("custom_effect") { config ->
CustomEffectMeta(config)
}
// Use it from configuration
metas:
- type: custom_effect
power: 100
MetaFactory.register("custom_effect") { config ->
CustomEffectMeta(config)
}
// Use it from configuration
metas:
- type: custom_effect
power: 100
Community and Support
Community Channels
- Discord: Join the Baikiruto Discord
- QQ Group: 1084513338
- Get help, share configurations, and report issues.
Open Source Repository
- GitHub: YsGqHY/Baikiruto
- View source code, submit issues, and contribute improvements.
Developer Documentation
- API documentation: docs/
- Configuration examples: examples/
- Development roadmap: docs/development-plan.md or docs/开发计划.md
Technical Highlights
Design Patterns
- Builder + Wrapper + Strategy: the foundation of the ItemStream architecture.
- Factory Pattern: dynamic Meta registration.
- Registry Pattern: thread-safe item registries.
- Lifecycle Management: three-phase initialization with LOAD -> ENABLE -> ACTIVE.
Performance Features
- Script preheating: precompile scripts during startup to reduce runtime overhead.
- Asynchronous execution support: powered by Fluxon's native async capabilities.
- NBT caching strategy: ItemStream caching reduces unnecessary serialization work.
Code Quality
- Multi-module architecture: clear separation between API, implementation, and Bukkit bootstrap modules.
Feature Comparison
- Cross-version support: Baikiruto supports Minecraft 1.12 - 1.21.11, while many traditional item plugins target a single version or offer limited compatibility.
- Script engine: Baikiruto uses Fluxon high-performance scripting, while alternatives often rely on Kether, JavaScript, or limited scripting systems.
- Hot reload: Baikiruto performs automatic online item update checks, while many plugins require manual reloads or restarts.
- Meta extension: Baikiruto uses dynamic factory-based registration, while traditional plugins are often hard-coded or configuration-limited.
- Developer API: Baikiruto provides complete developer-facing interfaces, while many plugins expose limited or no public API.
- Configuration compatibility: Baikiruto handles prefixes and text formats intelligently, while traditional plugins often require strict formats.
License
Baikiruto is released under the MIT License.
Support the Project
If Baikiruto is useful for your server, you can support the project by:
- Starring the project on GitHub.
- Sharing your experience with the community.
- Submitting bug reports or feature requests.
- Contributing code, documentation, or configuration examples.
Baikiruto - Make item systems simple, powerful, and cross-version.
Download | Documentation | Discord | QQ Group
Download | Documentation | Discord | QQ Group
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.12, 1.13, 1.14
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Baikiruto | One configuration style for Minecraft 1.12 through 1.21.11 is a free Minecraft Java mod. Compatible with Minecraft 1.12, 1.13, 1.14, 1.15 and newer. Downloaded 6 times (via Spigot). Download it and open it directly in the game.