⛏ MStorage
Premium RPG Mining & Virtual Storage System
Transform your server's mining experience from a simple "break and place" routine into a deep, RPG-style progression system. MStorage replaces inventory clutter with a high-performance virtual "Mass" economy, complete with skill trees, custom tools, and enterprise-grade network syncing.
✨ Key Features
- ️ Click-to-Mine: Harvest resources into a virtual database (Mass) instead of chests. Includes holograms, BossBars, and particles!
- RPG Progression: Upgrade 7 distinct skills: Mining Speed, Yield, Fortune, Crit, Capacity, Auto-Sell, and Passive Miner.
- ⚒️ Custom Pickaxes: Design powerful tools with unique stats using PDCs and Custom Model Data. Stats update globally in real-time!
- Co-op Warehouses: Share storage and upgrade levels with friends.
- ️ Built-in Anti-Cheat: Smart Captcha system and CPS limiters to stop auto-clickers and bots.
- ⚡ Enterprise Performance: Anti-Flicker GUIs, async database batching (MySQL/SQLite), and optimized AoE mining (no FPS drops!).
- Redis Sync: Instant cross-server progression sync for networks.
️ Requirements & Installation
Requires: 1.21+, Java 21+, Vault, & an Economy provider.
(PlaceholderAPI & WorldGuard highly recommended).
1. Drop
MStorage.jar into your
/plugins/ folder.
2. Restart to generate configs (
config.yml,
messages.yml,
gui.yml).
3. Configure your economy, custom blocks, and (optional) Redis/MySQL.
4. Run
/mstorage reload or restart!
Commands
Player Commands:
- /mstorage menu - Open virtual storage & upgrades
- /mstorage stats [player] - View mining stats
- /mstorage top <material> - Leaderboards
- /mstorage pay <player> <ore> <amt> - Transfer mass
- /mstorage withdraw <ore> <amt> - Convert to physical items
- /mstorage coop <invite|accept|leave> - Manage shared storage
️ Admin Commands:
- /mstorage pickaxe <player> <id> - Give custom artifact tools
- /mstorage booster <give|global> - Manage multipliers
- /mstorage <addmass|setmass|removemass> - Edit balances
- /mstorage <addlevel|setlevel> - Edit upgrades
- /mstorage reset <player> <type> - Wipe player data
- /mstorage reload - Reload configs
PlaceholderAPI
- %mstorage_mass_<MATERIAL>% (e.g. diamond_ore)
- %mstorage_level_<UPGRADE>% (e.g. speed)
- %mstorage_top_<MATERIAL>_<RANK>_name%
- %mstorage_top_<MATERIAL>_<RANK>_mass%
Developer API
Code (Java):
// Example: Taking Mass from a player safely
UUID playerUUID
= player.
getUniqueId
(
)
;
if
(MStorageAPI.
takeMass
(playerUUID,
"DIAMOND_ORE",
50.0
)
)
{
player.
sendMessage
(
"Transaction successful!"
)
;
}
Documentation & Wiki
Need help configuring the Anti-Macro system, setting up Redis, or creating custom Pickaxes? We have extensive documentation!
Read the official Wiki here!