PillarOfFortune
A competitive survival game where players fight on tall bedrock pillars
PillarOfFortune
A competitive survival game plugin for Minecraft 1.21+ where players fight on tall bedrock pillars.
Features
- Multiple Game Modes: Solo, Duo, Trio, and Squad gameplay
- Dynamic World Generation: Flat worlds with tall bedrock pillars
- Party System: Create parties and play with friends
- Customizable Scoreboard: Shows player stats and server info
- NPC Integration: Citizens NPCs for easy game joining
- Random Item Distribution: Items given every 10 seconds during gameplay
- Spectator Mode: Watch the action after elimination
- Win/Loss Tracking: Player statistics and leveling system
- Configurable Settings: Everything customizable via config.yml
Commands
Main Commands
/pof setlobby- Set the lobby location (Admin)/pof lobby- Teleport to lobby/pof reload- Reload configuration (Admin)/pof join <Solo/Duo/Trio/Squad>- Join a game mode
Party Commands
/pof party create- Create a party/pof party disband- Disband your party (Leader only)/pof party invite <player>- Invite a player to your party/pof party accept- Accept a party invitation/pof party decline- Decline a party invitation/pof party leave- Leave your current party/pof party kick <player>- Kick a player from your party (Leader only)/pof party list- List all party members
NPC Commands
/pof npc add <solo/duo/trio/squad>- Create an NPC for a game mode (Admin)/pof npc remove- Remove the nearest PillarOfFortune NPC (Admin)
Permissions
pillaroffurtune.*- All permissions (Default: OP)pillaroffurtune.use- Basic plugin usage (Default: true)pillaroffurtune.admin- Administrative commands (Default: OP)pillaroffurtune.setlobby- Set lobby location (Default: OP)pillaroffurtune.reload- Reload configuration (Default: OP)pillaroffurtune.npc- Manage NPCs (Default: OP)
Installation
- Download the plugin JAR file
- Place it in your server's
plugins/folder - Install the required dependencies:
- FancyNpcs (required, for NPC functionality)
- PlaceholderAPI (recommended, for chat prefixes and advanced placeholders)
- LuckPerms (optional, for permission-based chat prefixes)
- Vault (optional, for economy integration)
- Restart your server
- Configure the plugin in
plugins/PillarOfFortune/config.yml - Set the lobby location with
/pof setlobby - Create NPCs with
/pof npc add <mode>
Configuration
The plugin is highly configurable through the config.yml file. You can customize:
- Server information displayed on scoreboard
- Game settings (player limits, timers, pillar dimensions)
- Scoreboard appearance and content
- Messages and colors
- Random items given during gameplay
- Database settings for player statistics
- Chat formatting and LuckPerms integration
Game Mechanics
Game Flow
- Players join a game mode (Solo/Duo/Trio/Squad)
- They wait in a glass cube above the playing area
- When enough players join, a countdown begins
- Players are teleported to individual bedrock pillars
- Every 10 seconds, random items are given to all players
- Last player/team standing wins
- Winner gets fireworks and title display
- All players return to lobby after 10 seconds
Party System
- Party leaders can invite up to 8 players
- When a party leader joins a game, all members join together
- Parties are automatically disbanded when the leader leaves
Statistics
- Wins and losses are tracked per player
- Players gain experience and levels
- Statistics are displayed on the scoreboard
- Data is stored in SQLite database (MySQL support available)
Building
This project uses Maven for building:
mvn clean package
The compiled JAR will be in the target/ directory.
Dependencies
- Spigot/Paper 1.21+
- FancyNpcs (Required for NPC functionality)
- PlaceholderAPI (Recommended for chat prefixes)
- LuckPerms (Optional for permission-based prefixes)
Chat System
The plugin features a custom chat format that displays player levels:
- Format:
[level⭐] playername: message - With LuckPerms:
[level⭐][prefix] playername: message - Configuration: Enable/disable LuckPerms prefix via
chat.show-luckperms-prefixin config.yml
Requirements for Chat Prefixes
- PlaceholderAPI must be installed
- LuckPerms must be installed and configured
- Set
chat.show-luckperms-prefix: truein config.yml (default)
If LuckPerms is detected but PlaceholderAPI is missing, a warning will be logged.
Scoreboard System
The scoreboard supports both internal placeholders and PlaceholderAPI placeholders:
Internal Placeholders
{player}- Player name{mode}- Current game mode (Solo/Duo/Trio/Squad/Lobby){level}- Player level{wins}- Player wins{losses}- Player losses{server_ip}- Server IP from config
PlaceholderAPI Support
Any PlaceholderAPI placeholder can be used in the scoreboard, such as:
%luckperms_prefix%- LuckPerms prefix%player_ping%- Player ping%server_tps%- Server TPS- And many more from various plugins
Reload Command
Use /pof reload to reload the configuration and update all scoreboards in real-time.
Anti-Spam System
The plugin includes an anti-spam system for join commands to prevent double-clicking:
- Cooldown: 3-second cooldown between join attempts
- First Click: Shows "Configurazione mappa in corso, attendere prego..." message
- Spam Prevention: Shows "Hai già richiesto di entrare in una partita! Attendi..." if clicked too quickly
- Auto-Cleanup: Cooldowns are automatically removed when players leave the server
This prevents players from accidentally joining multiple games or spamming the join command.
Support
For issues, suggestions, or contributions, please visit the project repository.
