- Tested MC versions
- 1.20, 1.21, 26.1, 26.2, 26.3
MiniGameCore
MiniGameCore is a central plugin for managing minigame lobbies in Minecraft Paper Servers. It handles hosting, joining, starting, and stopping games – with animated scoreboards, statistics, and multiverse support.
🔧 Installation
- Download the latest
.jarfrom Modrinth or Releases. - Place the file in the
plugins/folder of your Minecraft server. - For permission-management, you can optionally use a plugin like LuckPerms.
- Restart the server once.
📜 Commands & Permissions
Aliases: /p for /party and /tc for /teamchat
| Command | Description | Permission |
|---|---|---|
/mg host <game> | Creates a new lobby | mgcore.host |
/mg join <lobby-id> | Join the lobby | mgcore.join |
/mg ready | Set your Status as Ready | mgcore.ready |
/mg unready | Set your Status as not Ready | mgcore.ready |
/mg confirm | Confirm an action | mgcore.confirm |
/mg leave | Leave the lobby or game | mgcore.leave |
/mg start | Start the game manually (if allowed) | mgcore.start |
/mg spectate <lobby-id|player> | Join a game as a spectator | mgcore.spectate |
/mg reload | Reload the plugin | mgcore.admin |
/mg stop <lobby-id> | Stop a specific game | mgcore.admin |
/mg stopall | Stop all active games | mgcore.admin |
/mg ban <player> | Ban the player from using most MiniGameCore commands | mgcore.admin |
/mg version | Displays the version of MiniGameCore you are using | mgcore.use (default) |
/party create <name> | Creates a new party | mgcore.party.create |
/party join <player> | Join the player's Party | mgcore.party.join |
/party leave | Leave your party | mgcore.party.join |
/party invite <player> | Invite a player to your party | mgcore.party.invite |
/party deny | Deny a player's invitation to their party | mgcore.party.invite |
/party list | List the Party's Members | mgcore.party.list |
/teamchat <message> | Sends the message to your team only | mgcore.teamchat |
⚙️ Plugin-Configurations
Plugin Configurations are located in the folder: ./plugins/MiniGameCore. The main configuration file is config.yml.
config.yml
Example config:
available-games:
- Game1
- Game2
- Game3
banned-players:
- 2e0749e5-4ec0-4201-b58d-c4277014749c
- 337482fe-8a15-47f6-bea5-a84918a86393
keep-worlds: false
disable-scoreboard: false
keep-inventories-after-games: true
Note: if keep-worlds: true, the plugin is going to move them to ./plugins/MiniGameCore/ArchivedWorlds instead of deleting them.
Loading Game-Worlds & Configuring them
The Folder for Gameworlds and configs is ./MiniGameCore. Every Game World should be named like this: <Game name>_world. If you want multiple maps per game, name the other worlds <Game name>_world<index>. The world configs are named config.yml and should be located in the Game's world folder.
All available options:
| Field | Description | Required / Default |
|---|---|---|
name | Display name of the game, e.g. in the scoreboard or at /mg host | |
maxPlayers | Maximum number of players for this game instance | |
teams | Maximum number of teams (0 for no teams, 2-8 teams possible) | |
minPlayers | Minimum number of players for this game | |
spawnPoints | Default spawn points for players without a team | |
teamSpawnPoints | Spawn points per team (e.g. 0: [...], 1: [...]) | |
inventory | Starting items at game start (e.g. ["WOODEN_SHOVEL"]) | |
allowed_break_blocks | Which blocks can be broken (e.g. ["SNOW_BLOCK"]) | |
allowed_place_blocks | Which blocks can be placed (e.g. ["OAK_PLANKS"]) | |
respawnMode | Control of respawn behavior: "true" or "false" | |
respawnDelay | Seconds delay until respawn (if enabled) | |
doDurability | Control ItemDamage: true (vanilla) or false | |
allowPVP | Allow PVP: true (vanilla) or false | |
blocked_damage_causes | Stop these damage causes from happening | |
timeLimit | Stops a game after X seconds have passed | |
allowFriendlyFire | Allow members of the same team to attack each other | |
allowCrafting | Allows Players to craft items during the game | |
silenceDeathMessages | Whether or not to silence death messages | |
hostPerm | Only players with this permission may host this game | |
joinPerm | Only players with this permission may join this game | |
doHunger | Whether players' hunger bars should deplete | |
allowOpeningContainers | Allows players to open containers before the game starts |
Example config for an 8 player Spleef-Game:
game:
name: Spleef
maxPlayers: 8
teams: 0
spawnPoints:
spawn1:
x: -11
y: 64
z: 0
spawn2:
x: -7
y: 64
z: -7
spawn3:
x: 0
y: 64
z: -11
spawn4:
x: 7
y: 64
z: -7
spawn5:
x: 11
y: 64
z: 0
spawn6:
x: 7
y: 64
z: 7
spawn7:
x: 0
y: 64
z: 11
spawn8:
x: -7
y: 64
z: 7
inventory:
- "iron_shovel"
allowed_break_blocks:
- "snow_block"
respawnMode: false
doDurability: false
allowPVP: false
‼️ API
You can use the MiniGameCoreAPI by importing the Project using Gradle! Paste this in your build.gradle:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
implementation 'com.github.Wueffi:MiniGameCore:master-SNAPSHOT'
}
In your project, import classes/events/methods using import wueffi.MiniGameCore.x
Available Events are:
GameStartEvent with event.getGameName() and event.getLobby()
GameOverEvent with event.getLobby()
Helpful MGC Classes are:
Lobby
Team
Available API methods are:
getLobbyManager() -> return the LobbyManager instance
winPlayer(Lobby lobby, Player player) -> let a singular Player win a game
winTeam(Lobby lobby, Team team) -> let a Team win a game
playerDeath(UUID playerid) -> notify MiniGameCore of a Players Death
playerAlive(UUID playerid) -> notify MiniGameCore of a Players Respawn
getRespawnLocation(UUID playerid) -> returns the Respawn location of a player
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta