LocoPillars Pillars of Fortune plugin for Paper 1.21+
What is LocoPillars?
LocoPillars is a feature-complete, production-ready
Pillars of Fortune server plugin. Players spawn in isolated cages, get released into the arena, and compete to build the tallest pillar while fighting off every other player. Last one standing wins.
Under the hood it runs
multi-instance arena management,
fully scriptable LuckyBlocks, a
drag-and-drop cosmetics shop,
27+ achievements, a
per-player stats database,
100+ PlaceholderAPI placeholders, and an
in-game map editor. All configurable without touching a single line of code.
Feature Overview
Category
Highlights
Gameplay
Solo & team modes · Multi-instance arenas · Cage countdown
LuckyBlocks
50 pre-designed effects · Fully scriptable via Kotlin .kts
H2 (embedded) · MySQL · MariaDB · PostgreSQL · HikariCP
Gameplay
Players drop into cages at the start of each round. After the countdown, cages open and everyone scrambles to build a pillar and fight for survival. The last team (or player) alive wins.
Multi-Instance Arenas Run multiple simultaneous games on the same server, each in its own isolated world. Set a number in
config.yml and LocoPillars handles the rest.
Team Support
Configurable players-per-team and number of teams
Team-colored leather armor
Team chat (/teamchat)
Team status on scoreboard & TAB list
LuckyBlocks
LuckyBlocks are fully scriptable. Each block is its own folder containing a
Settings.json for metadata and a
Luckyblock.kts for the effect. The plugin ships with
50 pre-designed LuckyBlocks. Drop a new folder into
plugins/LocoPillars/Luckyblocks/ and it gets picked up automatically with no restart needed.
Cosmetics work the same way as LuckyBlocks. Each cosmetic is a folder under
plugins/LocoPillars/Cosmetics/<type>/ with a
Settings.json and a
Cosmetic.kts script. The plugin ships with
64 pre-designed cosmetics across four categories. Players buy and equip cosmetics through
/cosmetics using in-game coins.
Voting events are mid-game modifiers that players vote on during a game. This system uses the same module-based approach as LuckyBlocks and Cosmetics. Drop a folder into
plugins/LocoPillars/modules/voting/ and it becomes available in-game without a restart.
settings.json
Code (json (Unknown Language)):
{
"id": "no_fall_mode",
"display_name": "No Fall Mode",
"description": "Fall damage is completely disabled for everyone in this round.",
"icon": {
"material": "FEATHER",
"custom_model_data": 0
},
"active": true,
"vote_weight": 1,
"duration": -1,
"announce": {
"title": "§6§lNo Fall Mode!",
"subtitle": "§7Fall damage is disabled!",
"chat": "§6[Event] §eNo Fall Mode is now active!"
}
}
script.kts
The script receives
game and
players. Use
game.registerEventListener to hook into Bukkit events. The listener is automatically cleaned up when the game ends.
Code (Kotlin):
game.
sendTitle("§6§lNo Fall Mode!",
"§7Fall damage is disabled!",
10,
60,
10) game.
broadcast("§6[Event] §eNo Fall Mode is now active!")
game.
getPlayers().
forEach{ player
-> player.
playSound(player.
location, org.
bukkit.
Sound.
ENTITY_PLAYER_LEVELUP, 1.0f, 1.2f
) }
27+ built-in achievements across 4 difficulty tiers, each with configurable XP and coin rewards. Add your own by dropping a
.yml file in
plugins/LocoPillars/Achievements/.
Difficulty
Examples
Easy
first_win · builder_basics · explorer
Normal
warrior · demolisher · team_player
Hard
champion · survivor · multi_killer
Extreme
legendary · perfect_game · comeback_king
Commands
Player Commands
Command
Aliases
Description
/pillars join <type|random>
/pof, /games
Join a game or a random available game
/pillars leave
Leave your current game
/pillars list
List available game types
/pillars status
View current game status
/pillars stats
View server-wide statistics
/pillars help
Show help overview
/spawn
/hub, /lobby
Teleport to the lobby
/stats
/mystats
View personal statistics
/achievements
/ach
Open achievements overview
/cosmetics
/cosm
Browse and equip cosmetics
/luckyblocks
/luckyb
Open the LuckyBlocks menu
/teamchat
/tc
Toggle team chat mode
/hideme
/hm
Hide yourself from other players
/hideothers
/ho
Hide all other players from your view
/showothers <player>
/so
Show a specific player while hideothers is on
Admin Commands
Command
Aliases
Description
/editor toggle
/adminedit
Enter / exit admin editor mode
/editor create <name>
Create a new arena map
/editor edit <name>
Edit an existing arena
/editor delete <name>
Delete an arena
/editor list
List all arenas
/editor save
Save current editor session
/editor cancel
Cancel without saving
/editor spawn
Manage spawn / cage positions
/editor validate
Validate arena configuration
/editor settings
Open editor settings GUI
/editor hotbar
Open the editor hotbar tool manager
/editor files
Manage arena schematic files
/editor doctor
Run auto-diagnostics on arena
/editor setup
Quick-setup wizard
/editor resize
Resize a schematic
/editor info
Show arena info
/setspawn
Set the lobby spawn point
/vanish [player]
/v
Toggle vanish for yourself or another player
/chatadmin reload
/ca reload
Reload chat configuration
/chatadmin announce <msg>
/ca announce
Send a server announcement
/chatadmin mute <player>
/ca mute
Mute a player
/chatadmin unmute <player>
/ca unmute
Unmute a player
/chatadmin clear
/ca clear
Clear chat for all players
/chatadmin stats
/ca stats
View chat statistics
/chatadmin cooldown <player> <s>
Set a player chat cooldown
/socialspy
/spy, /ss
Toggle social spy
/cosmetics give <player> <id>
Give a cosmetic to a player
/cosmetics coins <player> <amount>
Modify a player coin balance
/cosmetics reload
Reload cosmetics configuration
/luckyblocks getluckyblock
Give yourself a LuckyBlock item
/memory check|clear|status
/mem
View / manage plugin memory usage
/tab reload
Reload TAB plugin config
Admin Editor (/editor)
LocoPillars ships with a full in-game map editor, no external tools needed.
Run /editor setup for the guided quick-setup wizard.
Use /editor create <name> to start a new arena.
Place cage spawn points with the hotbar tools (/editor hotbar).
Import WorldEdit / FAWE schematics and attach them to the arena.
Run /editor validate to catch configuration errors.
Save with /editor save and the arena is immediately available in-game.
Supports
multiple schematics per arena, schematic resizing, and live hotbar-based spawn-point editing, all without leaving the game.
Automatic Update Checker LocoPillars checks Modrinth on startup for new releases. Staff with the
locopillars.notify.update permission receive an in-game notification when an update is available. Can be disabled in
config.yml.