PlayerSettings is a modern and advanced Minecraft Paper 1.21.11 plugin that gives every player complete control over their gameplay experience using an easy-to-use settings GUI.
The plugin provides a customizable 36-slot menu where players can enable or disable different chat, gameplay, visual, social, and utility features with a single click. Every setting is saved individually for each player, allowing fully personalized gameplay preferences across the server.
Using the /setting command, players can open their settings menu and manage features such as public chat visibility, private messages, server notifications, auction alerts, player visibility, automatic TPA handling, duel requests, scoreboard visibility, particle effects, sound notifications, and many more.
The plugin is designed for competitive survival, PvP, Crystal PvP, Lifesteal, SMP, Prison, BoxPvP, and Economy servers where players often want better control over spam, visuals, sounds, PvP effects, and social interactions.
Main categories inside the GUI include:
CHAT SETTINGS Players can manage public chat, private messages, server broadcasts, hotbar notifications, pay alerts, bounty alerts, and auction notifications.
GAMEPLAY SETTINGS Players can toggle fast crystal support, totem particles, explosion particles, quick auction purchases, automatic respawn kits, and nearby mob spawn prevention.
VISUAL & UTILITY SETTINGS Players can hide all players, disable scoreboards, auto-confirm TPAs, disable notification sounds, hide RTP coordinates, and manage order notifications.
SOCIAL SETTINGS Players can manage duel requests, TPA requests, team invites, payments, team chat visibility, worth display systems, duel music, and quiet spawn teleportation.
The plugin is fully configurable through config.yml, allowing server owners to customize:
- GUI title
- Item materials
- Slot positions
- Sounds
- Messages
- Costs
- Colors
- Permissions
- Disabled worlds
- Feature behavior
Additional features include:
- Persistent player data storage
- Vault economy support
- PlaceholderAPI support
- Optimized Paper 1.21.11 performance
- Modular and clean code structure
- Async-safe data handling
- Fast GUI interactions
- Reload command support
- Admin settings access
PlayerSettings is built to improve player comfort, reduce unnecessary spam, optimize PvP gameplay, and give users full control over how they experience the server.
The plugin must be made for PAPER 1.21.11 and coded professionally with clean, optimized, modular Java code.
MAIN FEATURES:
- Command: /setting
- Command: /setting %player_name%
- Opens a 36-slot GUI (4 rows)
- Every setting must have ENABLE/DISABLE toggle
- Player data must save permanently using YAML or SQLite
- Each player has separate settings
- GUI items and materials must be customizable in config.yml
- GUI title customizable
- Messages customizable
- Sounds customizable
- Permission support
- PlaceholderAPI support if possible
- Fully async safe
- No laggy repeating tasks
## COMMANDS
/setting
- Opens own settings GUI
/setting <player>
- Opens another player's settings GUI
- Permission: playersettings.admin
/settingsreload
- Reload config
- Permission: playersettings.reload
## GUI SYSTEM
GUI SIZE:
- 36 slots
TITLE:
- "&8Player Settings"
Every setting item must:
- Show current status
- Green lore for ENABLED
- Red lore for DISABLED
- Left click toggles setting
- Play configurable sound
Use:
- GREEN DYE = enabled
- RED DYE = disabled
Glass panes fill empty slots.
## GUI SLOT LAYOUT
SLOTS 1-9 (CHAT SETTINGS)
1. PUBLIC CHAT
- If disabled:
- Player does not see public/global chat messages
- Private messages still visible
2. PRIVATE MESSAGE
- If disabled:
- Player cannot receive private messages
3. CHAT SERVER MESSAGE
- If disabled:
- Player does not receive server broadcast/chat messages
4. HOTBAR SERVER MESSAGE
- If disabled:
- ActionBar/hotbar messages hidden
5. PAY ALERTS
- If disabled:
- Player cannot receive money/pay notifications
- Payments blocked to this player
6. BOUNTY ALERTS
- If disabled:
- No bounty notifications shown
7. AUCTION ALERTS
- If disabled:
- No auction listing notifications
SLOTS 10-18 (GAMEPLAY SETTINGS)
10. FAST CRYSTALS
- Enable optimized crystal placement handling
- API hook ready for CrystalPvP plugins
11. TOTEM PARTICLES
- If disabled:
- Hide totem pop particles/effects
12. EXPLOSION PARTICLES
- If disabled:
- Hide TNT/Anchor explosion particles
13. QUICK AUCTION BUY
- If enabled:
- Skip confirmation menu when buying auctions
14. CHAINMAIL ON RESPAWN
- If enabled:
- On respawn or first join:
- Give chainmail armor
- Remove 1000 money using Vault
- Configurable armor
- Configurable cost
15. DISABLE MOB SPAWNS
- If enabled:
- Prevent hostile/passive mob spawning near player
- Radius configurable
SLOTS 19-27 (VISUAL & UTILITY SETTINGS)
19. PLAYER VISIBILITY
- If disabled:
- Hide all players globally using Player#hidePlayer()
20. SCOREBOARD
- If enabled:
- Hide scoreboard from player
- If disabled:
- Restore scoreboard
21. TPA CONFIRM MENUS
- If enabled:
- Automatically accept TPA confirmations
- Skip confirmation GUI
22. SOUND NOTIFICATION
- If disabled:
- Disable plugin notification sounds
23. ORDER NOTIFICATIONS
- If disabled:
- Hide order/shop notifications
24. RANDOM COORDS
- If enabled:
- RTP coordinates hidden from chat/messages
SLOTS 28-36 (SOCIAL SETTINGS)
28. DUEL REQUESTS
- If disabled:
- Block all duel requests
29. TPA REQUESTS
- If enabled:
- Automatically accept incoming TPA requests
30. TPA HERE REQUESTS
- If enabled:
- Automatically accept incoming TPAHERE requests
31. TEAM INVITES
- If disabled:
- Block team invites
32. PAYMENTS
- If disabled:
- Prevent receiving payments
33. TEAM CHAT
- If disabled:
- Hide team chat messages
34. WORTH DISPLAY
- If enabled:
- Show item worth/sell price in lore
35. AFTER DUEL SONGS
- If disabled:
- Mute duel/song/music sounds
36. QUIET SPAWN
- If enabled:
- Teleport to spawn silently
- No messages/sounds/effects
## CONFIGURATION
config.yml must support:
- GUI title
- GUI size
- Item materials
- Item names
- Item lore
- Enabled/disabled colors
- Sounds
- Spawn radius
- Costs
- Messages
- Permissions
- Blacklisted worlds
- Disabled worlds
Example:
gui:
title: "&8Player Settings"
items:
public_chat:
material: PAPER
slot: 0
name: "&aPublic Chat"
## DATA STORAGE
Store all player settings persistently.
Recommended:
- SQLite
- playerdata/<uuid>.yml
Data must save:
- On quit
- On toggle
- On shutdown
## PERMISSIONS
playersettings.use
playersettings.admin
playersettings.reload
## PLUGIN REQUIREMENTS
- Use Java 21
- Maven project
- Paper API 1.21.11
- Clean package structure
- Listener-based system
- Config manager
- GUI manager
- Data manager
- Setting enum system
- Fully optimized
- No memory leaks
- Support PlaceholderAPI
- Support Vault
## EXTRA FEATURES
- Add /settings reset command
- Add cooldown protection
- Add anti-spam clicks
- Add configurable sounds
- Add disabled-world support
- Add update checker
- Add metrics support
## OUTPUT REQUIRED
Generate:
- Full source code
- plugin.yml
- pom.xml
- config.yml
- GUI manager
- Listener classes
- Setting enum
- Data storage system
- Command classes
- Utility classes
- Build-ready Maven structure
The final plugin should compile without errors and work directly on Paper 1.21.11 servers.