Custom Marriage Plugin 1.14.2

Discussion in 'Plugin Requests' started by NDLMongoose, Aug 22, 2019.

Thread Status:
Not open for further replies.
  1. Offline

    NDLMongoose

    Plugin category: Fun, Miscellaneous, Role-playing

    Minecraft version: 1.14.2

    Suggested name: FurSocial

    What I want:
    I'd like to see this plugin have players:
    1. Genders*: Allow the player to set either to a male gender or female gender and to unspecified (Non-Binary). For this, I would also like to let players have the ability to marry the same gender. (male+male) (female+female) (unspecified+unspecified). Also, they should have the ability to marry other genders (male+female) (male+unspecified) (female+unspecified). Make it so that setting your gender is a requirement in order to use /propose <player name>
    2. Priests: In order for a player to get married, they have to let a priest use the command after they get proposed (Engaged). Make it so that whoever is a priest, add a way to let players know which priest is Online or Offline in /priests (Also, make it so if the player has the social.priest, they can access /marry <player1> <player2>)
    3. Marriage Gems: These will be the only way to use the /propose <player name> command. (These will also be needed to let the priest use /marry <player1> <player2> on the players who are engaged.) Make it so that it detects if both players have a marriage gem in their inventory and it is marked <player1> + <player2> "Engaged" in gold text. After the priest has issued the command to marry both players. It will be marked as <player1> + <player2> "Married" in green text. Once both players get Engaged, the marriage gem will be copied from the player who used the command to the player who accepted the proposal. Also, make it so that Marriage Gems are customizable, and that I/others can create my/their own marriage gems for players to get engaged and married.
    4. Engagements: Once a player has a marriage gem, they will have the ability to use /propose <player name>and /propose accept/deny - Make it so that a marriage gem is required to allow players to use /propose <player name>
    5. Marriage: Players will be able to get married by a priest, they will have access to multiple perks. This includes:
    - Ability to ride on your spouse
    - Ability to kiss your spouse
    - Ability to access a small chest that you can store each other's items in
    - Ability to name your spouse (This will notify if your spouse joined or left the server.)
    Make it so that the two players have to be marked as "Engaged" on both of their marriage gems in order to let the priest marry both players.
    6. Divorces: Players will not have access to use the /divorce <player1> <player2> command. A lawyer with the permission node of social.lawyer.divorce will be the only one to use this command. Make it so that whoever is a lawyer, add a way to let players know which lawyer is Online or Offline in /lawyers (Also, make it so if the player has this node, the can access /divorce <player1> <player2>)

    What should be in the files:
    - Make the file code .yml
    - Files for storing players who are Priests, Lawyers, Engaged and Married.
    - A file where the Marriage Gems can be customized/created.
    - Make it so that it supports by UUID and not the username.
    - Make a setting in the config for polygamy (Multiple marriage partners.)
    (Polygamy will have to go through a lawyer in order for the marriage partners to be approved for multiple marriages.)

    Ideas for commands:

    /male - Sets the player's gender to "Male" (They have to type it twice to confirm if they really want to set it to Male.)
    /female - Sets the player's gender to "Female" (They have to type it twice to confirm if they really want to set it to Female.)
    /unspecified - Sets the player's gender to "Unspecified" (They have to type it twice to confirm if they really want to set it to Unspecified.)
    /propose <player name> - allows a player to propose
    /propose accept/deny - to accept or deny a proposal
    /priests - Show the list of players who have the social.priest node (Also shows who is online and who is offline)
    /unengage <player1> <player2> - both players will no longer be engaged
    /engagements - Shows the list of players who are engaged
    /marry <player1> <player2> - Lets a priest marry two players after the their marriage gems are marked "Engaged"
    /marriages - Shows the list of players who are married
    /divorce <player1> <player2> - Divorces two married players
    /divorcerequest <description> - Sends a divorce request to a player with the social.lawyer node (Requires the players to be married)
    /lawyers - Shows a list of players with the social.lawyer node (Make the list the same as how /priests works)
    /status <player name> - Shows the status of yourself or a player indicating if you or they are Engaged, Married or neither
    /gender <player name> - Lets the player check what gender another player is before they get married.
    /genderset <player name> male/female/unspecified - Lets admins set other players gender
    /petname <player name> <String> - Lets married players set their spouse's pet names to let them know if their spouse joined or left the server.
    /marry chest - Opens a small chest that holds the same items as each other.

    Ideas for permissions:

    social.admin - Node for all of the Commands. (Op)
    social.gender.male - Node for /male (Default)
    social.gender.female - Node for /female (Default)
    social.gender.unspecified - Node for /unspecified (Default)
    social.gender.otherplayer - Node for /gender <player name> (Default)
    social.gender.set.otherplayer - Node for /genderset <playername> male/female/unspecified (Op)
    social.propose - Node for /propose <player name> (Default)
    social.unengage - Node for /unengage <player1> <player2> (Op)
    social.propose.accept - Node for /propose accept (Default)
    social.propose.deny - Node for /propose deny (Default)
    social.priest - If a player has this node, this will mark them in /priests (Op)
    social.priest.list - Node for /priests (Default)
    social.priest.marry - Node for /marry <player1> <player2> (Op)
    social.lawyer - If a player has this node, this will mark them in /lawyers and lets them receive notifications of players requesting a divorce. (Op)
    social.lawyer.list - Node for /lawyers (Default)
    social.lawyer.divorce - Node for /divorce <player1> <player2> (Op)
    social.petname - Node for /petname <player name> <String> (Default)
    social.divorce.request - Node for /divorcerequest <description> (Default)
    social.lawyer.divorcerequest.receiver - If a player has this node, they will be able to receive a notification that two players are requesting a divorce. If a player has the social.lawyer node, they will automatically have access to this node. (Op)
    social.engagement.receiver - If players have this node, they will receive a notification that two players got engaged. (Default)
    social.marriage.receiver - This node will send out a notification that "Father <player name> has married <player1> and <player2>." (Default)
    social.marry.chest - Node for /marry chest (Default)


    When I'd like it by:
    As soon as possible, but you can take your time in trying to make this plugin.

    Marriage Gems pre-requisites:
    - A requirement in order to successfully execute /propose.
    - If the player's inventory is full when the proposed user receives their "engaged" marked marriage gem, send a message to the user executing the command letting them know that their partner's inventory is full and the command couldn't be executed.
    *I made a similar post like this a year ago (almost 2 years ago) but the thread was closed due to my inactivity on responding.
     
    Last edited by a moderator: Aug 23, 2019
  2. Offline

    wand555

    Sounds interesting, but how does one obtain a marriage gem?
     
  3. Offline

    CraftCreeper6

    @wand555
    I imagine when they type /propose to one and other.
     
  4. Offline

    wand555

  5. Offline

    CraftCreeper6

    @wand555
    What do you mean by customization?
     
  6. Offline

    wand555

    Maybe add meta with the players name in it, but I don't really know
     
  7. Offline

    gadhero

    This sounds good, but uh, a priest and lawyer will kinda be... useless. You must add more benefits for the roles.
     
  8. Offline

    NDLMongoose

    Forgot about that..
    Maybe a command like /marriagegem <gemname> to get the custom gem after created in the file.. Then you can obtain the gems from a custom NPC from another plugin.
    Once the player obtains said marriage gem from the NPC, and they use /propose on the target user, it'll look for the gem from the file in the player's inventory and it'll allow the command to execute.
     
  9. Offline

    wand555

    This opens up a complete other dimension.
    How about a player can use any ore (or something similar) and performs the command while holding it in his hand. The once "normal item" will become the gem and will behave as a unique item?
     
  10. Offline

    NDLMongoose

    I've got it.. Maybe have it so if a player has say.. 30 diamonds, they can perform /marriagegem <gemname> command and it'll convert those 30 diamonds into a gem.
    Let's say, a Diamond Marriage gem requires 5 diamonds and 3 iron ingots.
    The person has 10 diamonds and 4 Irons ingots and a small fee of $500.
    They can do /marriagegem diamondgem, and it'll only take the required amount to make said gem.
    This both balances resources, and economy use in the way that marriage works.
    Then they can propose, for free, giving the copy gem to the target user, then a priest can marry them for a fee of say.. $200 (Fee's can be customizable).
    Priests will get paid for marrying users.
    Lawyers will get paid for divorcing married users.
     
  11. Offline

    wand555

    Don't take that as an offense, but it keeps getting more complicated :D
    You gotta list all the possible gems.
    Who sets the ratio? Also this requires basically an economy plugin/vault.

    I don't think I will try anything soon, so if anyone wants to do it, go ahead!
     
  12. Offline

    NDLMongoose

    Anything can become a marriage gem.
    The gem creation files will be something like:

    "commandName" will be the name of said gem you want to summon. Can't be spaced.
    commandName: <commandname>

    "GemName" will be the given name of the gem when summoned. Can be spaced
    gemname: <Name>

    "block/item" is what the marriage gem will look like when a player has it after created.
    block/item: <any block name/ID>

    "resources" are the requirements the player needs in their inventory in order to create the gem. (You can add multiple resources to the gem creation.
    resources: <
    block/item: number
    block/item: number
    >

    "opBypass" allows staff/ops/devs bypass the resources cost to test the gem creation/summoning.
    opBypass: <true/false>

    "cost" is how much the gem creation will cost. Set to 0 to disable the cost.
    cost: <number>

    (Also, you don't need to have a cost for gem creation, just give priests and lawyers the ability to get paid for marriage/divorcing.)
     
Thread Status:
Not open for further replies.

Share This Page