JoinRules is a lightweight and fully configurable Minecraft plugin that ensures every player on your server first accepts the defined rules before being able to fully play. When a player joins, they are frozen in place, optionally blinded with an effect, and shown a message with interactive buttons to either accept or reject the rules. If the player accepts the rules, all effects are removed, and the player is free to move and continue playing. If the player rejects the rules, they are immediately kicked from the server with a customizable message.
Key Features:
• Mandatory rule acceptance before any interaction or movement
• Fully configurable message texts, titles, sounds, and buttons
• Interactive chat buttons for accepting or rejecting the rules
• Automatic player kick upon rule rejection
• Persistent storage of accepted players
• Administrator commands to reset players or reload the configuration
Configuration Options:
In the config.yml file, you can customize all messages, button texts, kick messages, effects (such as blindness or freezing), played sounds, and displayed titles. The plugin allows easy customization without any need to modify the code.
messages:
join:
# Message shown in chat when a player joins and needs to accept rules
- "&6Welcome to the server!"
- "&7Please read the rules before continuing."
kick:
# Message shown when a player is kicked for rejecting the rules
- "&cYou have been kicked from the server."
- "&7You did not accept the rules."
reload-success: "%prefix% &aJoinRules config reloaded."
reload-usage: "%prefix% &cUsage: /joinrules reload"
confirm-success: "%prefix% &aRules accepted."
reject-success: "%prefix% &cRules rejected."
no-permission: "%prefix% &cYou do not have permission!"
player-not-found: "%prefix% &cPlayer not found!"
not-accepted: "%prefix% &cPlayer has not accepted the rules."
already-accepted: "%prefix% &cYou have already accepted the rules and cannot use this command again."
accepted-reset: "%prefix% &aRules acceptance for player &e%player% &ahas been revoked."
help:
# Help message shown when using /joinrules or /jr
- "&8----------------------------------------"
- "&6&lJoinRules &8- &e&lHelp"
- "&6/joinrules reload &8- &eReload the plugin"
- "&6/joinrules remove <nick> &8- &eReset rule acceptance for a player"
- "&6/joinrules accept &8- &eAccept the rules"
- "&6/joinrules deny &8- &eReject the rules"
- "&8----------------------------------------"
buttons:
# Text for the Confirm button
confirm: "&a&lConfirm"
# Text for the Reject button
reject: "&c&lReject"
# Hover text when mouse is over the Confirm button
confirm-hover: "&7Click to accept"
# Hover text when mouse is over the Reject button
reject-hover: "&7Click to reject"
title:
# Enable or disable showing a title when rules are accepted
enabled: true
# Text shown as a title when rules are accepted
text: "&aRules accepted!"
# Enable or disable giving blindness effect to players until they accept the rules
blindness: true
sound:
# Enable or disable playing a sound when rules are accepted
enabled: true
# Name of the sound to play when rules are accepted (use Minecraft sound names)
name: "ENTITY_PLAYER_LEVELUP"