
DonutSmp-Settings
This is plugin of Donutsmp Settings whic we can enable and disable
Список изменений
CREATE A MINECRAFT PAPER 1.21.11 PLUGIN CALLED "PlayerSettings"
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
- 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)
- PUBLIC CHAT
-
If disabled:
- Player does not see public/global chat messages
- Private messages still visible
- PRIVATE MESSAGE
-
If disabled:
- Player cannot receive private messages
- CHAT SERVER MESSAGE
-
If disabled:
- Player does not receive server broadcast/chat messages
- HOTBAR SERVER MESSAGE
-
If disabled:
- ActionBar/hotbar messages hidden
- PAY ALERTS
-
If disabled:
- Player cannot receive money/pay notifications
- Payments blocked to this player
- BOUNTY ALERTS
-
If disabled:
- No bounty notifications shown
- AUCTION ALERTS
-
If disabled:
- No auction listing notifications
SLOTS 10-18 (GAMEPLAY SETTINGS)
- FAST CRYSTALS
- Enable optimized crystal placement handling
- API hook ready for CrystalPvP plugins
- TOTEM PARTICLES
-
If disabled:
- Hide totem pop particles/effects
- EXPLOSION PARTICLES
-
If disabled:
- Hide TNT/Anchor explosion particles
- QUICK AUCTION BUY
-
If enabled:
- Skip confirmation menu when buying auctions
- CHAINMAIL ON RESPAWN
-
If enabled:
-
On respawn or first join:
- Give chainmail armor
- Remove 1000 money using Vault
-
-
Configurable armor
-
Configurable cost
- DISABLE MOB SPAWNS
-
If enabled:
- Prevent hostile/passive mob spawning near player
- Radius configurable
SLOTS 19-27 (VISUAL & UTILITY SETTINGS)
- PLAYER VISIBILITY
-
If disabled:
- Hide all players globally using Player#hidePlayer()
- SCOREBOARD
-
If enabled:
- Hide scoreboard from player
-
If disabled:
- Restore scoreboard
- TPA CONFIRM MENUS
-
If enabled:
- Automatically accept TPA confirmations
- Skip confirmation GUI
- SOUND NOTIFICATION
-
If disabled:
- Disable plugin notification sounds
- ORDER NOTIFICATIONS
-
If disabled:
- Hide order/shop notifications
- RANDOM COORDS
-
If enabled:
- RTP coordinates hidden from chat/messages
SLOTS 28-36 (SOCIAL SETTINGS)
- DUEL REQUESTS
-
If disabled:
- Block all duel requests
- TPA REQUESTS
-
If enabled:
- Automatically accept incoming TPA requests
- TPA HERE REQUESTS
-
If enabled:
- Automatically accept incoming TPAHERE requests
- TEAM INVITES
-
If disabled:
- Block team invites
- PAYMENTS
-
If disabled:
- Prevent receiving payments
- TEAM CHAT
-
If disabled:
- Hide team chat messages
- WORTH DISPLAY
-
If enabled:
- Show item worth/sell price in lore
- AFTER DUEL SONGS
-
If disabled:
- Mute duel/song/music sounds
- 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 OR
- playerdata/
.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.
