ModsJava
SecuresExchanges - Make all exchanges safe on your server! [1.13-1.15]
Java mod listed for Minecraft 1.13–1.15. Downloads from the MC Java Mods app on Android.
SecuresExchanges >>> What is this? You own a Faction, RPG, or any server with a working economy? Well, you would like to secure all exchanges between…
⬇ Download on Spigot
SecuresExchanges
>>> What is this?
You own a Faction, RPG, or any server with a working economy?
Well, you would like to secure all exchanges between players on your server? Protect exchanges of items, but also money and experience? This plugin is the one you need!
The plugin also provides you the possibility to setup several exchange areas, and custom usage permission per area. Useful to create VIP-exclusive zones!
Fully configurable, you can setup all chat messages and GUI texts to change language (fr & en files below) and personalize them with parameters (see corresponding section).
>>> Features
- Items exchange (support custom items)
- Money exchange (requires Vault and an economy plugin)
- Experience exchange
- Unlimited exchanges areas
- Custom usage permissions per areas (to send / accept an exchange request)
- Fully customizable chat and GUI texts for players (see parameters list below)
- Exchange protection (cancel item pickup and teleportation events during trade, protection against item-lost when players do whatever with the GUI)
- User-friendly and easy to use GUI
- Support server restart / reload
>>> Commands
/se send <player> OR /ses <player> : send exchange request to <player> | custom permission depending on player exchange zone (defined in config)
/se accept <player> OR /sea <player> : accept trade request from <player> | custom permission depending on player exchange zone (defined in config)
/se help : display command list and permissions | securesexchanges.zone.display.help
/se zone list : display all existing zones | securesexchanges.zone.display.list
/se zone info <zone> : display location and permissions of <zone> zone | securesexchanges.zone.display.info
/se zone delete <zone> : delete <zone> exchange zone | securesexchanges.zone.edit.delete
/se zone add <zone> <send_permission> <accept_permission> : add <zone> exchange zone and set the first corner at your current location. Then use /se zone corner to setup the 2nd area corner | securesexchanges.zone.edit.add
/se zone corner : after using /se zone add, use this command to define the 2nd area corner | securesexchanges.zone.edit.add
>>> Configuration parameters
You can use a lot of parameters when sending messages to players. To use them, just add the parameter identifier in the message string (each field in text configuration part is compatible). There is the exhaustive list of parameters identifiers:
Code (Text):
%player% / displayed name of player
%partner% / displayed name of exchange partner
%playerZone% / player current zone name
%partnerZone% / partner current zone name
%send_permission% / permission needed to request an exchange in the current player zone
%accept_permission% / permission needed to accept an exchange in the current player zone
%playerOwnExp% / player experience level
%playerExp% / player experience level which will be gived to partner
%partnerOwnExp% / partner experience level
%partnerExp% / parter experience level which will be gived to player
%playerOwnMoney% / player money
%playerMoney% / player money which will be gived to partner
%partnerOwnMoney% / partner money
%partnerMoney% / parter money which will be gived to player
%countdown% / countdown before exchange execution
%partner% / displayed name of exchange partner
%playerZone% / player current zone name
%partnerZone% / partner current zone name
%send_permission% / permission needed to request an exchange in the current player zone
%accept_permission% / permission needed to accept an exchange in the current player zone
%playerOwnExp% / player experience level
%playerExp% / player experience level which will be gived to partner
%partnerOwnExp% / partner experience level
%partnerExp% / parter experience level which will be gived to player
%playerOwnMoney% / player money
%playerMoney% / player money which will be gived to partner
%partnerOwnMoney% / partner money
%partnerMoney% / parter money which will be gived to player
%countdown% / countdown before exchange execution
- In all parameter’s descriptions, “player” is the player to who is printed the text, and “partner” the player with who he is exchanging.
- Parameters will only work in the correct environment. For example, the %zone% field will not be replaced if the player isn’t in any zone.
>>> Configuration files (en & fr)
Spoiler: english config.yml
#Use true / false falues to setup availability of money and experience exchange (money exchange requires Vault)
authorize_exp_exchange : true
authorize_money_exchange : true
#If you use the money exchange feature, write here the economy plugin you use
economy_plugin_name : "Essentials"
#Max distance between the exchange request sender and reciever to proceed to the exchange
max_distance_between_players : 10
#All texts which can be displayed to players
#You can use all parameters everywhere, while the context is correct
#See spigot.org plugin page to see the whole parameter list
text :
#All chat messages displayed to players
message :
exchange_cancel_player_not_enough_slots : "§You dn't have enough free slots! Exchange cancelled."
exchange_cancel_partner_not_enough_slots : "§eYour partner doesn't have enough free slots. Exchange cancelled."
exchange_cancel_player_choice : "§eExchange cancelled."
exchange_cancel_partner_choice : "§eYour partner cancelled the exchange."
exchange_executed : "§2Exchange success!"
command_exchange_start : "%partner% §ahas accepted your request. Exchange started."
command_player_trade_with_himself : "§cYou can't exchange with yourself!"
command_different_zone : "§cImpossible to start exchange. You and %partner% §caren't in the same zone."
command_invalid_usage : "§cInvalid command. Type /se help to display the command list."
command_offline_target : "§cPlayer §e%partner% §cis offline."
command_cancel_others_demands : "§eLast request cancelled."
command_cancel_demand : "§e%partner% cancelled his request."
command_no_demand : "§e%partner% didn't send you any request!"
command_out_of_zone : "§eYou aren't in any exchange zone."
command_wrong_zone_name : "§cThe specified exchange zone doesn't exist."
command_too_far : "§eYou're too far from %partner% §e!"
command_accept_denied : "§cYou don't have the permission to accept an exchange request in %playerZone%."
command_request_denied : "§cYou don't have the permission to send an exchange request in %playerZone%."
command_permission_denied : "§cYou don't have the permission to perform this command."
command_player_send_demand : "§aRequest sent to %partner%§a!"
command_player_recieve_demand : "§a%partner% §asent you an exchange request in %partnerZone%."
money_amount_selection : "§aSelect money amount to give (max: %playerOwnMoney%):"
exp_amount_selection : "§aSelect experience amount to give (max: %playerOwnExp%):"
interface_name : "§dExchange with %partner%"
#GUI items name
title :
validate_button : "§a>>> VALIDATE <<<"
cancel_button : "§c>>> CANCEL <<<"
money_button : "§bYou give: %playerMoney% §f| §3You get: %partnerMoney%"
exp_button : "§bYou give: %playerExp% §f| §3You get: %partnerExp%"
state_1 : "§Selection phase"
state_2 : "§Verification phase"
state_3 : "§Reception phase"
both_players_managing_exchange : "§5Waiting..."
player_ready : "§Ready"
partner_ready : "§5Partner ready"
countdown_indicator : "§7Exchange in %countdown%..."
your_items : "§6Drop your items here"
partner_items : "§6Items from %partner%"
separator : " "
#Lore of GUI items
#Add a new line here to add a new line in item lore, don't use \n
#WARNING: config variables aren't currently supported for lores!
lore :
validate_button :
- "§7Validate current exchange step"
cancel_button :
- "§7Cancel exchange"
money_button :
- "§7Click here to set the money"
- "§7amount to exchange"
exp_button :
- "§7Click here to set the experience"
- "§7amount to exchange"
state_1 :
- "§7Select amounts of money, experience"
- "§7and items to exchange"
state_2 :
- "§7Check amounts of money, experience and"
- "§7items you will give and recieve"
state_3 :
- "§7Exchange validated. It will be performed"
- "§7in a few seconds"
both_players_managing_exchange :
- "§7Validate as soon as possible"
player_ready :
- "§7Partner is selecting his items"
partner_ready :
- "§7Validate as soon as possible"
countdown_indicator :
- "§7Countdown before exchange execution"
your_items :
- "§7Here are the items you want to give to your partner"
partner_items :
- "§7Here are the items you will recieve from your partner"
separator :
- ""
#List of exchanges zones (change anything here is on your own risk)
zones_list :
Code (YAML):
#Use true / false falues to setup availability of money and experience exchange (money exchange requires Vault)
authorize_exp_exchange : true
authorize_money_exchange : true
#If you use the money exchange feature, write here the economy plugin you use
economy_plugin_name : "Essentials"
#Max distance between the exchange request sender and reciever to proceed to the exchange
max_distance_between_players : 10
#All texts which can be displayed to players
#You can use all parameters everywhere, while the context is correct
#See spigot.org plugin page to see the whole parameter list
text :
#All chat messages displayed to players
message :
exchange_cancel_player_not_enough_slots : "§You dn't have enough free slots! Exchange cancelled."
exchange_cancel_partner_not_enough_slots : "§eYour partner doesn't have enough free slots. Exchange cancelled."
exchange_cancel_player_choice : "§eExchange cancelled."
exchange_cancel_partner_choice : "§eYour partner cancelled the exchange."
exchange_executed : "§2Exchange success!"
command_exchange_start : "%partner% §ahas accepted your request. Exchange started."
command_player_trade_with_himself : "§cYou can't exchange with yourself!"
command_different_zone : "§cImpossible to start exchange. You and %partner% §caren't in the same zone."
command_invalid_usage : "§cInvalid command. Type /se help to display the command list."
command_offline_target : "§cPlayer §e%partner% §cis offline."
command_cancel_others_demands : "§eLast request cancelled."
command_cancel_demand : "§e%partner% cancelled his request."
command_no_demand : "§e%partner% didn't send you any request!"
command_out_of_zone : "§eYou aren't in any exchange zone."
command_wrong_zone_name : "§cThe specified exchange zone doesn't exist."
command_too_far : "§eYou're too far from %partner% §e!"
command_accept_denied : "§cYou don't have the permission to accept an exchange request in %playerZone%."
command_request_denied : "§cYou don't have the permission to send an exchange request in %playerZone%."
command_permission_denied : "§cYou don't have the permission to perform this command."
command_player_send_demand : "§aRequest sent to %partner%§a!"
command_player_recieve_demand : "§a%partner% §asent you an exchange request in %partnerZone%."
money_amount_selection : "§aSelect money amount to give (max: %playerOwnMoney%):"
exp_amount_selection : "§aSelect experience amount to give (max: %playerOwnExp%):"
interface_name : "§dExchange with %partner%"
#GUI items name
title :
validate_button : "§a>>> VALIDATE <<<"
cancel_button : "§c>>> CANCEL <<<"
money_button : "§bYou give: %playerMoney% §f| §3You get: %partnerMoney%"
exp_button : "§bYou give: %playerExp% §f| §3You get: %partnerExp%"
state_1 : "§Selection phase"
state_2 : "§Verification phase"
state_3 : "§Reception phase"
both_players_managing_exchange : "§5Waiting..."
player_ready : "§Ready"
partner_ready : "§5Partner ready"
countdown_indicator : "§7Exchange in %countdown%..."
your_items : "§6Drop your items here"
partner_items : "§6Items from %partner%"
separator : " "
#Lore of GUI items
#Add a new line here to add a new line in item lore, don't use \n
#WARNING: config variables aren't currently supported for lores!
lore :
validate_button :
- "§7Validate current exchange step"
cancel_button :
- "§7Cancel exchange"
money_button :
- "§7Click here to set the money"
- "§7amount to exchange"
exp_button :
- "§7Click here to set the experience"
- "§7amount to exchange"
state_1 :
- "§7Select amounts of money, experience"
- "§7and items to exchange"
state_2 :
- "§7Check amounts of money, experience and"
- "§7items you will give and recieve"
state_3 :
- "§7Exchange validated. It will be performed"
- "§7in a few seconds"
both_players_managing_exchange :
- "§7Validate as soon as possible"
player_ready :
- "§7Partner is selecting his items"
partner_ready :
- "§7Validate as soon as possible"
countdown_indicator :
- "§7Countdown before exchange execution"
your_items :
- "§7Here are the items you want to give to your partner"
partner_items :
- "§7Here are the items you will recieve from your partner"
separator :
- ""
#List of exchanges zones (change anything here is on your own risk)
zones_list :
Spoiler: french config.yml
#Use true / false falues to setup availability of money and experience exchange (money exchange requires Vault)
authorize_exp_exchange : true
authorize_money_exchange : true
#If you use the money exchange feature, write here the economy plugin you use
economy_plugin_name : "Essentials"
#Max distance between the exchange request sender and reciever to proceed to the exchange
max_distance_between_players : 10
#All texts which can be displayed to players
#You can use all parameters everywhere, while the context is correct
#See spigot.org plugin page to see the whole parameter list
text :
#All chat messages displayed to players
message :
exchange_cancel_player_not_enough_slots : "§eVous n'avez pas assez de slots ! Echange annulé."
exchange_cancel_partner_not_enough_slots : "§eVotre partenaire n'a pas assez de slots disponibles. Echange annulé."
exchange_cancel_player_choice : "§eAnnulation de l'échange."
exchange_cancel_partner_choice : "§eVotre partenaire a annulé l'échange."
exchange_executed : "§2Echange exécuté"
command_exchange_start : "%partner% §aa accepté l'échange."
command_player_trade_with_himself : "§cVous ne pouvez pas échanger avec vous même !"
command_different_zone : "§cImpossible de commencer l'échange. Vous et %partner% §cn'êtes pas dans la même zone."
command_invalid_usage : "§cCommand invalide. Tapez /se help pour la liste des commandes."
command_offline_target : "§cLe joueur §e%partner% §cn'est pas en ligne."
command_cancel_others_demands : "§ePrécédente requête annulée."
command_cancel_demand : "§e%partner% a retiré sa demande."
command_no_demand : "§e%partner% ne vous a envoyé aucune requête !"
command_out_of_zone : "§eVous n'êtes dans aucune zone d'échange."
command_wrong_zone_name : "§cLa zone spécifiée n'existe pas."
command_too_far : "§eVous êtes trop loin de %partner% §e!"
command_accept_denied : "§cVous n'avez pas la permission d'accepter un échange dans %playerZone%."
command_request_denied : "§cVous n'avez pas la permission d'initier un échange dans %playerZone%."
command_permission_denied : "§cVous n'avez pas la permission d'exécuter cette commande."
command_player_send_demand : "§aDemande envoyée à %partner% §a!"
command_player_recieve_demand : "§a%partner% §avous a envoyé une demande d'échange dans %partnerZone%."
money_amount_selection : "§aEntrez le montant d'argent à donner (max : %playerOwnMoney%) :"
exp_amount_selection : "§aEntrez le montant d'exp à donner (max : %playerOwnExp%) :"
interface_name : "§dEchange avec %partner%"
#GUI items name
title :
validate_button : "§a>>> VALIDER <<<"
cancel_button : "§c>>> ANNULER <<<"
money_button : "§bVous donnez : %playerMoney% §f| §3Vous recevez : %partnerMoney%"
exp_button : "§bVous donnez : %playerExp% §f| §3Vous recevez : %partnerExp%"
state_1 : "§5Sélection"
state_2 : "§5Vérification"
state_3 : "§5Réception"
both_players_managing_exchange : "§5En attente..."
player_ready : "§5Prêt"
partner_ready : "§5Partenaire prêt"
countdown_indicator : "§7Echange dans %countdown%..."
your_items : "§6Déposez vos items ici"
partner_items : "§6Items de votre partenaire"
separator : " "
#Lore of GUI items
#Add a new line here to add a new line in item lore, don't use \n
#WARNING: config variables aren't currently supported for lores!
lore :
validate_button :
- "§7Valider l'étape actuelle de l'échange"
cancel_button :
- "§7Annuler l'échange"
money_button :
- "§7Cliquez ici pour modifier le montant"
- "§7d'argent à échanger"
exp_button :
- "§7Cliquez ici pour modifier le montant"
- "§7d'expérience à échanger"
state_1 :
- "§7Sélectionnez les montants d'argent, d'xp"
- "§7et les items à échanger."
state_2 :
- "§7Vérifiez les montants d'argent, d'xp et les"
- "§7items que votre partenaire à sélectionné."
state_3 :
- "§7L'échange a été validé. Il sera exécuté dans"
- "§7quelques secondes."
both_players_managing_exchange :
- "§7Validez dès que vous serez prêt."
player_ready :
- "§7Partenaire en cours de sélection"
partner_ready :
- "§7Validez dès que vous aurez terminé."
countdown_indicator :
- "§7Compte à rebours avant échange"
your_items :
- "§7Pendant la phase de sélection, ajoutez les objets"
- "§7que vous voulez donner à votre partenaire ici"
partner_items :
- "§7Items sélectionnés par votre partenaire. Vérifiez en"
- "§7bien le contenu avant d'accepter l'échange !"
separator :
- ""
#List of exchanges zones (change anything here is on your own risk)
zones_list: [ /SIZE ]
[ SIZE=6 ] [ SIZE=4 ]
Code (YAML):
#Use true / false falues to setup availability of money and experience exchange (money exchange requires Vault)
authorize_exp_exchange : true
authorize_money_exchange : true
#If you use the money exchange feature, write here the economy plugin you use
economy_plugin_name : "Essentials"
#Max distance between the exchange request sender and reciever to proceed to the exchange
max_distance_between_players : 10
#All texts which can be displayed to players
#You can use all parameters everywhere, while the context is correct
#See spigot.org plugin page to see the whole parameter list
text :
#All chat messages displayed to players
message :
exchange_cancel_player_not_enough_slots : "§eVous n'avez pas assez de slots ! Echange annulé."
exchange_cancel_partner_not_enough_slots : "§eVotre partenaire n'a pas assez de slots disponibles. Echange annulé."
exchange_cancel_player_choice : "§eAnnulation de l'échange."
exchange_cancel_partner_choice : "§eVotre partenaire a annulé l'échange."
exchange_executed : "§2Echange exécuté"
command_exchange_start : "%partner% §aa accepté l'échange."
command_player_trade_with_himself : "§cVous ne pouvez pas échanger avec vous même !"
command_different_zone : "§cImpossible de commencer l'échange. Vous et %partner% §cn'êtes pas dans la même zone."
command_invalid_usage : "§cCommand invalide. Tapez /se help pour la liste des commandes."
command_offline_target : "§cLe joueur §e%partner% §cn'est pas en ligne."
command_cancel_others_demands : "§ePrécédente requête annulée."
command_cancel_demand : "§e%partner% a retiré sa demande."
command_no_demand : "§e%partner% ne vous a envoyé aucune requête !"
command_out_of_zone : "§eVous n'êtes dans aucune zone d'échange."
command_wrong_zone_name : "§cLa zone spécifiée n'existe pas."
command_too_far : "§eVous êtes trop loin de %partner% §e!"
command_accept_denied : "§cVous n'avez pas la permission d'accepter un échange dans %playerZone%."
command_request_denied : "§cVous n'avez pas la permission d'initier un échange dans %playerZone%."
command_permission_denied : "§cVous n'avez pas la permission d'exécuter cette commande."
command_player_send_demand : "§aDemande envoyée à %partner% §a!"
command_player_recieve_demand : "§a%partner% §avous a envoyé une demande d'échange dans %partnerZone%."
money_amount_selection : "§aEntrez le montant d'argent à donner (max : %playerOwnMoney%) :"
exp_amount_selection : "§aEntrez le montant d'exp à donner (max : %playerOwnExp%) :"
interface_name : "§dEchange avec %partner%"
#GUI items name
title :
validate_button : "§a>>> VALIDER <<<"
cancel_button : "§c>>> ANNULER <<<"
money_button : "§bVous donnez : %playerMoney% §f| §3Vous recevez : %partnerMoney%"
exp_button : "§bVous donnez : %playerExp% §f| §3Vous recevez : %partnerExp%"
state_1 : "§5Sélection"
state_2 : "§5Vérification"
state_3 : "§5Réception"
both_players_managing_exchange : "§5En attente..."
player_ready : "§5Prêt"
partner_ready : "§5Partenaire prêt"
countdown_indicator : "§7Echange dans %countdown%..."
your_items : "§6Déposez vos items ici"
partner_items : "§6Items de votre partenaire"
separator : " "
#Lore of GUI items
#Add a new line here to add a new line in item lore, don't use \n
#WARNING: config variables aren't currently supported for lores!
lore :
validate_button :
- "§7Valider l'étape actuelle de l'échange"
cancel_button :
- "§7Annuler l'échange"
money_button :
- "§7Cliquez ici pour modifier le montant"
- "§7d'argent à échanger"
exp_button :
- "§7Cliquez ici pour modifier le montant"
- "§7d'expérience à échanger"
state_1 :
- "§7Sélectionnez les montants d'argent, d'xp"
- "§7et les items à échanger."
state_2 :
- "§7Vérifiez les montants d'argent, d'xp et les"
- "§7items que votre partenaire à sélectionné."
state_3 :
- "§7L'échange a été validé. Il sera exécuté dans"
- "§7quelques secondes."
both_players_managing_exchange :
- "§7Validez dès que vous serez prêt."
player_ready :
- "§7Partenaire en cours de sélection"
partner_ready :
- "§7Validez dès que vous aurez terminé."
countdown_indicator :
- "§7Compte à rebours avant échange"
your_items :
- "§7Pendant la phase de sélection, ajoutez les objets"
- "§7que vous voulez donner à votre partenaire ici"
partner_items :
- "§7Items sélectionnés par votre partenaire. Vérifiez en"
- "§7bien le contenu avant d'accepter l'échange !"
separator :
- ""
#List of exchanges zones (change anything here is on your own risk)
zones_list: [ /SIZE ]
[ SIZE=6 ] [ SIZE=4 ]
>>> Captures & videos
>>> Any question?
Send me a PM on Spigot or Discord (Bullobily#6169)
PS : the plugin is new. If you discover some bugs, let me know as fast as possible! Also, if you want to help me to translate it, send me the translated yml file
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.13, 1.14, 1.15
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
SecuresExchanges - Make all exchanges safe on your server! [1.13-1.15] is a free Minecraft Java mod. Compatible with Minecraft 1.13, 1.14, 1.15. Downloaded 215 times (via Spigot). Download it and open it directly in the game.