ModsJava
LuckyBlockBattle [Free] ⭐ | Solo or Teams ⚔️ | 1 Mode ✅ | 1.16.5 - 26.2 ⭕
This is the free version of LuckyBlock Battle. It comes with one game mode, LuckyBattle, and one map. In local mode, only one arena is available. This version also does not support MySQL or SQLite. If you enjoy the plugin and would like to support the project, feel free to check out the Premium version, which includes 3 additional exclusive modes
:
https://www.spigotmc.org/resources/luckyblockbattle-⭐-solo-or-teams-⚔️-4-modes-✅-1-16-5-1-21-x-⭕.133064/
The ultimate LuckyBlock Battle plugin for your server: a complete lobby-to-finale arcade match system built for fast, repeatable rounds with maximum variety and minimal admin effort. Play solo or in teams, vote maps and modes, and choose exactly which content is available in your rotation. Get four distinct modes in one unified flow, including a truly unique LuckyQuiz mode you won’t find anywhere else, optionally powered by AI questions or fully playable offline with large local question pools.
What is LuckyBlockBattle?
LuckyBlockBattle is an all-in-one minigame plugin that handles everything from lobby, countdown, and voting to the active mode, spectators, and the final decision. It features an internal LuckyBlock system with configurable drops, supports crafting “Lucky” onto blocks, and can integrate external LuckyBlock plugins (recommended) so those LuckyBlocks can be distributed as well. Every module is toggleable, including scoreboard, tablist, holograms for stats (Top Wins, Top Kills), and database-backed stats storage. A built-in permissions system controls access to setup and management features, while customizable messages and item names let you match your server’s branding perfectly.
Example configs (click to expand)
These are example configurations. You can fully customize language, messages, items, timers, voting, LuckyBlocks, scoreboard/tablist, and more.
Spoiler: config.yml (main configuration)
Spoiler: 1) Base + Network
# ==============================================================================
# LuckyBlockBattle - Main Configuration
# ==============================================================================
# Base Settings
language: "EN" # DE | EN
testMode: false
# Network Settings (BungeeCord)
network:
lobbyServer: "Lobby"
lobbyFallbackServers: []
statusMotd:
lobby: "LOBBY"
countdown: "LOBBY"
ingame: "INGAME"
restarting: "RESTARTING"
resetting: "RESTARTING"
disabled: "OFFLINE"
Code (Text):
# ==============================================================================
# LuckyBlockBattle - Main Configuration
# ==============================================================================
# Base Settings
language: "EN" # DE | EN
testMode: false
# Network Settings (BungeeCord)
network:
lobbyServer: "Lobby"
lobbyFallbackServers: []
statusMotd:
lobby: "LOBBY"
countdown: "LOBBY"
ingame: "INGAME"
restarting: "RESTARTING"
resetting: "RESTARTING"
disabled: "OFFLINE"
Spoiler: 2) Players + Countdown + Timers
# Player Settings
players:
minToStart: 2
minWhileCounting: 2
shortenAt: 3
maxPlayers: 16
# Countdown Settings
countdown:
seconds: 60
shortenToSeconds: 12
waitingMessageDelayTicks: 40
# Timer Settings (Duration of phases in seconds)
timers:
abbau:
seconds: 540
airBattle:
seconds: 540
luckyQuizArena:
seconds: 540
toArena:
announceAt: [60, 20, 10, 5, 4, 3, 2, 1]
arena:
seconds: 600
announceAt: [60, 20, 10, 5, 4, 3, 2, 1]
Code (Text):
# Player Settings
players:
minToStart: 2
minWhileCounting: 2
shortenAt: 3
maxPlayers: 16
# Countdown Settings
countdown:
seconds: 60
shortenToSeconds: 12
waitingMessageDelayTicks: 40
# Timer Settings (Duration of phases in seconds)
timers:
abbau:
seconds: 540
airBattle:
seconds: 540
luckyQuizArena:
seconds: 540
toArena:
announceAt: [60, 20, 10, 5, 4, 3, 2, 1]
arena:
seconds: 600
announceAt: [60, 20, 10, 5, 4, 3, 2, 1]
Spoiler: 3) Round end + Spectators
# Round End Settings
roundEnd:
delaySeconds: 10
winnerCelebrationSeconds: 8
restartCommand: "restart"
autoEndAfterSeconds: 0
round:
allowMultiplePerBoot: false
# Spectator System
spectator:
joinIfFull: true
joinIfLive: true
showScoreboard: true
showCountdown: true
chatOnly: false
Code (Text):
# Round End Settings
roundEnd:
delaySeconds: 10
winnerCelebrationSeconds: 8
restartCommand: "restart"
autoEndAfterSeconds: 0
round:
allowMultiplePerBoot: false
# Spectator System
spectator:
joinIfFull: true
joinIfLive: true
showScoreboard: true
showCountdown: true
chatOnly: false
Spoiler: 4) Voting (categories, maps, weights, items)
# Voting System
vote:
guiTitle: "&9Map Vote"
confirm:
enabled: true
message: "&7You voted for &9{map}&7."
premiumWeightEnabled: true
premiumWeight: 2
# Manual slot configuration (-1 for automatic symmetry)
slots:
categories:
LUCKY_BATTLE: -1
LUCKY_RACE: -1
AIR_BATTLE: -1
maps:
LUCKY_BATTLE_MAP1: -1
LUCKY_BATTLE_MAP2: -1
LUCKY_BATTLE_MAP3: -1
LUCKY_RACE_MAP1: -1
LUCKY_RACE_MAP2: -1
LUCKY_RACE_MAP3: -1
AIR_BATTLE_MAP1: -1
AIR_BATTLE_MAP2: -1
AIR_BATTLE_MAP3: -1
LUCKY_QUIZ: -1
# Item Material configuration
materials:
categories:
LUCKY_BATTLE: "SPONGE"
LUCKY_RACE: "GOLDEN_BOOTS"
AIR_BATTLE: "FEATHER"
maps:
LUCKY_BATTLE_MAP1: "GRASS_BLOCK"
LUCKY_BATTLE_MAP2: "GRASS_BLOCK"
LUCKY_BATTLE_MAP3: "GRASS_BLOCK"
LUCKY_RACE_MAP1: "DIAMOND_BOOTS"
LUCKY_RACE_MAP2: "DIAMOND_BOOTS"
LUCKY_RACE_MAP3: "DIAMOND_BOOTS"
AIR_BATTLE_MAP1: "FEATHER"
AIR_BATTLE_MAP2: "FEATHER"
AIR_BATTLE_MAP3: "FEATHER"
LUCKY_QUIZ: "BOOK"
weightsNoVotes:
LUCKY_BATTLE_MAP1: 10
LUCKY_BATTLE_MAP2: 10
LUCKY_BATTLE_MAP3: 10
LUCKY_RACE_MAP1: 10
LUCKY_RACE_MAP2: 10
LUCKY_RACE_MAP3: 10
AIR_BATTLE_MAP1: 10
AIR_BATTLE_MAP2: 10
AIR_BATTLE_MAP3: 10
LUCKY_QUIZ: 10
mapDisplayNames:
LUCKY_BATTLE_MAP1: "&aLuckyBattle"
LUCKY_BATTLE_MAP2: "&bLucky Battle 2"
LUCKY_BATTLE_MAP3: "&eLucky Battle 3"
LUCKY_RACE_MAP1: "&6Lucky Race"
LUCKY_RACE_MAP2: "&eLucky Race 2"
LUCKY_RACE_MAP3: "&cLucky Race 3"
AIR_BATTLE_MAP1: "&bAirBattle"
AIR_BATTLE_MAP2: "&3AirBattle 2"
AIR_BATTLE_MAP3: "&1AirBattle 3"
LUCKY_QUIZ: "&dLuckyQuiz"
Code (Text):
# Voting System
vote:
guiTitle: "&9Map Vote"
confirm:
enabled: true
message: "&7You voted for &9{map}&7."
premiumWeightEnabled: true
premiumWeight: 2
# Manual slot configuration (-1 for automatic symmetry)
slots:
categories:
LUCKY_BATTLE: -1
LUCKY_RACE: -1
AIR_BATTLE: -1
maps:
LUCKY_BATTLE_MAP1: -1
LUCKY_BATTLE_MAP2: -1
LUCKY_BATTLE_MAP3: -1
LUCKY_RACE_MAP1: -1
LUCKY_RACE_MAP2: -1
LUCKY_RACE_MAP3: -1
AIR_BATTLE_MAP1: -1
AIR_BATTLE_MAP2: -1
AIR_BATTLE_MAP3: -1
LUCKY_QUIZ: -1
# Item Material configuration
materials:
categories:
LUCKY_BATTLE: "SPONGE"
LUCKY_RACE: "GOLDEN_BOOTS"
AIR_BATTLE: "FEATHER"
maps:
LUCKY_BATTLE_MAP1: "GRASS_BLOCK"
LUCKY_BATTLE_MAP2: "GRASS_BLOCK"
LUCKY_BATTLE_MAP3: "GRASS_BLOCK"
LUCKY_RACE_MAP1: "DIAMOND_BOOTS"
LUCKY_RACE_MAP2: "DIAMOND_BOOTS"
LUCKY_RACE_MAP3: "DIAMOND_BOOTS"
AIR_BATTLE_MAP1: "FEATHER"
AIR_BATTLE_MAP2: "FEATHER"
AIR_BATTLE_MAP3: "FEATHER"
LUCKY_QUIZ: "BOOK"
weightsNoVotes:
LUCKY_BATTLE_MAP1: 10
LUCKY_BATTLE_MAP2: 10
LUCKY_BATTLE_MAP3: 10
LUCKY_RACE_MAP1: 10
LUCKY_RACE_MAP2: 10
LUCKY_RACE_MAP3: 10
AIR_BATTLE_MAP1: 10
AIR_BATTLE_MAP2: 10
AIR_BATTLE_MAP3: 10
LUCKY_QUIZ: 10
mapDisplayNames:
LUCKY_BATTLE_MAP1: "&aLuckyBattle"
LUCKY_BATTLE_MAP2: "&bLucky Battle 2"
LUCKY_BATTLE_MAP3: "&eLucky Battle 3"
LUCKY_RACE_MAP1: "&6Lucky Race"
LUCKY_RACE_MAP2: "&eLucky Race 2"
LUCKY_RACE_MAP3: "&cLucky Race 3"
AIR_BATTLE_MAP1: "&bAirBattle"
AIR_BATTLE_MAP2: "&3AirBattle 2"
AIR_BATTLE_MAP3: "&1AirBattle 3"
LUCKY_QUIZ: "&dLuckyQuiz"
Spoiler: 5) LuckyBlocks (external give commands)
# LuckyBlock Settings
luckyBlocks:
distributeMessageDelaySeconds: 2
giveAfterSeconds: 10
amountPerPlayer: 25
giveCommands:
# Placeholders: {player}, {amount}, {luckyblocks_amount}
- "nalb give default {amount} {player}"
- "give {player} minecraft:sponge{display:{Name:'{\\"text\\":\\"LuckyBlock\\",\\"italic\\":false,\\"color\\":\\"gold\\"}'}} 10"
- "lb give {player} black"
- "lb give {player} blue"
- "lb give {player} brown"
- "lb give {player} cyan"
- "lb give {player} gray"
- "lb give {player} green"
- "lb give {player} light_blue"
- "lb give {player} light_gray"
- "lb give {player} lime"
- "lb give {player} magenta"
- "lb give {player} orange"
- "lb give {player} pink"
- "lb give {player} purple"
- "lb give {player} red"
- "lb give {player} white"
- "lb give {player} yellow"
- "slb give default {player} 5"
Code (Text):
# LuckyBlock Settings
luckyBlocks:
distributeMessageDelaySeconds: 2
giveAfterSeconds: 10
amountPerPlayer: 25
giveCommands:
# Placeholders: {player}, {amount}, {luckyblocks_amount}
- "nalb give default {amount} {player}"
- "give {player} minecraft:sponge{display:{Name:'{\\"text\\":\\"LuckyBlock\\",\\"italic\\":false,\\"color\\":\\"gold\\"}'}} 10"
- "lb give {player} black"
- "lb give {player} blue"
- "lb give {player} brown"
- "lb give {player} cyan"
- "lb give {player} gray"
- "lb give {player} green"
- "lb give {player} light_blue"
- "lb give {player} light_gray"
- "lb give {player} lime"
- "lb give {player} magenta"
- "lb give {player} orange"
- "lb give {player} pink"
- "lb give {player} purple"
- "lb give {player} red"
- "lb give {player} white"
- "lb give {player} yellow"
- "slb give default {player} 5"
Spoiler: 6) Mode settings (Race, AirBattle, Quiz)
# Mode-Specific Settings
luckyRace:
teleportDelaySeconds: 20
airBattle:
keepInventory: true
spawnBlockProtection:
enabled: true
radius: 4
luckyQuiz:
offersEnabled: true
nextMapWeights:
LUCKY_BATTLE_MAP1: 34
LUCKY_BATTLE_MAP2: 33
LUCKY_BATTLE_MAP3: 33
rewards:
blocksCorrect: 1
blocksCorrectFirst: 2
items:
sponge:
type: "COMMAND"
baseAmount: 3
questionWeight: 10
command: "give {player} minecraft:sponge{display:{Name:'{\\"text\\":\\"LuckyBlock\\",\\"italic\\":false,\\"color\\":\\"gold\\"}'}} {amount}"
nalb:
type: "COMMAND"
baseAmount: 8
questionWeight: 50
command: "nalb give default {amount} {player}"
lb:
type: "COMMAND"
baseAmount: 6
questionWeight: 40
command: "lb give {player} {random_color}"
internal_lucky_block:
type: "INTERNAL_LUCKY_BLOCK"
baseAmount: 3
questionWeight: 35
command: ""
slb:
type: "COMMAND"
baseAmount: 2
questionWeight: 0
command: "slb give default {player} {amount}"
Code (Text):
# Mode-Specific Settings
luckyRace:
teleportDelaySeconds: 20
airBattle:
keepInventory: true
spawnBlockProtection:
enabled: true
radius: 4
luckyQuiz:
offersEnabled: true
nextMapWeights:
LUCKY_BATTLE_MAP1: 34
LUCKY_BATTLE_MAP2: 33
LUCKY_BATTLE_MAP3: 33
rewards:
blocksCorrect: 1
blocksCorrectFirst: 2
items:
sponge:
type: "COMMAND"
baseAmount: 3
questionWeight: 10
command: "give {player} minecraft:sponge{display:{Name:'{\\"text\\":\\"LuckyBlock\\",\\"italic\\":false,\\"color\\":\\"gold\\"}'}} {amount}"
nalb:
type: "COMMAND"
baseAmount: 8
questionWeight: 50
command: "nalb give default {amount} {player}"
lb:
type: "COMMAND"
baseAmount: 6
questionWeight: 40
command: "lb give {player} {random_color}"
internal_lucky_block:
type: "INTERNAL_LUCKY_BLOCK"
baseAmount: 3
questionWeight: 35
command: ""
slb:
type: "COMMAND"
baseAmount: 2
questionWeight: 0
command: "slb give default {player} {amount}"
Spoiler: 7) PvP + Bossbars
# PvP Settings per mode (Arena is always enabled)
pvp:
luckyBattle:
enabled: false
luckyRace:
enabled: false
airBattle:
enabled: false
luckyQuiz:
enabled: false
# Bossbar Settings
bossbar:
abbau:
enabled: true
title: "&9Farming Phase&7: &f{time} &7until Arena"
color: "BLUE"
style: "SOLID"
airBattle:
enabled: true
title: "&9AirBattle&7: &f{time} &7until Arena"
color: "BLUE"
style: "SOLID"
luckyQuizArena:
enabled: true
title: "&9LuckyQuiz&7: &f{time} &7until Arena"
color: "BLUE"
style: "SOLID"
arena:
enabled: true
title: "&9Arena&7: &f{time} &7until decision"
color: "BLUE"
style: "SOLID"
Code (Text):
# PvP Settings per mode (Arena is always enabled)
pvp:
luckyBattle:
enabled: false
luckyRace:
enabled: false
airBattle:
enabled: false
luckyQuiz:
enabled: false
# Bossbar Settings
bossbar:
abbau:
enabled: true
title: "&9Farming Phase&7: &f{time} &7until Arena"
color: "BLUE"
style: "SOLID"
airBattle:
enabled: true
title: "&9AirBattle&7: &f{time} &7until Arena"
color: "BLUE"
style: "SOLID"
luckyQuizArena:
enabled: true
title: "&9LuckyQuiz&7: &f{time} &7until Arena"
color: "BLUE"
style: "SOLID"
arena:
enabled: true
title: "&9Arena&7: &f{time} &7until decision"
color: "BLUE"
style: "SOLID"
Spoiler: 8) Stats + Holograms + InventorySwitch + TeamMode
# Statistics & Holograms
stats:
enabled: true
statsCommand:
enabled: true
permission: "luckyblockbattle.stats"
messages:
playersOnly: "&cPlayers only."
disabled: "&cThe /stats command is disabled."
lines:
- "&9Your Stats"
- "&7Kills: &f{kills}"
- "&7Deaths: &f{deaths}"
- "&7K/D: &f{kd}"
- "&7Wins: &f{wins}"
- "&7Matches: &f{matches}"
hologram:
enabled: true
updateTicks: 20
visibleRange: 20
# Features
inventorySwitcher:
enabled: true
item:
slot: 8
inv1: "&9Inventory 1"
inv2: "&cInventory 2"
lobbyItems:
mapVote:
slot: 0
invSwitch:
slot: 1
back:
slot: 8
teamMode:
enabled: false
teamSize: 2
teamCount: 2
item:
material: "MAGMA_CREAM"
slot: 2
name: "&cTeam Selection"
lore:
- "&7Right-click to select a team"
gui:
title: "&9Team Selection"
teamNameFormat: "{team_color}{team_name}"
teamLore:
- "&7Players: &f{players_count}&7/&f{players_max}"
- "&7Members: &f{players_list}"
teams:
- name: "&cTeam Red"
color: "RED"
- name: "&9Team Blue"
color: "BLUE"
- name: "&aTeam Green"
color: "GREEN"
- name: "&eTeam Yellow"
color: "YELLOW"
Code (Text):
# Statistics & Holograms
stats:
enabled: true
statsCommand:
enabled: true
permission: "luckyblockbattle.stats"
messages:
playersOnly: "&cPlayers only."
disabled: "&cThe /stats command is disabled."
lines:
- "&9Your Stats"
- "&7Kills: &f{kills}"
- "&7Deaths: &f{deaths}"
- "&7K/D: &f{kd}"
- "&7Wins: &f{wins}"
- "&7Matches: &f{matches}"
hologram:
enabled: true
updateTicks: 20
visibleRange: 20
# Features
inventorySwitcher:
enabled: true
item:
slot: 8
inv1: "&9Inventory 1"
inv2: "&cInventory 2"
lobbyItems:
mapVote:
slot: 0
invSwitch:
slot: 1
back:
slot: 8
teamMode:
enabled: false
teamSize: 2
teamCount: 2
item:
material: "MAGMA_CREAM"
slot: 2
name: "&cTeam Selection"
lore:
- "&7Right-click to select a team"
gui:
title: "&9Team Selection"
teamNameFormat: "{team_color}{team_name}"
teamLore:
- "&7Players: &f{players_count}&7/&f{players_max}"
- "&7Members: &f{players_list}"
teams:
- name: "&cTeam Red"
color: "RED"
- name: "&9Team Blue"
color: "BLUE"
- name: "&aTeam Green"
color: "GREEN"
- name: "&eTeam Yellow"
color: "YELLOW"
Spoiler: 9) System + World reset + Setup guide marker
# System Settings
sound:
enabled: true
name: "BLOCK_NOTE_BLOCK_PLING"
volume: 0.8
pitch: 1.2
commands:
invSwitcher: "inventarswitcher {player}"
backServer: "server LuckyBattle"
worldReset:
enabled: false
resetOnEnable: false
templateFolder: "world-templates"
useTemplateFolderWorldList: true
keepWorlds:
- "Lobby"
worlds:
- "LuckyBattle"
- "LuckyIslands"
- "LuckyRace"
- "AirBattle"
- "Quiz"
- "Arena"
multiverse:
autoImport: false
autoLoad: false
mapBorder:
messageEnabled: true
setupGuide:
askOnJoin: true
completed: false
promptedAdmins: []
Code (Text):
# System Settings
sound:
enabled: true
name: "BLOCK_NOTE_BLOCK_PLING"
volume: 0.8
pitch: 1.2
commands:
invSwitcher: "inventarswitcher {player}"
backServer: "server LuckyBattle"
worldReset:
enabled: false
resetOnEnable: false
templateFolder: "world-templates"
useTemplateFolderWorldList: true
keepWorlds:
- "Lobby"
worlds:
- "LuckyBattle"
- "LuckyIslands"
- "LuckyRace"
- "AirBattle"
- "Quiz"
- "Arena"
multiverse:
autoImport: false
autoLoad: false
mapBorder:
messageEnabled: true
setupGuide:
askOnJoin: true
completed: false
promptedAdmins: []
Spoiler: 10) Spawns & Worlds (keep at end)
# ==============================================================================
# SPAWNS & WORLDS (Please keep at the end of the file)
# ==============================================================================
worlds:
lobby: "Lobby"
lobbySpawn:
world: "Lobby"
x: 0
y: 64
z: 0
yaw: 0.0
pitch: 0.0
spectatorSpawns: {}
modes:
LUCKY_BATTLE_MAP1:
world: "LuckyBattle"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_BATTLE_MAP2:
world: "LuckyIslands"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_BATTLE_MAP3:
world: "LuckyBattle3"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_RACE_MAP1:
world: "LuckyRace"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_RACE_MAP2:
world: "LuckyRace2"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_RACE_MAP3:
world: "LuckyRace3"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
AIR_BATTLE_MAP1:
world: "AirBattle"
wrapAroundIfMorePlayersThanSpawns: true
spawns: {}
AIR_BATTLE_MAP2:
world: "AirBattle2"
wrapAroundIfMorePlayersThanSpawns: true
spawns: {}
AIR_BATTLE_MAP3:
world: "AirBattle3"
wrapAroundIfMorePlayersThanSpawns: true
spawns: {}
LUCKY_QUIZ:
world: "Quiz"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
hologram_locations:
personal:
set: false
world: "Lobby"
x: 0
y: 65
z: 0
topKills:
set: false
world: "Lobby"
x: 5
y: 65
z: 0
topWins:
set: false
world: "Lobby"
x: -5
y: 65
z: 0
Code (Text):
# ==============================================================================
# SPAWNS & WORLDS (Please keep at the end of the file)
# ==============================================================================
worlds:
lobby: "Lobby"
lobbySpawn:
world: "Lobby"
x: 0
y: 64
z: 0
yaw: 0.0
pitch: 0.0
spectatorSpawns: {}
modes:
LUCKY_BATTLE_MAP1:
world: "LuckyBattle"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_BATTLE_MAP2:
world: "LuckyIslands"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_BATTLE_MAP3:
world: "LuckyBattle3"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_RACE_MAP1:
world: "LuckyRace"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_RACE_MAP2:
world: "LuckyRace2"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
LUCKY_RACE_MAP3:
world: "LuckyRace3"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
AIR_BATTLE_MAP1:
world: "AirBattle"
wrapAroundIfMorePlayersThanSpawns: true
spawns: {}
AIR_BATTLE_MAP2:
world: "AirBattle2"
wrapAroundIfMorePlayersThanSpawns: true
spawns: {}
AIR_BATTLE_MAP3:
world: "AirBattle3"
wrapAroundIfMorePlayersThanSpawns: true
spawns: {}
LUCKY_QUIZ:
world: "Quiz"
wrapAroundIfMorePlayersThanSpawns: false
spawns: {}
hologram_locations:
personal:
set: false
world: "Lobby"
x: 0
y: 65
z: 0
topKills:
set: false
world: "Lobby"
x: 5
y: 65
z: 0
topWins:
set: false
world: "Lobby"
x: -5
y: 65
z: 0
Commands (click to expand)
Short help-style overview of all commands included in the current version.
Spoiler: All commands (Player + Admin/Setup + Border)
Player commands
Admin and setup commands (/lbb)
/lbb set ... (setup positions)
/lbb del ... (also /lbb delete)
/lbb arena ... (LOCAL_MULTI only)
Border commands
- /lbb help [page] - Show the LuckyBlockBattle help pages (1-3).
- /arena - Skip the farming phase and start the PvP/Arena transition.
- /skip - Shorten the currently running countdown.
- /stats - View your stats (Kills, Deaths, K/D, Wins, Matches).
- /coins - View your current amount of Coins.
- /world {world} - Teleport to a world.
- /world list - List available worlds.
- /inventarswitcher - Receive the Inventory Switcher item.
- /inventarswitcher {player} - Give the Inventory Switcher to another player.
- /invswitch - Alias of /inventarswitcher.
- /is on|off - Enable or disable the Inventory Switcher for yourself.
Admin and setup commands (/lbb)
- /lbb setup start|stop|status|next|skip|reset|resetprompts - Control the guided in-game setup wizard.
- /lbb reload - Reload plugin configuration.
- /lbb testmode - Toggle test mode.
- /lbb skip - Shorten the countdown via LBB command.
- /lbb giveinternal {player} [amount] - Give internal LuckyBlocks.
- /lbb minplayers {number} - Set minimum players to start.
- /lbb maxplayers {number} - Set maximum players.
/lbb set ... (setup positions)
- /lbb set lobbyspawn - Set the lobby spawn.
- /lbb set modespawn {mode} {slot} - Set a spawn point for a mode.
- /lbb set modeworld {mode} {world} - Set the world used for a mode.
- /lbb set arenaspawn {slot} - Set an arena spawn.
- /lbb set arenaworld {world} - Set the arena world.
- /lbb set spectatorspawn - Set spectator spawn for the current world.
- /lbb set finish {map} {slot} - Start LuckyRace finish binding.
- /lbb set checkpoint {map} {slot} {index} - Set a LuckyRace checkpoint (stand on a pressure plate) (slot 2, index 1 = first checkpoint for player 2).
- /lbb set quizbutton {slot} A|B|C|D|5050 - Start quiz button binding.
- /lbb set holo personal|topkills|topwins - Set hologram position.
/lbb del ... (also /lbb delete)
- /lbb del modespawn {mode} {slot} - Delete a mode spawn.
- /lbb del arenaspawn {slot} - Delete an arena spawn.
- /lbb del finish {map} {slot} - Delete a race finish.
- /lbb del checkpoint {map} - Delete the checkpoint on the current pressure plate.
- /lbb del checkpoint {map} {slot} {index} - Legacy checkpoint delete mode.
- /lbb del holo personal|topkills|topwins - Delete a hologram.
/lbb arena ... (LOCAL_MULTI only)
- /lbb arena list - Show all available arenas.
- /lbb arena join {name} - Join the selected arena.
- /lbb arena leave {name} - Leave the selected arena.
- /lbb arena create {name} - Create a new arena.
- /lbb arena delete {name} - Delete an existing arena.
- /lbb arena select {name} - Select an arena for setup or editing.
- /lbb arena sign {name} - Create a join sign for the selected arena.
- /lbb arena return {name} - Return to the selected arena after setup.
Border commands
- /lbb borderpos1 - Set the first border corner.
- /lbb borderpos2 - Set the second border corner.
- /lbb borderset - Save and enable the border.
- /lbb borderclear - Remove the border in the current world.
- Multiple game modes inside one unified match loop (no separate plugins needed) (Full Version)
- Built-in kit system with 5 different kits for more gameplay variety
- Guided in-game setup wizard that walks you step by step through the initial configuration
- Lobby and countdown orchestration (bossbars, sounds, messages, player state handling)
- Voting system for categories and maps, including weighted votes (Full Version)
- Team mode (team selection GUI, auto-assignment, configurable team sizes, colors, and names)
- Spectator system (join full or running rounds, visibility and chat controls)
- Final Arena phase as the decisive PvP endgame with clean winner detection (solo and teams)
- Network-ready flow with BungeeCord lobby sending and configurable fallback servers
- Stats system with multiple storage backends: YAML, SQLite, MySQL (Full Version)
- Full localization: German and English via central language files
- Extensive admin setup tools via commands (spawns, worlds, checkpoints, finishes, quiz buttons, border, and more
Spoiler: Lobby (video)
- LuckyBattle
Start with a pure LuckyBlock farming phase (for example 10 minutes) where players break LuckyBlocks to gear up fast. When the timer ends, everyone gets teleported into the Final Arena for the real fight and clean winner decisionSpoiler: LuckyBattle (screenshot)
- LuckyRace (Full Version)
A fast-paced run with lanes and checkpoints, built for jump and run maps or straight sprint tracks. Players race forward, break LuckyBlocks on the way, and secure progress via checkpoints. Hit the goal buttons to end the race, then it’s straight into the Final Arena for the final battle.
Spoiler: LuckyRace (screenshot)
- LuckyQuiz (Full Version)
Answer 15 questions (General Knowledge or Minecraft, selectable via lobby voting). After the quiz, players get a risk-reward offer, for example halve your LuckyBlocks by X% or double them by Y%. Then you enter a separate LuckyBlock farming map to cash in your strategy, and when the timer runs out, everyone moves to the Final Arena for the showdown.
Spoiler: LuckyQuiz (screenshot)
- AirBattle (Full Version)
Spawn above the action on a platform high over an island made of LuckyBlocks. Drop in, break LuckyBlocks, and build your advantage from the sky-down start. After the mode timer ends, players are teleported into the Final Arena for the decisive PvP endgame.
Spoiler: AirBattle (screenshot)
Quick setup (essentials)
- Requirements: Java 17+, Spigot/Paper compatible, Minecraft 1.16.5 to 1.21.11, recommended: BungeeCord network (lobby flow)
- Install: Put LuckyBlockBattle.jar into plugins/, start once, stop, edit configs in plugins/LuckyBlockBattle/, then run /lbb setup start
- Mode selection: Choose Bungee or Multi-Arena in config.yml. For Bungee, use a separate world for each map. For Multi-Arena, choose Multi-World or Single-World before running the setup.
- Must set in-game: Lobby spawn, min/max players, arena spawns (at least 2), spectator spawn, plus mode-specific spawns (Race, Quiz) Use a different world for each Map if u don`t use single world mode!
- Setup guide: Use /lbb setup start to begin the guided setup for the selected mode in config.yml. The setup guide walks you through all required locations and settings step by step. Use /lbb setup stop to end it at any time.
Spoiler: Setup guide (click to expand)
1) Requirements
/lbb set lobbyspawn
/lbb minplayers {number}
/lbb maxplayers {number}
/lbb set arenaspawn {1-16} (set at least 2 slots)
/lbb set spectatorspawn
LuckyRace (per race map):
/lbb set finish LUCKY_RACE_MAP1|2|3 {1-16}
/lbb set checkpoint LUCKY_RACE_MAP1|2|3 {1-16} {1-10}
LuckyQuiz:
/lbb set modespawn LUCKY_QUIZ {1-16}
/lbb set quizbutton {slot} A|B|C|D|5050
Setup wizard:
/lbb setup start
5) Optional systems
Tip: The plugin ships with a structured permission system (player, premium, admin).
You can fully control access to gameplay features (vote/team/stats), inventory switch, and all setup/management commands.
6.1 Permission overview
6.2 All permission nodes (plugin.yml)
6.3 Default group permissions
7) Final test checklist
- Java 17+
- Spigot/Paper compatible server
- Minecraft 1.16.5 to 1.21.X
- Recommended: BungeeCord setup (automatic lobby sending + fallbacks)
- Upload LuckyBlockBattle.jar to plugins/
- Start the server once, then stop it (generates all files)
- Edit: plugins/LuckyBlockBattle/config.yml, database.yml, openai.yml, language files
- Language: language: "DE" or "EN"
- Player limits: players.minToStart, players.maxPlayers
- Lobby + fallbacks: network.lobbyServer, network.lobbyFallbackServers
- Timers: timers.abbau.seconds, timers.airBattle.seconds, timers.luckyQuizArena.seconds, timers.arena.seconds
- PvP per mode: pvp.luckyBattle.enabled, pvp.luckyRace.enabled, pvp.airBattle.enabled, pvp.luckyQuiz.enabled (Final Arena PvP stays enabled by design)
- AirBattle spawn protection: airBattle.spawnBlockProtection.enabled, airBattle.spawnBlockProtection.radius (e.g. 4)
Code (Text):
/lbb set lobbyspawn
/lbb minplayers {number}
/lbb maxplayers {number}
/lbb set arenaspawn {1-16} (set at least 2 slots)
/lbb set spectatorspawn
LuckyRace (per race map):
/lbb set finish LUCKY_RACE_MAP1|2|3 {1-16}
/lbb set checkpoint LUCKY_RACE_MAP1|2|3 {1-16} {1-10}
LuckyQuiz:
/lbb set modespawn LUCKY_QUIZ {1-16}
/lbb set quizbutton {slot} A|B|C|D|5050
Setup wizard:
/lbb setup start
- Database (database.yml): YAML, SQLite, or MySQL (includes one-time YAML to SQL migration when switching backend)
- OpenAI (openai.yml): enable only if you want AI questions (enabled + API key) and set luckyQuiz.aiEnabled accordingly
Tip: The plugin ships with a structured permission system (player, premium, admin).
You can fully control access to gameplay features (vote/team/stats), inventory switch, and all setup/management commands.
6.1 Permission overview
- Base: luckyblockbattle.player
- Premium tier: luckyblockbattle.premium
- Admin tier: luckyblockbattle.admin
6.2 All permission nodes (plugin.yml)
Spoiler: Show full permission list
luckyblockbattle.player
luckyblockbattle.premium
luckyblockbattle.admin
luckyblockbattle.admin.setup
luckyblockbattle.admin.reload
luckyblockbattle.admin.testmode
luckyblockbattle.admin.giveinternal
luckyblockbattle.admin.minplayers
luckyblockbattle.admin.maxplayers
luckyblockbattle.admin.set
luckyblockbattle.admin.set.lobbyspawn
luckyblockbattle.admin.set.modespawn
luckyblockbattle.admin.set.modeworld
luckyblockbattle.admin.set.finish
luckyblockbattle.admin.set.checkpoint
luckyblockbattle.admin.set.quizbutton
luckyblockbattle.admin.set.arenaspawn
luckyblockbattle.admin.set.arenaworld
luckyblockbattle.admin.set.spectatorspawn
luckyblockbattle.admin.set.holo
luckyblockbattle.admin.del
luckyblockbattle.admin.del.modespawn
luckyblockbattle.admin.del.arenaspawn
luckyblockbattle.admin.del.holo
luckyblockbattle.admin.del.finish
luckyblockbattle.admin.del.checkpoint
luckyblockbattle.admin.borderpos
luckyblockbattle.admin.borderset
luckyblockbattle.admin.borderclear
luckyblockbattle.vote
luckyblockbattle.team
luckyblockbattle.skip
luckyblockbattle.arena
luckyblockbattle.stats
luckyblockbattle.world
inventoryswitch.give
inventoryswitch.toggle
luckyblockbattle.coins
luckyblockbattle.kits
Code (Text):
luckyblockbattle.player
luckyblockbattle.premium
luckyblockbattle.admin
luckyblockbattle.admin.setup
luckyblockbattle.admin.reload
luckyblockbattle.admin.testmode
luckyblockbattle.admin.giveinternal
luckyblockbattle.admin.minplayers
luckyblockbattle.admin.maxplayers
luckyblockbattle.admin.set
luckyblockbattle.admin.set.lobbyspawn
luckyblockbattle.admin.set.modespawn
luckyblockbattle.admin.set.modeworld
luckyblockbattle.admin.set.finish
luckyblockbattle.admin.set.checkpoint
luckyblockbattle.admin.set.quizbutton
luckyblockbattle.admin.set.arenaspawn
luckyblockbattle.admin.set.arenaworld
luckyblockbattle.admin.set.spectatorspawn
luckyblockbattle.admin.set.holo
luckyblockbattle.admin.del
luckyblockbattle.admin.del.modespawn
luckyblockbattle.admin.del.arenaspawn
luckyblockbattle.admin.del.holo
luckyblockbattle.admin.del.finish
luckyblockbattle.admin.del.checkpoint
luckyblockbattle.admin.borderpos
luckyblockbattle.admin.borderset
luckyblockbattle.admin.borderclear
luckyblockbattle.vote
luckyblockbattle.team
luckyblockbattle.skip
luckyblockbattle.arena
luckyblockbattle.stats
luckyblockbattle.world
inventoryswitch.give
inventoryswitch.toggle
luckyblockbattle.coins
luckyblockbattle.kits
6.3 Default group permissions
- luckyblockbattle.player includes: luckyblockbattle.vote, luckyblockbattle.team, luckyblockbattle.stats, inventoryswitch.toggle
- luckyblockbattle.premium includes: luckyblockbattle.player
- luckyblockbattle.admin includes: luckyblockbattle.premium, luckyblockbattle.skip, luckyblockbattle.arena, luckyblockbattle.world, inventoryswitch.give, and all luckyblockbattle.admin.* rights
7) Final test checklist
- /lbb reload
- Run 1 to 2 test rounds (optional: /lbb testmode)
- Verify: countdown, teleports, mode phase, arena end, stats saving, language/messages
Premium Feature Highlights (What makes it different)
- InventorySwitch (2nd inventory): Players can use a dedicated switch item (and/or command) to access a second in-game inventory. Perfect for minigames where you want "kit space" and "loot space" separated. Fully permission-based (toggle + give).
- LuckyBlock ecosystem (internal + external support): Built-in LuckyBlock system with configurable drop tables, plus crafting support to apply "Lucky" onto blocks. The plugin includes 8 different LuckyBlock colors with over 400 total outcomes, including 10 special items as well as event and structure outcomes. You can also integrate other LuckyBlock plugins (recommended) so external LuckyBlocks can be distributed in matches as well. (See config example below)
- Everything is toggleable: Enable or disable individual modules to fit your server style and performance goals: scoreboard, tablist, holograms, AI questions, game modes, and PvP per mode (Final Arena remains the decisive endgame).
- Stats + Holograms (Top lists): Track and display player performance with database-backed stats (YAML, SQLite, MySQL) and optional holograms like Top Wins and Top Kills. Includes a one-time YAML-to-SQL migration when switching storage backends (no repeated imports).
Internal LuckyBlocks (fully configurable)
Built-in LuckyBlock system with configurable drops, luck upgrades, effects, and optional integrations (give phase, quiz rewards, break trigger).
Spoiler: Internal LuckyBlocks config example (click to expand)
# Internal LuckyBlocks (fully configurable)
# File: internal-luckyblocks.yml
# You can add/remove unlimited outcomes under "outcomes".
enabled: true
item:
material: 'YELLOW_STAINED_GLASS'
name: '&e&lLucky Block'
lore:
- '&7Break this block to roll an outcome.'
- '&7Configured in internal-luckyblocks.yml'
luckLoreLine: '&6Luck: &e+{luck}'
glow: true
# Hide enchant line on the Lucky Block item itself.
hideEnchants: true
unbreakable: false
customModelData: -1
# Luck system for internal Lucky Blocks.
# Upgrading works by crafting:
# 1x internal Lucky Block + 1x luck.upgrade.material
# in inventory crafting (2x2) or workbench (3x3).
luck:
enabled: true
default: 0
max: 100
upgrade:
enabled: true
step: 10
material: 'EMERALD'
allowInventoryCrafting: true
allowWorkbenchCrafting: true
# Positive/negative pool split:
# - If enabled, chance for positive outcomes scales with luck.
# - Existing legacy outcomes under "outcomes" are auto-classified by content
# unless category is set manually per outcome.
outcomeSelection:
splitPositiveNegative: true
positiveChanceAtLuck0: 50
positiveChanceAtLuck100: 90
# Default visibility for enchantments on outcome items.
# Per-item override:
# - hideEnchants: true/false
# - showEnchantments: true/false (alias, has priority)
outcomeDefaults:
hideEnchants: false
integration:
givePhase:
enabled: true
amountPerPlayer: 5
luckyQuizRewards:
enabled: true
breakTrigger:
enabled: true
effects:
sound:
enabled: true
type: 'ENTITY_EXPERIENCE_ORB_PICKUP'
volume: 1.0
pitch: 1.2
particles:
enabled: true
type: 'TOTEM'
count: 20
outcomes:
# Optional on every outcome:
# category: POSITIVE | NEGATIVE
#
# Optional on every item:
# type: INTERNAL_LUCKY_BLOCK
# amountMin: 1
# amountMax: 3
# luckyBlockLuck: 0
outcome_01:
chance: 100
category: POSITIVE
items:
- material: 'DIAMOND_SWORD'
amount: 1
name: '&bLucky Sword'
glow: true
enchantments: { SHARPNESS: 5, UNBREAKING: 3, LOOTING: 3 }
- material: 'GOLDEN_APPLE'
amount: 3
outcome_02:
chance: 100
items:
- material: 'DIAMOND_CHESTPLATE'
amount: 1
name: '&bLucky Chestplate'
glow: true
enchantments: { PROTECTION: 4, UNBREAKING: 3, THORNS: 3 }
- material: 'DIAMOND_HELMET'
amount: 1
enchantments: { PROTECTION: 4, RESPIRATION: 3 }
outcome_10:
chance: 100
category: NEGATIVE
mobs:
- type: 'SKELETON'
amount: 3
customName: '&7Sniper'
health: 24
- type: 'SPIDER'
amount: 2
# Config continues...
# outcome_11:
# outcome_12:
# ...
Code (Text):
# Internal LuckyBlocks (fully configurable)
# File: internal-luckyblocks.yml
# You can add/remove unlimited outcomes under "outcomes".
enabled: true
item:
material: 'YELLOW_STAINED_GLASS'
name: '&e&lLucky Block'
lore:
- '&7Break this block to roll an outcome.'
- '&7Configured in internal-luckyblocks.yml'
luckLoreLine: '&6Luck: &e+{luck}'
glow: true
# Hide enchant line on the Lucky Block item itself.
hideEnchants: true
unbreakable: false
customModelData: -1
# Luck system for internal Lucky Blocks.
# Upgrading works by crafting:
# 1x internal Lucky Block + 1x luck.upgrade.material
# in inventory crafting (2x2) or workbench (3x3).
luck:
enabled: true
default: 0
max: 100
upgrade:
enabled: true
step: 10
material: 'EMERALD'
allowInventoryCrafting: true
allowWorkbenchCrafting: true
# Positive/negative pool split:
# - If enabled, chance for positive outcomes scales with luck.
# - Existing legacy outcomes under "outcomes" are auto-classified by content
# unless category is set manually per outcome.
outcomeSelection:
splitPositiveNegative: true
positiveChanceAtLuck0: 50
positiveChanceAtLuck100: 90
# Default visibility for enchantments on outcome items.
# Per-item override:
# - hideEnchants: true/false
# - showEnchantments: true/false (alias, has priority)
outcomeDefaults:
hideEnchants: false
integration:
givePhase:
enabled: true
amountPerPlayer: 5
luckyQuizRewards:
enabled: true
breakTrigger:
enabled: true
effects:
sound:
enabled: true
type: 'ENTITY_EXPERIENCE_ORB_PICKUP'
volume: 1.0
pitch: 1.2
particles:
enabled: true
type: 'TOTEM'
count: 20
outcomes:
# Optional on every outcome:
# category: POSITIVE | NEGATIVE
#
# Optional on every item:
# type: INTERNAL_LUCKY_BLOCK
# amountMin: 1
# amountMax: 3
# luckyBlockLuck: 0
outcome_01:
chance: 100
category: POSITIVE
items:
- material: 'DIAMOND_SWORD'
amount: 1
name: '&bLucky Sword'
glow: true
enchantments: { SHARPNESS: 5, UNBREAKING: 3, LOOTING: 3 }
- material: 'GOLDEN_APPLE'
amount: 3
outcome_02:
chance: 100
items:
- material: 'DIAMOND_CHESTPLATE'
amount: 1
name: '&bLucky Chestplate'
glow: true
enchantments: { PROTECTION: 4, UNBREAKING: 3, THORNS: 3 }
- material: 'DIAMOND_HELMET'
amount: 1
enchantments: { PROTECTION: 4, RESPIRATION: 3 }
outcome_10:
chance: 100
category: NEGATIVE
mobs:
- type: 'SKELETON'
amount: 3
customName: '&7Sniper'
health: 24
- type: 'SPIDER'
amount: 2
# Config continues...
# outcome_11:
# outcome_12:
# ...
Have fun!
-------------------
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
LuckyBlockBattle [Free] ⭐ | Solo or Teams ⚔️ | 1 Mode ✅ | 1.16.5 - 26.2 ⭕ is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 64 times (via Spigot). Download it and open it directly in the game.