
Protect your cores and destroy the opponents' cores in an epic battle.
An ultra-configurable, high-performance Cores minigame plugin. Bring the classic, fast-paced tactical PvP experience to your network or community server with modular arena setups, automated rollbacks, and full PlaceholderAPI support!
Players are split into two teams: Team Red and Team Blue.
Waiting, Playing, Ending), and player count. Ongoing games are automatically moved to the end of the list and marked as accessible to spectators.Games Played, Wins, and Losses per player.All commands run through the main /cores command.
/cores join - Opens the join gui./cores leave - Leaves the game./cores stats - Shows the player stats in chat./cores start - Shortens the countdown in the waiting lobby to 5 seconds. (cores.command.start)./cores forcestart - Start the game immediately in the waiting lobby. (cores.command.forcestart).cores.admin)/cores setlobby - Sets the main lobby for the game./cores createarena <name> - Creates an arena./cores deletearena <name> - Deletes an arena./cores setwaiting <arena> - Sets the spawn on the waiting lobby./cores setspectator <arena> - Sets the spectator spawn./cores setspawn <arena> <red/blue> - Sets the team spawnpoint./cores setcore <arena> <red/blue> <1/2> - Sets a beacon at the position standing on./cores setmaxplayers <arena> <maxProTeam> - Defines maximum players per team./cores setminplayers <arena> <minProTeam> - Defines minimum players per team to start game./cores setmaxtime <arena> <seconds> - Sets max playtime./cores enable <arena> - Enables arena./cores disable <arena> - Disables arena./cores info <arena> - Shows info about given arena in chat./cores reload - Reloads the plugin.%cores_stats_games_played% - Number of played games.%cores_stats_wins% - Number of won games.%cores_stats_losses% - Number of lost games.%cores_in_arena% - Is player in arena (true | false).%cores_arena_name% - Name of arena.%cores_arena_state% - State of arena.%cores_arena_players% - Current players in arena.%cores_arena_max_players% - Max players of arena.%cores_arena_time_left% - Playtime left in arena.%cores_arena_red_players% - Count of players in red team.%cores_arena_blue_players% - Count of players in blue team.%cores_player_kills% - Kill count.%cores_player_cores_destroyed% - Cores destroyed count.%cores_player_team% - Name if team.%cores_player_team_color% - Color of team.%cores_player_spectator% - Is spectator (true | false).%cores_arena_<arena>_state% - Status of specified arena.%cores_arena_<arena>_players% - Playercount of specified arena.%cores_arena_<arena>_max_players% - Max players of specified arena.%cores_arena_<arena>_name% - Clean name of specified arena.# Cores Plugin - Main Configuration
# You can use PlaceholderAPI placeholders in most messages.
# General settings
lobby-location: null # Set via /cores setlobby
prefix-placeholder: "%luckperms_prefix%"
suffix-placeholder: "%luckperms_suffix%"
# Default kit items given to every player on spawn (format: MATERIAL:AMOUNT:DAMAGE or MATERIAL:AMOUNT)
default-kit:
- "STONE_SWORD:1"
- "BOW:1"
- "OAK_LOG:64"
- "ARROW:16"
- "GOLDEN_APPLE:16"
- "BREAD:32"
- "IRON_AXE:1"
- "IRON_PICKAXE:1"
# Commands executed at game end. Placeholders: {winner_player}, {loser_player}, {kills}
# Use {winners} for all winners, {losers} for all losers
end-commands:
per-winner:
- "eco give {player} 100"
per-kill:
- "eco give {player} 10"
# Spectator settings
spectator-fly: true
# Particle cosmetic settings, permission: cores.cosmetic.particles
cosmetic-particle: FLAME
cosmetic-particle-radius: 1.0
# Alarm sound when core is attacked
core-alarm:
enabled: true
sound: "BLOCK_NOTE_BLOCK_PLING"
volume: 1.0
pitch: 0.5
core-mining-fatigue:
amplifier: 0 # 0 = Fatigue I, 1 = II, 2 = III
# Spawn protection – enemies cannot enter this radius around the team spawns during a game.
# Block-breaking protection uses a separate radius (15 blocks, hardcoded above).
spawn-protection-radius: 10.0
# How many blocks around the two team-spawns to scan for chests when /cores enable runs.
# Increase if your map extends further than 200 blocks from the spawns.
chest-scan-padding: 200
# Messages (supports color codes with & and PlaceholderAPI)
messages:
prefix: "&8[&6Cores&8] &r"
no-permission: "&cYou don't have permission to do this."
player-only: "&cThis command can only be used by players."
chat-format: "{team}{prefix} {player}: &r{message}"
arena-not-found: "&cArena '{arena}' not found."
arena-already-exists: "&cAn arena with the name '{arena}' already exists."
arena-created: "&aArena '{arena}' created successfully."
arena-deleted: "&aArena '{arena}' deleted."
arena-enabled: "&aArena '{arena}' has been enabled."
arena-disabled: "&cArena '{arena}' has been disabled."
lobby-set: "&aLobby location set."
spawn-set: "&aSpawn for team {team} in arena '{arena}' set."
waiting-spawn-set: "&aWaiting lobby spawn for arena '{arena}' set."
spectator-spawn-set: "&aSpectator spawn for arena '{arena}' set."
core-set: "&aCore for team {team} in arena '{arena}' set at your location."
max-players-set: "&aMax players per team for arena '{arena}' set to {amount}."
min-players-set: "&aMin players per team for arena '{arena}' set to {amount}."
max-time-set: "&aMax game time for arena '{arena}' set to {seconds} seconds."
join-arena: "{suffix}{player} &ejoined the game."
leave-arena: "{suffix}{player} &eleft the game."
not-in-arena: "&cYou are not in an arena."
already-in-arena: "&cYou are already in an arena."
arena-full: "&cThis arena is full."
arena-not-enabled: "&cThis arena is not enabled or not set up yet."
game-started: "&aThe game has started!"
game-ended-winner: "&6Game Over! Team {team} has won!"
game-ended-time: "&6Game Over! Time ran out! Team {team} wins!"
game-ended-draw: "&6Game Over! It's a draw!"
countdown-start: "&eThe game starts in &6{seconds} &eseconds!"
countdown-waiting: "&eWaiting for more players... &7({current}/{min} per team)"
countdown-waiting-scoreboard: "&eWaiting for players"
player-killed: "{victimTeamColor}{victim} &7was killed by {killerTeamColor}{killer}&7." # Avaliable Placeholders: {victim}, {killer}, {victimTeamColor}, {killerTeamColor}, {victimPrefix}, {victimSuffix}, {killerPrefix}, {killerSuffix}
team-joined: "&aYou joined team &r{team}&a."
team-full: "&cThis team is already full. Teams must stay balanced."
enemy-spawn-enter: "&cYou can`t enter an enemys spawn!"
core-under-attack: "&c⚠ Your core is under attack!"
core-destroyed: "&4☠ A core of team {team} has been destroyed!"
core-destroyed-subtitle: "&rwas destroyed by {player}&r!"
core-destroyed-enemy: "&aYou destroyed a core of team {team}!"
spectator-join: "&7You are now spectating arena '{arena}'."
game-already-started-spectator: "&7The game already started. You joined as spectator."
start-countdown-set: "&aCountdown set to 5 seconds."
forcestart: "&aForce starting the game..."
not-enough-players: "&cNot enough players to start the game."
invalid-usage: "&cUsage: {usage}"
stats-header: "&6=== Your Cores Stats ==="
stats-games-played: "&7Games Played: &f{value}"
stats-wins: "&7Wins: &a{value}"
stats-losses: "&7Losses: &c{value}"
end-summary-header: "&6&l=== Game Summary ==="
end-summary-winner: "&aWinner: Team {team}"
end-summary-top-cores: "&7Top Core Destroyers:"
end-summary-top-kills: "&7Top Killers:"
end-summary-entry: "&7{rank}. {prefix} {player}&7: &e{value}"
teleport-lobby-in: "&7Teleporting to lobby in &f{seconds} &7seconds..."
leave-item-name: "&c&lLeave Game"
leave-item-lore: "&7Click to leave the arena"
team-selector-name: "&6&lTeam Selector"
team-selector-lore: "&7Click to choose your team"
team-red-name: "&c&lTeam Red"
team-blue-name: "&9&lTeam Blue"
team-red-lore: "&7Players: &f{current}/{max}"
team-blue-lore: "&7Players: &f{current}/{max}"
# Scoreboard settings
scoreboard:
waiting-title: "&6&lCores"
waiting-lines:
- "&7&m-----------"
- "&fArena: &6{arena_name}"
- ""
- "&fPlayers: &e{player_count}&7/&e{max_players}"
- ""
- "&fCountdown:"
- " &e{countdown}"
- "&7&m-----------"
game-title: "&6&lCores"
game-lines:
- "&7&m-----------"
- "&fArena: &6{arena_name}"
- ""
- "&cTeam Red:"
- " {red_core_1} &rLeft Core"
- " {red_core_2} &rRight Core"
- ""
- "&1Team Blue:"
- " {blue_core_1} &rLeft Core"
- " {blue_core_2} &rLeft Core"
- ""
- "&fPlayers alive: &e{alive_count}"
- "&fYour kills: &e{player_kills}"
- ""
- "&fTime left: &e{time_left}"
- "&7&m-----------"
core-status-intact: "&a✔"
core-status-attacked: "&e⚠"
core-status-destroyed: "&c✘"
# GUI settings
gui:
main-title: "&6&lCores - Play"
main-quick-join-name: "&a&lQuick Join"
main-quick-join-lore:
- "&7Join the arena with the most"
- "&7players currently waiting."
main-quick-join-material: "COMPASS"
main-arena-select-name: "&6&lSelect Arena"
main-arena-select-lore:
- "&7Browse all available arenas"
- "&7and choose one to join."
main-arena-select-material: "BOOK"
arena-select-title: "&6&lSelect Arena"
arena-button-waiting-material: "GREEN_CONCRETE"
arena-button-playing-material: "RED_CONCRETE"
arena-button-name: "&f{arena_name}"
arena-button-lore:
- "&7Status: {status}"
- "&7Players: &f{players}/{max_players}"
- ""
- "{join_hint}"
arena-button-join-hint: "&aClick to join!"
arena-button-spectate-hint: "&7Click to spectate."
arena-status-waiting: "&aWaiting"
arena-status-starting: "&eStarting"
arena-status-playing: "&cPlaying"
arena-status-disabled: "&8Disabled"
back-button-name: "&c&lBack"
back-button-material: "ARROW"

