MCCore: The Ultimate Foundation for Bukkit Plugin Development
What Is MCCore?
If you have ever dabbled in Minecraft server customization, you know that writing Bukkit plugins can be a repetitive grind. MCCore, also known as MC Core, steps in as a robust library that handles the heavy lifting for developers. Instead of coding the same scoreboard logic or chat prefix system from scratch, you can tap into a collection of ready-made tools that speed up your workflow and encourage compatibility between plugins. Whether you are a newcomer eager to learn or a seasoned coder looking to cut down on boilerplate, MCCore provides a solid foundation.
Key Features at a Glance
MCCore bundles a wide range of utilities under one roof. Here is what you can expect:
- A flexible scoreboard engine with automatic cycling and custom board types
- Conflict-free chat management supporting multiple prefixes and colorful display names
- An intuitive command framework with built-in configuration and pagination
- Simplified config handling that auto-saves on server disable
- Name translation between Bukkit and vanilla for mobs, enchantments, and items
- Text manipulation tools for formatting, sizing, and splitting strings
- Region helpers like cuboids and spheres for spatial checks
Scoreboard System
Scoreboards are essential for displaying real-time information to players, and MCCore makes them a breeze. You can register multiple boards simultaneously and let them cycle automatically or let players pick their favorite via commands. The library introduces two specialized board types that eliminate manual updates.
The StatBoard automatically refreshes stats by implementing a single-method interface that converts your player data into scoreboard-ready values. Meanwhile, the TextBoard displays lines of text without worrying about length limits—it wraps messages intelligently. With an option to separate long messages, you can create an informative board in just a handful of lines of code.
Chat Management
Managing chat prefixes and display names often leads to conflicts when multiple plugins try to claim the same territory. MCCore solves this by introducing a layered prefix system. Plugin Prefixes are applied in code and tied to a plugin name, so they never clash. Unlockable Prefixes let players choose from an unlimited pool of custom tags and switch them on the fly. Both systems coexist peacefully, and display names support color codes through the ampersand character. All chat features are permission-controlled, giving you fine-grained control over who can use what.
Command Tools
Building commands with sub-commands and arguments can be tedious. MCCore offers a simple yet flexible system where you define as many command levels as you need, like /root sub1 sub2 sub3 args. Commands built with ConfigurableCommand become automatically configurable by server admins—they can enable or disable commands, rename them, and edit descriptions. On versions 1.7.9 and later, text buttons for navigating command help pages appear, making the experience polished and user-friendly.
Configuration and Text Utilities
Handling configuration files is another area where MCCore shines. It builds on the basic Bukkit tutorial implementation but adds the ability to create configs in custom folders and attach savable objects for effortless data persistence. Configs retrieved through MCCore automatically save when the plugin disables, so you never lose important settings. When setting up your server, you can easily install MCCore via the foxygame.net launcher, a modern tool that simplifies plugin management with direct downloads from its intuitive menu.
Beyond configs, the text manipulation utilities save hours of trial and error. TextFormatter converts strings into UpperCamelCase, lowerCamelCase, or a general title format. TextSizer measures string width in the chat box and can add precise spacing to align elements perfectly—far more accurate than manually adding spaces. TypeChecker validates whether a string is an integer, double, or other type before parsing, preventing crashes. TextSplitter divides messages into 16-character chunks, ideal for scoreboard line breaks.
Region Helpers
With Minecraft 1.9, MCCore introduced region helpers that simplify spatial logic. The Cuboid helper lets you define a box from various inputs and quickly retrieve blocks or players inside it, or check if a specific player is within the region. The Sphere helper works identically but with spherical boundaries. These tools are invaluable for minigames, protection plugins, or any feature that needs area awareness.
Permissions and Commands
MCCore comes with a comprehensive permission tree that lets you control every feature. Here are the main nodes:
core.*– grants all privilegescore.board.*– full access to scoreboard commandscore.board.cycle– allows board cycling (default true)core.board.list– lists active boards (default true)core.board.show– switches to a specific board (default true)core.board.stop– stops cycling (default true)core.chat.*– all chat permissionscore.chat.list– shows unlocked prefixes (default true)core.chat.name– sets display name (default op)core.chat.prefix– chooses active prefix (default true)core.chat.reset– resets display name (default op)
Player-facing commands are equally straightforward. Use /board with sub-commands like cycle, list, show <boardName>, or stop. Chat commands include /chat list, /chat name <displayName>, /chat prefix <prefixName>, and /chat reset. All of these integrate seamlessly with the permission system.
Conclusion
MCCore is more than a plugin—it is a developer’s toolkit that eliminates repetitive tasks and fosters plugin compatibility. By offering battle-tested implementations of scoreboards, chat management, commands, and more, it lets you focus on your unique ideas rather than reinventing the wheel. The project is actively maintained, with source code available on GitHub and detailed Javadocs and tutorials to guide you. If you are building Bukkit plugins, giving MCCore a try will save you time and help you create more polished, feature-rich experiences for your players.