Guard Dogs

Discussion in 'Plugin Requests' started by AlwaysAllstar, Apr 17, 2020.

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

    AlwaysAllstar

    Plugin category: PvP

    Minecraft version: 1.14.4

    Suggested name: GuardDogs

    What I want:
    Essentially it's a plugin that adds another aspect of PvP. I have found only one plugin similar to this, but it is not updated and doesn't have what I need. Here's what I'm looking for:

    Players should be able to run commands to spawn, rename, or recolor their dog's collar.

    *Note: Throughout this I have dog1/dog2. This is because each of these commands can be run for either dog1 or dog2. If a player has the permission to spawn in dog1 (GuardDogs.dog1) then they will be able to do all things described for only dog1. If a player has permission to spawn in both dog1 and dog2 (GuardDogs.dog1 & GuardDogs.dog2) then they will be able to do everything described for both dogs. Of course if a player only has permission for dog2 (GuardDogs.dog2) then they will only be able to do things for dog2, however I'm going to have players either have dog1 or both dog1 and dog2.

    Spawning:
    A player with sufficient permissions can do '/dog spawn dog1/dog2' . This will spawn the dog at the player.

    If a player has permission to spawn in both dog1 & dog2, they can do so at the same time.

    From there, the dog will attack anyone the player takes damage from or deals damage to. Dogs should not attack when a hit to/from the owner is attempted. This is for WorldGuard or other plugins where PvP may be disabled in some regions or for a certain group of players. The dog should not attack unless damage is actually dealt or taken.

    Once the dog is killed, it should be able to be spawned in again after X amount of time. Dog health and dog respawn time should be able to be defined in a config.

    If a player has a dog spawned and wants to despawn it without killing it, they can do '/dog despawn dog1/dog2'. The player then can spawn it in again using the spawn command without waiting for the cooldown like they would have to if the dog died.

    When a dog despawns, it should keep whatever health it has when it spawns back in. So if it is about to die when it is despawned, it should spawn back in about to die. The only time a dog is healed is if the player has waited to cooldown after the dog was killed.

    If possible, could you display the dog's health above it's head/under it's name if it has one. For example it would have "50 &4♡" above it's head (if 50 was the dog's current health) (&4is to make the heart red). If this is not possible, please let me know and I can think of something else in order to see dog's health.

    Rename:
    When a player has never renamed a dog, it should have no name displayed if spawned in.

    Once they rename their dog(s) with the command '/dog name dog1/dog1 <name>', the dogs should spawn in with their name displayed above them, just like a nametag.

    Players should be able to name their dog with spaces. So if a player does '/dog name dog1/dog2 Dog One' It should come out as 'Dog One'.

    Should a player decide they no longer want a name, they can do '/dog name dog1/dog2 none' and it will remove the name of the dog.

    Players cannot name their dog anymore than X amount of characters (defined in the config). Players also cannot use any color or formatting with their dogs name. There is no cooldown for renaming a dog.

    Recoloring Collar:
    Player's cannot recolor their dogs collar like in vanilla minecraft. Meaning if a player has dye and right clicks their dog with it, nothing should happen.

    Instead, a player can run the command '/dog color dog1/dog2 <dye>' All dyes from vanilla minecraft should be allowed (red, blue, cyan, magenta. etc.)

    Spaces should also be allowed in this. For example, if a player wanted to do their dog's collar light gray they would do 'dog color dog1/dog2 light gray'.

    The dog should keep this color until changed through the same command. There is no cooldown for changing a dog's collar.

    Config:
    There should be a config where I can change all of the following:
    • Time it takes dog to be able to respawn after being killed
    • Dog health
    • Max number of characters in dog name
    Messages:
    There should be a messages file where I can change all of the following:
    *All messages should support color codes (&e, &c, etc.) as well as being able to go to the next line (\n)
    • Help message when doing "/dog help".
    • Message shown when a player doesn't have permission to run a command
    • Message shown when a dog cannot spawn in yet (Should include time left) Example: "&cYou must wait HH:mm:ss to spawn your dog!"
    • Message shown when you successfully spawn in a dog
    • Message shown when you successfully despawn a dog
    • Message shown when you successfully rename your dog
    • Message shown when you successfully recolor your dog's collar
    • Error message when dog's name is too long (more than max number of characters as defined in config)
    • Error message when a player gives a color that doesn't exist (Should say something like "&cThat color doesn't exist! Here are your options: red, blue, cyan, magenta..." and continues to list all possible colors.
    • Error message for anything else (Something like "&cIncorrect usage! Type /dog help" for help!")
    These can all be pretty simple. They don't need placeholders or anything like that. They can be generic and make sense despite which dog they spawned in, which color they gave their dog, what they renamed their dog, etc. For example: "&aYou successfully spawned in your dog!" for both dog1 and dog2. Or "&aYou successfully renamed your dog!" for both dog1 and dog2.

    Ideas for commands:
    /dog help
    /dog spawn dog1/dog2
    /dog rename dog1/dog2 <name>
    /dog color dog1/dog2 <color>

    Ideas for permissions:
    GuardDogs.help - Gives player access to '/dog help'
    GuardDogs.dog1 - Gives player access to spawn/despawn, rename, and recolor command for dog1
    GuardDogs.dog2 - Gives player access to spawn/despawn, rename, and recolor command for dog2

    When I'd like it by:
    I apologize if I missed anything, I will be checking replies frequently in case you're interested but have some questions.

    I understand this is a pretty lengthy and complex plugin, so feel free to take your time. :)
     
  2. Offline

    AlwaysAllstar

  3. Offline

    AlwaysAllstar

  4. Offline

    AlwaysAllstar

  5. Offline

    AlwaysAllstar

Thread Status:
Not open for further replies.

Share This Page