From 711c171f5372ded9ff2fb46f8def38a128a69b07 Mon Sep 17 00:00:00 2001 From: Aviortheking <2bazert@gmail.com> Date: Mon, 9 Jan 2017 23:03:53 +0100 Subject: [PATCH] Need To check messages fonctionnality --- Mariage/src/config.yml | 11 +- .../Minecraft/Marriage/Divorce.java | 43 ++++ .../DeltaWings/Minecraft/Marriage/Main.java | 32 +++ .../DeltaWings/Minecraft/Marriage/Marry.java | 91 +++---- .../Minecraft/Marriage/Partner.java | 225 +++++++++--------- .../Minecraft/Marriage/PlayerJoin.java | 16 +- Mariage/src/plugin.yml | 10 +- 7 files changed, 258 insertions(+), 170 deletions(-) create mode 100644 Mariage/src/net/DeltaWings/Minecraft/Marriage/Divorce.java diff --git a/Mariage/src/config.yml b/Mariage/src/config.yml index 1f937da..1679f03 100644 --- a/Mariage/src/config.yml +++ b/Mariage/src/config.yml @@ -1,11 +1,16 @@ config: #time to let the player answer - timeout: 60 isbroadcasted: true messages: + accepted: you have accepted the proposition ! + already-married: "&cSorry, but you are already married with someone." + blocked: Sorry but you are blocked from this player + broadcast: "&c %p1% has been married with %p2% !" miss-spell: "&cYou have miss-spelled somethings !" notMarried: You are not married + divorced: You have divorced with %otherplayer% + other-divorced: %otherplayer% have divorced with you noHome: You don't have any home tp-home: You were teleported to your home tp-to: Your were teleported to your partner @@ -13,9 +18,6 @@ messages: sethome: Your partner home was set ! homedeleted: Your home were deleted no-proposition: "&cThe &8%player% &chasn't sended a proposition" - accepted: you have accepted the proposition ! - broadcast: "&c %p1% has been married with %p2% !" - already-married: "&cSorry, but you are already married with someone." proposition: Dear %receiver%, \nWould you like to marry me ? \nFrom %sender%. \n\(You have %time% seconds to send your answer !\) \n\(use '/marry accept %player%' to accept the proposition\) # don't touch under this !!! partners: #each players have the sames infos ! @@ -24,7 +26,6 @@ partners: #each players have the sames infos ! propositions: otherplayer: isblocked: true - timeout: 60 home: # coords of the home x: 0 y: 0 diff --git a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Divorce.java b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Divorce.java new file mode 100644 index 0000000..736b25b --- /dev/null +++ b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Divorce.java @@ -0,0 +1,43 @@ +package net.DeltaWings.Minecraft.Marriage; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.Player; + +/** + * Created by Delta Wings on 09/01/2017 at.20:35 + */ +public class Divorce implements CommandExecutor { + + private Main pl; + private FileConfiguration config; + + public Divorce(Main main) { + this.pl = main; + this.config = pl.getConfig(); + } + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String string, String[] args) { + if(cmd.getName().equalsIgnoreCase("divorce")) { + if (sender instanceof Player ) { + Player p = (Player)sender; + if ( pl.hasPermission(cmd, args, p) ) { + p.sendMessage( config.getString("messages.divorced".replace("&", "£").replace("%otherplayer%", config.getString("partners."+p.getName()+".who")))); + for ( Player player : Bukkit.getServer().getOnlinePlayers() ) { + if ( player.getName().equalsIgnoreCase(config.getString( "partners."+p.getName()+".who")) ) player.sendMessage(config.getString("messages.other-divorced".replace("&", "£").replace("%otherplayer%", config.getString(p.getName())))); + } + config.set("partners."+config.getString( "partners."+p.getName()+".who")+".who", "none"); + config.set("partners."+config.getString( "partners."+p.getName()+".who")+".home", null); + config.set("partners."+p.getName()+".who", "none"); + config.set("partners."+p.getName()+".home", null); + pl.saveConfig(); + } + } + } + return false; + } +} diff --git a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Main.java b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Main.java index c573310..30501b9 100644 --- a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Main.java +++ b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Main.java @@ -1,9 +1,14 @@ package net.DeltaWings.Minecraft.Marriage; +import org.bukkit.command.Command; +import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; +import java.util.ArrayList; +import java.util.List; + /** * Created by Delta Wings on 19/12/2016 at.18:15 */ @@ -12,6 +17,7 @@ public class Main extends JavaPlugin implements Listener{ public void onEnable(){ getCommand("Marry").setExecutor(new Marry(this)); getCommand("Partner").setExecutor(new Partner(this)); + getCommand("divorce").setExecutor(new Divorce(this)); //load the config getConfig().options().copyDefaults(true); @@ -24,4 +30,30 @@ public class Main extends JavaPlugin implements Listener{ } + public Boolean hasPermission(Command command, String[] arguments, Player player) { + Command cmd = command; + String[] args = arguments; + Player p = player; + List perms = new ArrayList<>(); + perms.add("deltawings.marriage.all"); + // divorce command + if( cmd.getName().equalsIgnoreCase("divorce") ) perms.add("deltawings.marriage.divorce"); + // marry command + if( cmd.getName().equalsIgnoreCase("marry") ) perms.add("deltawings.marriage.marry"); + //partner command + if( cmd.getName().equalsIgnoreCase("partner") ) { + perms.add("deltawings.marriage.partner.all"); + if ( args[0].equalsIgnoreCase("info") ) perms.add("deltawings.marriage.info"); + if ( args[0].equalsIgnoreCase("join") ) perms.add("deltawings.marriage.join"); + if ( args[0].equalsIgnoreCase("sethome") ) perms.add("deltawings.marriage.sethome"); + if ( args[0].equalsIgnoreCase("home") ) perms.add("deltawings.marriage.home"); + if ( args[0].equalsIgnoreCase("delhome") ) perms.add("deltawings.marriage.delhome"); + if ( args[0].equalsIgnoreCase("message") ) perms.add("deltawings.marriage.message"); + if ( args[0].equalsIgnoreCase("gift") ) perms.add("deltawings.marriage.gift"); + if ( args[0].equalsIgnoreCase("help") ) perms.add("deltawings.marriage.help"); + } + for ( String permission : perms ) if ( p.hasPermission(permission) ) return true; + return true; + } + } diff --git a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Marry.java b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Marry.java index 7108875..bce6995 100644 --- a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Marry.java +++ b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Marry.java @@ -24,49 +24,58 @@ public class Marry implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if(sender instanceof Player) { - Player p = (Player)sender; - if(cmd.getName().equalsIgnoreCase("marry")) { - // /marry to ask a player to marry him/her - if(args.length == 1 && !args[0].equalsIgnoreCase("accept")) { - Boolean found = false; - for(Player player : Bukkit.getServer().getOnlinePlayers()) { - if(player.getName().equalsIgnoreCase(args[0])) { - found = true; - if(!config.getBoolean("partners."+player.getName()+".married")) { - //config messages.proposition - player.sendMessage(config.getString("messages.proposition".replace("%sender%",p.getName()).replace("%receiver%", player.getName()).replace("%time%",Integer.toString(config.getInt("config.timeout"))).replace("&", "§"))); - } - } - } - if(!found) { - //send message "Player isn't online or is not correctly typed" - p.sendMessage(args[0]+" isn't online or you haven't correctly typed his/her name !"); - } - // /marry accept - } else if (args.length == 2 && args[0].equalsIgnoreCase("accept")) { - if (!config.getString("partners." + p.getName() + ".who").equalsIgnoreCase("none")) - p.sendMessage((config.getString("messages.already-married").replace("&", "§"))); - else if (config.getConfigurationSection("partners." + p.getName() + ".propositions").contains(args[1])) { - String conf = "partners." + p.getName() + "."; - config.set(conf + "who", args[1]); - config.set(conf + "propositions", null); - p.sendMessage(config.getString("messages.accepted")); - if (config.getBoolean("config.isbroadcasted")) - Bukkit.broadcastMessage(config.getString("messages.broadcast").replace("&", "§").replace("%p1%", p.getName()).replace("%p2%", args[1])); - } else p.sendMessage(config.getString("messages.no-proposition").replace("%player%", args[1]).replace("&", "§")); - //check si marrié - //msg t'es déjà marrié sale con ! - //sinon check si le joueur lui a proposée - //message you have accepted the proposition - //bd %p1 and %p2 has been married ! - //sinon message le joueur ne t'a pas proposée de te marrié avc lui/elle - } else { - p.sendMessage(config.getString("messages.miss-spell").replace("&", "§")); - } + if(cmd.getName().equalsIgnoreCase("marry")) { + if(sender instanceof Player) { + Player p = (Player)sender; + if ( pl.hasPermission(cmd, args, p) ) { + // /marry to ask a player to marry him/her + if(args.length == 1 && !args[0].equalsIgnoreCase("accept")) { + Boolean found = false; + for(Player player : Bukkit.getServer().getOnlinePlayers()) { + if(player.getName().equalsIgnoreCase(args[0])) { + found = true; + if(!config.getBoolean("partners."+player.getName()+".married")) { + //config messages.proposition + if ( config.getBoolean("partners."+player.getName()+".propositions."+p.getName()+".isblocked", false) ) p.sendMessage(config.getString("messages.blocked").replace("&", "§")); + else { + config.set("partners."+player.getName()+".propositions", p.getName()); + pl.saveConfig(); + player.sendMessage(config.getString("messages.proposition".replace("%sender%",p.getName()).replace("%receiver%", player.getName()).replace("%time%",Integer.toString(config.getInt("config.timeout"))).replace("&", "§"))); + } + } + } + } + if(!found) { + //send message "Player isn't online or is not correctly typed" + p.sendMessage(args[0]+" isn't online or you haven't correctly typed his/her name !"); + } + // /marry accept + } else if (args.length == 2 && args[0].equalsIgnoreCase("accept")) { + if (!config.getString("partners." + p.getName() + ".who").equalsIgnoreCase("none")) + p.sendMessage((config.getString("messages.already-married").replace("&", "§"))); + else if (config.getConfigurationSection("partners." + p.getName() + ".propositions").contains(args[1])) { + String conf = "partners." + p.getName() + "."; + config.set(conf + "who", args[1]); + config.set("partners." + args[1] + ".who", p.getName()); + config.set(conf + "propositions", null); + config.set("partners." + args[1] + ".propositions", null); + pl.saveConfig(); + p.sendMessage(config.getString("messages.accepted")); + if (config.getBoolean("config.isbroadcasted")) + Bukkit.broadcastMessage(config.getString("messages.broadcast").replace("&", "§").replace("%p1%", p.getName()).replace("%p2%", args[1])); + } else p.sendMessage(config.getString("messages.no-proposition").replace("%player%", args[1]).replace("&", "§")); + //check si marrié + //msg t'es déjà marrié sale con ! + //sinon check si le joueur lui a proposée + //message you have accepted the proposition + //bd %p1 and %p2 has been married ! + //sinon message le joueur ne t'a pas proposée de te marrié avc lui/elle + } else { + p.sendMessage(config.getString("messages.miss-spell").replace("&", "§")); + } + } } } - pl.saveConfig(); return true; } } diff --git a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Partner.java b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Partner.java index 8e45bf4..f621028 100644 --- a/Mariage/src/net/DeltaWings/Minecraft/Marriage/Partner.java +++ b/Mariage/src/net/DeltaWings/Minecraft/Marriage/Partner.java @@ -24,128 +24,133 @@ public class Partner implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if(sender instanceof Player) { - Player p = (Player) sender; - if (cmd.getName().equalsIgnoreCase("partner")) { - /** - * infos/info TODO - * join DONE - * sethome/shome DONE - * home DONE - * delhome/dhome DONE - * message/msg DONE - * sendgift/gift TODO - */ - if (args.length == 1 && (args[0].equalsIgnoreCase("infos") || args[0].equalsIgnoreCase("info"))) { - // /partner infos - p.sendMessage("Work in Progress"); - } else if (args.length == 1 && args[0].equalsIgnoreCase("join")) { - // /partner join - String partner = config.getString("partners."+p.getName()+".who"); - if (!partner.equalsIgnoreCase("none")) { - for (Player player : Bukkit.getServer().getOnlinePlayers()) { - if (player.getName().equalsIgnoreCase(partner)) { - p.teleport(player); - // message tp to - p.sendMessage(config.getString("messages.tp-to").replace("&", "§")); - // message tp from - player.sendMessage(config.getString("messages.tp-from").replace("&", "§")); - } - } - } - } else if (args.length == 1 && (args[0].equalsIgnoreCase("sethome") || args[0].equalsIgnoreCase("shome"))) { - // /partner sethome/shome + if (cmd.getName().equalsIgnoreCase("partner")) { + if(sender instanceof Player) { + Player p = (Player) sender; + if ( pl.hasPermission(cmd, args, p) ) { + /** + * infos/info TODO + * join DONE WORK + * sethome/shome DONE WORK + * home DONE WORK + * delhome/dhome DONE WORK + * message/msg DONE + * sendgift/gift TODO + * help TODO + */ + if (args.length == 1 && (args[0].equalsIgnoreCase("infos") || args[0].equalsIgnoreCase("info"))) { + // /partner infos + p.sendMessage("Work in Progress"); + } else if (args.length == 1 && args[0].equalsIgnoreCase("join")) { + // /partner join + String partner = config.getString("partners."+p.getName()+".who"); + if (!partner.equalsIgnoreCase("none")) { + for (Player player : Bukkit.getServer().getOnlinePlayers()) { + if (player.getName().equalsIgnoreCase(partner)) { + p.teleport(player); + // message tp to + p.sendMessage(config.getString("messages.tp-to").replace("&", "§")); + // message tp from + player.sendMessage(config.getString("messages.tp-from").replace("&", "§")); + } + } + } + } else if (args.length == 1 && (args[0].equalsIgnoreCase("sethome") || args[0].equalsIgnoreCase("shome"))) { + // /partner sethome/shome - String partner = config.getString("partners."+p.getName()+".who"); + String partner = config.getString("partners."+p.getName()+".who"); - if (!partner.equalsIgnoreCase("none")) { + if (!partner.equalsIgnoreCase("none")) { - String playerPath = "partner."+p.getName()+".home"; + String playerPath = "partners."+p.getName()+".home"; - if (!config.isSet("partner."+p.getName()+".home")) { - config.createSection(playerPath+".home"); - config.createSection(playerPath+".home.x"); - config.createSection(playerPath+".home.y "); - config.createSection(playerPath+".home.z"); - config.createSection(playerPath+".home.world"); - } + if (!config.isSet("partners."+p.getName()+".home")) { + config.createSection(playerPath); + config.createSection(playerPath+".x"); + config.createSection(playerPath+".y"); + config.createSection(playerPath+".z"); + config.createSection(playerPath+".world"); + } - Location playerLoc = p.getLocation(); + Location playerLoc = p.getLocation(); - config.set(playerPath+".home.x", playerLoc.getX()); - config.set(playerPath+".home.y", playerLoc.getY()); - config.set(playerPath+".home.z", playerLoc.getZ()); - config.set(playerPath+".home.world", playerLoc.getWorld()); + config.set(playerPath+".x", playerLoc.getX()); + config.set(playerPath+".y", playerLoc.getY()); + config.set(playerPath+".z", playerLoc.getZ()); + config.set(playerPath+".world", playerLoc.getWorld().getName()); - String partnerPath = "partner."+partner+".home"; + String partnerPath = "partners."+partner+".home"; - if (!config.isSet(partnerPath)) { - config.createSection(partnerPath); - config.createSection(partnerPath+".x"); - config.createSection(partnerPath+".y "); - config.createSection(partnerPath+".z"); - config.createSection(partnerPath+".world"); - } - config.set(partnerPath+".x", playerLoc.getX()); - config.set(partnerPath+".y", playerLoc.getY()); - config.set(partnerPath+".z", playerLoc.getZ()); - config.set(partnerPath+".world", playerLoc.getWorld()); + if (!config.isSet(partnerPath)) { + config.createSection(partnerPath); + config.createSection(partnerPath+".x"); + config.createSection(partnerPath+".y "); + config.createSection(partnerPath+".z"); + config.createSection(partnerPath+".world"); + } + config.set(partnerPath+".x", playerLoc.getX()); + config.set(partnerPath+".y", playerLoc.getY()); + config.set(partnerPath+".z", playerLoc.getZ()); + config.set(partnerPath+".world", playerLoc.getWorld().getName()); - //message home mis - p.sendMessage(config.getString("messages.sethome")); - pl.saveConfig(); - } - } else if (args.length == 1 && (args[0].equalsIgnoreCase("home"))) { - // /partner home - if ((!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none")) && config.isSet("partner."+p.getName()+".home")) { - // teleport - String playerPath = "partner."+p.getName()+".home"; - p.teleport(new Location(Bukkit.getServer().getWorld(config.getString(playerPath+".world")), config.getDouble(playerPath+".x"), config.getDouble(playerPath+".y"), config.getDouble(playerPath+".z"))); - // message joueur tp home - p.sendMessage(config.getString("messages.tp-home")); - } else if (!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none")) { - // pas marrié - p.sendMessage(config.getString("messages.notMarried")); - } - } else if (args.length == 1 && (args[0].equalsIgnoreCase("delhome") || args[0].equalsIgnoreCase("dhome"))) { - // /partner delhome/dhome - if (!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none") && config.isSet("partner."+p.getName()+".home")) { - config.set("partner."+p.getName()+".home", null); - config.set("partner."+config.getString("partner."+p.getName()+".who")+".home", null); - pl.saveConfig(); - // message home supprimé - p.sendMessage("messages.homedeleted"); - } else if (!config.isSet("partner."+p.getName()+".home")) { - // tu n'as pas de home - p.sendMessage(config.getString("messages.noHome")); - } else { - //tu n'es pas marrié - p.sendMessage(config.getString("messages.notMarried")); - } - } else if (args.length > 1 && (args[0].equalsIgnoreCase("message") || args[0].equalsIgnoreCase("msg"))) { - // /partner message/msg - if (config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none")) { - for (Player player : Bukkit.getServer().getOnlinePlayers()) { - if (player.getName().equalsIgnoreCase(config.getString("partner."+p.getName()+".who"))) { - String msg = ""; - for (int a = 1; args.length-1 < a; a++) { - msg += " "+args[a]; - } - // message send message to other player - player.sendMessage(msg.replace("&", "§")); - } - } - } - } else if (args.length == 1 && (args[0].equalsIgnoreCase("sendgift") || args[0].equalsIgnoreCase("gift"))) { - // /partner sendgift/gift - p.sendMessage("Work In Progress"); - } else { - // message miss-spell - p.sendMessage(config.getString("messages.miss-spell").replace("&", "§")); - } + //message home mis + p.sendMessage(config.getString("messages.sethome")); + pl.saveConfig(); + } + } else if (args.length == 1 && args[0].equalsIgnoreCase("home")) { + // /partner home + if ((!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none")) && config.isSet("partners."+p.getName()+".home")) { + // teleport + String playerPath = "partners."+p.getName()+".home"; + p.teleport(new Location(Bukkit.getServer().getWorld(config.getString(playerPath+".world")), config.getDouble(playerPath+".x"), config.getDouble(playerPath+".y"), config.getDouble(playerPath+".z"))); + // message joueur tp home + p.sendMessage(config.getString("messages.tp-home")); + } else if (!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none")) { + // pas marrié + p.sendMessage(config.getString("messages.notMarried")); + } + } else if (args.length == 1 && (args[0].equalsIgnoreCase("delhome") || args[0].equalsIgnoreCase("dhome"))) { + // /partner delhome/dhome + if (!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none") && config.isSet("partners."+p.getName()+".home")) { + config.set("partners."+p.getName()+".home", null); + config.set("partners."+config.getString("partners."+p.getName()+".who")+".home", null); + pl.saveConfig(); + // message home supprimé + p.sendMessage("messages.homedeleted"); + } else if (!config.isSet("partner."+p.getName()+".home")) { + // tu n'as pas de home + p.sendMessage(config.getString("messages.noHome")); + } else { + //tu n'es pas marrié + p.sendMessage(config.getString("messages.notMarried")); + } + } else if (args.length > 1 && (args[0].equalsIgnoreCase("message") || args[0].equalsIgnoreCase("msg"))) { + // /partner message/msg + if (!config.getString("partners."+p.getName()+".who").equalsIgnoreCase("none")) { + for (Player player : Bukkit.getServer().getOnlinePlayers()) { + p.sendMessage(player.getName()); + p.sendMessage(config.getString("partners."+p.getName()+".who")); + if (player.getName().equalsIgnoreCase(config.getString("partners."+p.getName()+".who"))) { + String msg = ""; + for (int a = 1; args.length-1 < a; a++) { + msg += " "+args[a]; + } + // message send message to other player + player.sendMessage(msg.replace("&", "§")); + } + } + } + } else if (args.length == 1 && (args[0].equalsIgnoreCase("sendgift") || args[0].equalsIgnoreCase("gift"))) { + // /partner sendgift/gift + p.sendMessage("Work In Progress"); + } else { + // message miss-spell + p.sendMessage(config.getString("messages.miss-spell").replace("&", "§")); + } + } } } return true; diff --git a/Mariage/src/net/DeltaWings/Minecraft/Marriage/PlayerJoin.java b/Mariage/src/net/DeltaWings/Minecraft/Marriage/PlayerJoin.java index 6036f3e..4f3af9d 100644 --- a/Mariage/src/net/DeltaWings/Minecraft/Marriage/PlayerJoin.java +++ b/Mariage/src/net/DeltaWings/Minecraft/Marriage/PlayerJoin.java @@ -23,18 +23,10 @@ public class PlayerJoin implements Listener { public void onPlayerJoinEvent(PlayerJoinEvent e) { Player p = e.getPlayer(); String Base = "partners."+p.getName(); - if(!p.hasPlayedBefore()) { - config.createSection(Base); - config.createSection(Base+".who"); - config.set(Base+".who", "none"); - config.createSection(Base+".propositions"); - - } else if (!config.isSet(Base)) { - config.createSection(Base); - config.createSection(Base+".who"); - config.set(Base+".who", "none"); - config.createSection(Base+".propositions"); + if (!config.isSet(Base)) { + config.set(Base+".who", "none"); + config.createSection(Base+".propositions"); + pl.saveConfig(); } - pl.saveConfig(); } } diff --git a/Mariage/src/plugin.yml b/Mariage/src/plugin.yml index d1b994d..92b0d88 100644 --- a/Mariage/src/plugin.yml +++ b/Mariage/src/plugin.yml @@ -5,5 +5,11 @@ main: net.DeltaWings.Minecraft.Marriage.Main website: http://delta-wings.net/ commands: marry: - description: Marriage Command - usage: /marry \ No newline at end of file + description: Command to marry with another player. More infos on : https://gitlab.com/Delta-Wings/Minecraft-Marriage/wikis/home + usage: usage : /marry [] More infos on : https://gitlab.com/Delta-Wings/Minecraft-Marriage/wikis/home + partner: + descripion: Command to do things with your partner. More infos on : https://gitlab.com/Delta-Wings/Minecraft-Marriage/wikis/home + usage: /partner + divorce: + description: Command to divorce with your husband/wife. More infos on : https://gitlab.com/Delta-Wings/Minecraft-Marriage/wikis/home + usage: /divorce \ No newline at end of file