OP Monsters/Bosses

Discussion in 'Plugin Requests' started by iceblue1188, Sep 1, 2016.

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

    iceblue1188

    Hello!
    So I was looking for sort of a custom boss plugin the other day, and there are a lot of good ones out there. However, non of them fit my need. So, I am requesting this boss plugin that may make survival server owners a lot happier, including myself. Nothing much to it, but it will still improve game experience. I thank anyone who can help me with this.
    I need this with in 1.5 months.
    - Icy

    PLUGIN REQUEST:

    5 Types of Bosses:
    Spider (525 HP)
    Sharpness 4 - Looting 4 Diamond Sword
    Efficiency 4 - Fortune 4 Diamond Pickaxe
    Efficiency 4 - Silktouch 4 Diamond Axe
    Efficiency 4 - Silktouch 4 Diamond Shovel
    Protection 4 - Unbreaking 4 Diamond Helmet
    Protection 4 - Unbreaking 4 Diamond Chestplate
    Protection 4 - Unbreaking 4 Diamond Leggings
    Protection 4 - Unbreaking 4 Diamond Boots

    Pigman (600 HP)
    Sharpness 5 - Looting 5 Diamond Sword
    Efficiency 5 - Fortune 5 Diamond Pickaxe
    Efficiency 5 - Silktouch 5 Diamond Axe
    Efficiency 5 - Silktouch 5 Diamond Shovel
    Protection 5 - Unbreaking 5 Diamond Helmet
    Protection 5 - Unbreaking 5 Diamond Chestplate
    Protection 5 - Unbreaking 5 Diamond Leggings
    Protection 5 - Unbreaking 5 Diamond Boots

    Zombie (725 HP)
    Sharpness 6 - Looting 6 Diamond Sword
    Efficiency 6 - Fortune 6 Diamond Pickaxe
    Efficiency 6 - Silktouch 6 Diamond Axe
    Efficiency 6 - Silktouch 6 Diamond Shovel
    Protection 6 - Unbreaking 6 Diamond Helmet
    Protection 6 - Unbreaking 6 Diamond Chestplate
    Protection 6 - Unbreaking 6 Diamond Leggings
    Protection 6 - Unbreaking 6 Diamond Boots

    Skeleton (850 HP)
    Sharpness 7 - Looting 7 Diamond Sword
    Efficiency 7 - Fortune 7 Diamond Pickaxe
    Efficiency 7 - Silktouch 7 Diamond Axe
    Efficiency 7 - Silktouch 7 Diamond Shovel
    Protection 7 - Unbreaking 7 Diamond Helmet
    Protection 7 - Unbreaking 7 Diamond Chestplate
    Protection 7 - Unbreaking 7 Diamond Leggings
    Protection 7 - Unbreaking 7 Diamond Boots

    Witch (1000 HP)
    Sharpness 8 - Looting 8 Diamond Sword
    Efficiency 8 - Fortune 8 Diamond Pickaxe
    Efficiency 8 - Silktouch 8 Diamond Axe
    Efficiency 8 - Silktouch 8 Diamond Shovel
    Protection 8 - Unbreaking 8 Diamond Helmet
    Protection 8 - Unbreaking 8 Diamond Chestplate
    Protection 8 - Unbreaking 8 Diamond Leggings
    Protection 8 - Unbreaking 8 Diamond Boots

    In the config, you can select cords on where they spawn. There can be multiple cords, and you can set world name but its just world for default.
    The mobs each have strength 1, 2, or 3. (Configurable).
    They each drop different loot, they drop 3 things each time killed. What they drop is listed under them.
    They bosses respawn after 259200 seconds, which is 3 days.
    Above the npc, or boss, it says how much HP they have which will display as: &7<# of hp> HP

    Messages:
    &a&l( ! ) &aYou have defeated the &2&l(Boss) Boss&a!

    If killed, the death message is just Witch, Pigman, Zombie, etc. Whatever the boss is.
     
  2. @iceblue1188 When killed do they respawn? When do they respawn? Any commands to make them spawn or die?
     
  3. Offline

    iceblue1188

    @bwfcwalshy As mentioned in the thread, bosses respawn every 3 days or 259,200 seconds.

    No way to make them respawn or die. Must wait out the respawn time or kill them.
     
  4. @iceblue1188 Was that always there? I might be blind... Well, I am thinking of making a new custom mobs plugin which will allow you to very easily make these and anymore you want. I will also configure it for you so you have these, if you have any suggestions for the plugin please do tell me. I want to make it as user friendly yet powerful as possible.

    Edit: This plugin will probably take a few days to a few weeks, since I am at college I am not sure exactly how much time I will be able to allocate towards this
     
  5. Offline

    iceblue1188

    @bwfcwalshy Yes, it was always there.
    Also, take your time on this plugin! I am just thankful someone is doing it.
    A suggestion is making it as configurable as possible. Like items that are dropped on death, the coordinates you can find the boss at, and the time it takes to respawn. I also said in the thread to give all monsters strength 3, but if the plugin is going to be user friendly maybe you can make strength type configurable.
    Another thing you can make configurable is the amount of item drops on death of the boss and what can possibly be dropped. Obviously allow enchants and maybe names/lores.
    (JUST SUGGESTIONS)
     
  6. Offline

    iceblue1188

  7. Is it possible for you to make them spawn within at a random coordinate within a set area?
    like from x500 to z-500 it could spawn at say x100 z50.

    Also to make sure it doesnt spawn in your spawn area, could you make a blacklisted region?
     
  8. Already planned.

    Question: Should I make a file per mob or have all the mob data in one file. Note that there is a lot of data to hold so having one file could be messy and very long.
     
  9. Offline

    iceblue1188

    Yeah it should be in two different files.

    EDIT:
    Also on what Donald said, maybe have that configurable. I wanted to have bosses only spawn in temples I make.
     
  10. @iceblue1188 Yeah this will be INSANELY configurable don't worry what he suggested is already planned. I think I will so a mob per file.

    File structure:
    Code:
    Custom Mobs
      Mobs
        Witcher.yml (Might change from yaml)
        Boss2.yml
      config.yml
     
  11. Offline

    iceblue1188

  12. Offline

    9UjtOAtcBA

    Now this plugin seems promising!
     
  13. A little update:

    Development has started, I have mobs spawning and I have the file being generated. I have not finished the file yet but it is getting there. I also have done the static spawn mode and will move on to likely random next. The mobs can be any health, have any armour, have any potion effects etc. I have a health indicator configurable and you can also configure the location (Currently only the action bar). I also have made this more easy on the code side if anyone ever wanted to make any addons to this. I have made a MobBuilder and packaged in my ItemStackBuilder if they want to use that.

    I will continue to keep you updated.

    EDIT: Forgot to also say, I check to see if the hit entity is from this plugin and not from another so any other plugins that use custom mobs will not conflict!!
     
    Last edited: Sep 4, 2016
  14. Offline

    9UjtOAtcBA

    @bwfcwalshy

    Pardon me for my ignorance, if this feature is too much to ask for, but I would find it extremely useful if we can, in the mob configuration file (e.g. 'Boss2.yml') define the full NBT for the mob -- for example:

    nbt: '{id:61,Pos:[0:4,1:64,2:0],Equipment:[{{id:0}}],CustomName:"Custom Name"}'

    This should, if possible, be overridden by any specific configurations we've added to the config. For example, if we've set the setting 'Mob Name' to something that is not blank, it should override the {CustomName:"Custom Name"} tag.

    Again, the plugin is excellent as it is, but this would add a lot more functionality to it.
     
  15. @9UjtOAtcBA Why add NBT when all this is already possible in the plugin itself?
     
  16. Offline

    9UjtOAtcBA

    @bwfcwalshy

    If you want to add a separate field/option for all of the hundreds upon hundreds of possible NBT tags, be my guest.

    Not only would it make the configuration extremely lengthy and frustrating to edit, but adding direct NBT will make nested objects much easier to add by you.

    For example, having a fallingsand with the tile ID of 4 riding a spruce boat riding a chicken whose Persistence is not required would be the following in NBT:

    {id:Chicken,PersistenceRequired:0,Passengers:[{id:Boat,type:spruce,Passengers:[{id:FallingSand,TileID:4}]}]}

    If you were to add a separate option for each of these attributes, the config would quickly start to look like this:

    Boss Type: 'Chicken'
    Boss Persistence Required: false
    Boss Passengers:
    -- Boat
    ---- Boat Type: 'spruce'
    ---- Boss Passengers:
    ------ FallingSand
    -------- Tile ID: 4

    I don't know how difficult it would be to make a plugin to decipher the above, but I feel like it wouldn't be too much to ask of the end-user to know the basic format for NBT, especially since it's on MCWiki and has hundreds of online Mob NBT generators.



    TL;DR

    If you want to make the plugin able to detect the hundreds upon hundreds of available tags, as well as make the config compatible with nested entries (for example for Passengers), feel free to do so. I just personally think it's not the most efficient thing to focus on, since there is a readily available, hands-free feature that handles it already.
     
  17. Update #2:

    Progress is still going, I have done a lot of work and I am focusing on saving and loading the mob currently. I have made the RANDOM spawn mode now work and made the locations optional for command mode. I have also made a template mob now which is loaded if this is the first time the plugin is ran. Currently the template mob does spawn but that will be removed for release. I am also working on commenting everything in the template file so that people can know what to put and know if things are optional or required. Mob loading is about 20% done and mob saving is about 95% done. I still need to do a few things but I am adding all the little details I think are needed. I have also started on adding drops to the mob files and making that work. Currently it does not but it will be working by tonight.

    Here is a look at the current template file, keep in mind this is not done.
    PHP:
    # Name of the mob (Required)
    Mob-Name'&cTemplate'
    # Type of mob (Required)
    Mob-TypeZOMBIE
    # Armour the mob wears (Optional)
    Armour:
      
    # Identifier. Can be head, body, legs, feet (Required)
      
    Body:
        
    TypeDiamond_chestplate
        Enchants
    PROTECTION_ENVIRONMENTAL:5THORNS:5
    # What the mob drops (Optional)
    Drops:
      
    # Identifier. Can be anything (Required)
      
    '1':
        
    # Material of item. (Required)
        
    TypeDiamond_chestplate
        
    # Chance of the item dropping from 1-100 (Required)
        
    Chance10
        
    # Enchants of the item (Optional)
        
    EnchantsPROTECTION_FIRE:3
        
    # Name of the item. Make sure to do '' instead of just ' (Optional)
        
    Name'&cBurn ''em'
        
    # Lore of the item. \n will make a new line (Optional)
        
    Lore'&cKill em with fire!'
    # Potion Effects the mob has (Optional)
    Potion-EffectsABSORPTION:1:4000000REGENERATION:5:40000000
    # Spawn of the mob
    Spawn:
      
    # Spawn mode (Required)
      
    ModeRANDOM
      
    # Spawn locations (If mode is COMMAND - Optional)
      
    Locations:
        
    '1':
          
    Worldworld
          X
    0.0
          Y
    0.0
          Z
    0.0
          Yaw
    0.0
          Pitch
    0.0
        
    '2':
          
    Worldworld
          X
    500.0
          Y
    100.0
          Z
    670.0
          Yaw
    0.0
          Pitch
    0.0
    Respawn
    -Delay4d4h
     
  18. Offline

    I Al Istannen

    @bwfcwalshy
    What about storing the mob data on the mob itself via NBT? Or do you do that currently?
     
  19. @I Al Istannen The Bukkit/Spigot changes the NBT with the API methods like setCustomName anyway.
     
  20. Offline

    9UjtOAtcBA

    @bwfcwalshy

    So, uh... The configurable entity NBT is a no-go?

    Damn, I was really looking forward to that feature.
     
  21. @9UjtOAtcBA I'm not going to promise anything but this plugin is far from done and I still need to add more features so I may add it in the future.
     
  22. Offline

    I Al Istannen

    @bwfcwalshy
    I meant custom data for your plugin. Like a mob id or whatever. Just as a marker, so you don't need to handle that yourself.
     
  23. @I Al Istannen Ah, hmm, well currently to handle the mobs I have my mob object with all data and that has a LivingEntity in it which is the spawned mob in the game. So I can handle the mobs through there but I get what you mean and that might be a better way to handle it. I might do some tests later today doing that and I'll see. Thanks for the input
     
  24. Offline

    I Al Istannen

    @bwfcwalshy
    I will wait for feedback. You better test that :p

    Nah, good luck with the plugin, looking forward to how it turns out :)

    For the NBT parsing you could utilize the "net.minecraft.server.v1_8_R3.MojangParser" (look in the EntityData command), if you didn't happen to stumble upon it before. The "parse" method won't change it's name probably, so you should be good to go with some reflection. And it would be a nice way to test my NBTWrappers, will do that later :p
     
  25. Offline

    iceblue1188

    Will they beable to drop more then 1 item and have more then one peice of armor on? @bwfcwalshy
     
Thread Status:
Not open for further replies.

Share This Page