PMMPCore is a modular plugin framework for Minecraft Bedrock Edition inspired by PocketMine-style ecosystems. It transforms the Bedrock Script API into a structured platform for scalable server development, persistent systems, and reusable plugin architecture.
This is not a gameplay addon — PMMPCore is a full development framework for building maintainable Bedrock server software.


What Does PMMPCore Do?
PMMPCore provides a complete runtime environment for Bedrock plugin development with:
- Modular plugin loading
- Centralized persistence
- Typed command systems
- Event-driven architecture
- Relational querying
- Runtime diagnostics
- Lifecycle-safe world initialization
- Shared framework services
It abstracts many of Bedrock Script API limitations into a cleaner and more scalable development experience.
⚠️ Who Is This For?
| User Type |
Recommended |
Reason |
| ❌ Casual Players |
Not Recommended |
PMMPCore is a framework, not a gameplay addon. |
| ✅ Server Owners |
Highly Recommended |
Build scalable multi-world servers with modular systems. |
| ✅ Plugin Developers |
Essential Tool |
Create reusable plugins using the PMMPCore API ecosystem. |
| ✅ Map Makers |
Recommended |
Add advanced scripting systems and persistent mechanics. |
✨ Major Features
✅ Modular Plugin Architecture
- Plugin lifecycle system
- Dependency validation
- Hard/soft dependency support
- Dynamic plugin registry
- Runtime plugin diagnostics
✅ Lifecycle-Safe Initialization
Formalized plugin lifecycle:
onLoad()
onEnable()
onStartup(event)
onWorldReady()
onDisable()
PMMPCore safely separates:
- startup registration
- world-ready persistence
- runtime hydration
to avoid Bedrock early-execution crashes.
✅ Advanced Persistence Layer
Built-in persistence powered by Dynamic Properties with:
- LRU cache
- Dirty write buffering
- Automatic flush scheduling
- Manual durability flushes
- WAL (Write-Ahead Log) recovery
- Plugin/player data namespaces
- Relational query layer
✅ RelationalEngine (Experimental)
PMMPCore includes a SQL-inspired relational engine for Bedrock.
Supported features include:
- Tables
- Indexes
- Composite indexes
- JOIN support
- Aggregations
- Materialized views
- Query caching
- Async query execution
Example query:
SELECT * FROM players WHERE money > 1000
✅ Native SQL Debug Shell
Built-in SQL shell commands for diagnostics and testing:
/sqltoggle on
/sqlseed
/sql SELECT * FROM items
/sql upsert items 99 {"name":"AdminBlade","power":250}
✅ Event & Service Architecture
Reusable runtime services:
- EventBus
- CommandBus
- Scheduler
- MigrationService
- PermissionService
- ObservabilityService
- TickCoordinator
✅ Diagnostics & Observability
Operational tools for debugging and monitoring:
/diag
/selftest
/info
/pluginstatus
Includes:
- scheduler metrics
- persistence metrics
- loaded services
- event topics
- plugin state diagnostics
🏗️ Core Architecture
| Component |
Description |
| Plugin Loader |
Dependency-aware runtime plugin loading and lifecycle management. |
| DatabaseManager |
Centralized persistence layer with caching and durability controls. |
| RelationalEngine |
SQL-inspired querying engine for structured Bedrock data. |
| CommandBus |
Typed command routing and execution services. |
| EventBus |
Cross-plugin communication and event dispatching. |
| MigrationService |
Plugin schema migrations and version upgrade support. |
| ObservabilityService |
Diagnostics, metrics, runtime monitoring, and debugging tools. |
🛠️ Core Commands
| Command |
Description |
/plugins |
Display all loaded plugins. |
/pluginstatus <plugin> |
Show detailed diagnostics for a plugin. |
/diag |
Run runtime diagnostics and observability checks. |
/selftest |
Execute internal framework validation tests. |
/info |
Display framework information and runtime status. |
/sql |
Execute relational engine queries. |
/sqltoggle |
Enable or disable SQL shell mode. |
🧩 Public API System
PMMPCore now exposes a curated public API surface:
scripts/api/index.js
API stability levels:
- stable
- experimental
- internal
This helps plugin developers avoid unsafe framework internals and improves long-term ecosystem stability.
🛠️ Plugin Development Example
import { PMMPCore } from "../../api/index.js";
PMMPCore.registerPlugin({
name: "MyPlugin",
version: "1.0.0",
depend: ["PMMPCore"],
onEnable() {
this.context = PMMPCore.getPluginContext("MyPlugin", "1.0.0");
},
onStartup(event) {
// Register commands only
},
onWorldReady() {
const count = PMMPCore.db.getPluginData("MyPlugin", "bootCount") ?? 0;
PMMPCore.db.setPluginData("MyPlugin", "bootCount", count + 1);
PMMPCore.db.flush();
},
});
🔌 Included Plugins
| Plugin |
Description |
| MultiWorld |
Advanced multi-world and dimension management. |
| PurePerms |
Permission and role management framework. |
| PlaceholderAPI |
Dynamic placeholder system for plugins. |
| EconomyAPI |
Economy and currency management APIs. |
| PureChat |
Chat formatting and communication systems. |
| EssentialsTP |
Teleportation and utility commands. |
| FormAPI |
Form creation and UI interaction utilities. |
| ScoreHud |
HUD and scoreboard rendering systems. |
| ExamplePlugin |
Reference plugin demonstrating framework APIs. |
⚙️ Technical Highlights
- Unified plugin lifecycle
- Lifecycle-safe DB access
- Structured persistence APIs
- Migration support
- Async query execution
- Query caching
- Event-driven architecture
- Tick-budgeted scheduling
- Runtime observability
- Dependency-aware plugin loading
📦 Compatibility & Requirements
- ⚠️ Requires Minecraft Bedrock Script API
- ⚠️ Disables Xbox Achievements
- ✅ Optimized for Minecraft Bedrock Preview / modern Script API builds
- ✅ Compatible with Realms and Dedicated Servers
- ✅ Cross-addon compatible
- ✅ License: GPL-3.0 - Free to use, modify, and distribute under the same terms.
📚 Documentation
PMMPCore now includes expanded technical documentation:
- Public API Guide
- Database Guide
- Plugin Development Guide
- Project Architecture Documentation
- Migration Guide
- Troubleshooting Playbook
📖 View Full Documentation
🚀 Getting Started
- Install PMMPCore as a Behavior Pack
- Enable Script API
- Add plugins inside:
scripts/plugins/
- Register plugin imports in:
scripts/plugins.js
- Start the world and verify with:
/plugins
/info
🎬 Video Showcase
Watch PMMPCore in action with:
- plugin creation tutorials
- MultiWorld showcases
- SQL engine demos
- diagnostics walkthroughs
- architecture explanations
▶ Watch PMMPCore Videos
❤️ Community & Support
Need help building Bedrock plugins? Join the PMMPCore Discord community for support, examples, and development discussions.
💬 Join Discord
⚠️ Important Notice
PMMPCore is a development framework for Minecraft Bedrock Edition.
It is intended for:
- plugin developers
- server owners
- advanced map creators
- scripting-focused projects
Basic JavaScript knowledge and familiarity with the Bedrock Script API are strongly recommended.