
Pacte
A pacte system for do a justice in your server (a french plugin)
Pacte: Player Contracts & Justice System
Pacte is an innovative Minecraft Paper plugin that introduces a dynamic social contract system between players. Create alliances, define clear terms, and enforce justice through automated complaints and sanctions. Whether it is for peace treaties, temporary truces, or economic deals, Pacte adds a deep governance and roleplay layer to your server.
Core Features
-
Pacte Creation with Duration Initiate a pact using:
/pacte create [duration] <description>
Example:/pacte create 7d We stop griefing each other- The duration is optional (
7d,24h,30m,10s, etc.). - When the duration expires, the pact is automatically cancelled.
- The duration is optional (
-
Invite by Code
- When a player creates a pact, the server generates a unique invitation code.
- Other players can join the pact using
/pacte code <code>.
-
Custom Sanctions Before sealing the pact, the creator must define a sanction for breaking it:
ban <duration>- Temporary ban (e.g.7d,24h).money <amount>- Monetary penalty via Vault (e.g.500).
-
Sealing the Pact via Chat Once the sanction is set, the creator types the pact name (without spaces) in chat to seal it. After sealing, the pact becomes permanent until expiration or explicit cancellation.
-
Integrated Complaint System
- Any member of a pact can file a complaint:
/pacte plainte <pactName> <complaint text> - The complaint is instantly sent via EssentialsX mail to all "Judges" (players with the
pacte.justicepermission). - The mail includes: Pact name, Complainant name, Complaint text, and the full list of pact members.
- Any member of a pact can file a complaint:
-
Punishments & Smart Money Distribution Judges can apply the pact's predefined sanction using:
/pacte punish <pactName> <player1;player2;...>- Only pact members can be punished; invalid names trigger an error.
- For Money Sanctions:
- The specified amount is withdrawn from each punished player.
- 5% of the total is awarded to the Judge handling the case.
- The remaining 95% is split equally among non-punished pact members.
- If all pact members are punished, the money is divided equally among eligible Judges. If no Judge is eligible, the total is stored in a "pending pot" and granted to the next new player who joins the server.
- For Ban Sanctions:
- A temporary ban is applied based on the configured duration.
-
Listing and Cancelling Pacts
/pacte liste- Displays all pacts the player is currently part of./pacte cancel <pactName>- Cancels and deletes a pact.- Note: Can be used by the pact creator or a Judge (
pacte.justice). However, Judges who are members of the pact cannot manage or cancel it to prevent conflicts of interest (unless they holdpacte.admin).
-
Automatic Expiration Each pact tracks its expiration timestamp. A background task regularly checks for expired pacts, automatically cancelling them and notifying all online members.
Essential Integrations
- Vault - Used for managing monetary sanctions and balance transfers.
- EssentialsX - Used to deliver complaints via in-game mail.
- LuckPerms (or any permission manager):
pacte.use- Basic user access (default: true).pacte.justice- Judges (receive complaints, execute sanctions, cancel pacts).pacte.admin- Administrators (bypass judge restrictions, full control).
Configuration
Pacts are stored persistently in a YAML file (pacts.yml). A comprehensive config.yml allows full customization:
- Custom chat prefix for all plugin messages.
- Generated code length and expiration duration.
- Maximum number of players allowed per pact.
- Complete localization of all user-facing messages (creation, errors, complaints, punishments, cancellations, expirations, etc.).
- Enable/disable console logging for pact operations.
Credits
Important: This plugin is vibecode by an AI with the Pokrag's concepts and idea.
Сервер для плагина Pacte - как у профи
Плагин Pacte создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Pacte для друзей можно за пару минут - BungeeHost всё уже подготовил.
