[Suggestion] Implementation of MMOItems item types instead of individual items
Summary
I'd like for the possibility to add an entire or multiple different item types from MMOItems into a droptable.
Usage
As an example I have about 60 generic weapon/shield and armor base items that drop from random mobs thanks to the devs at LevelledMobs but MythicMobs allows for client-side drops from bosses thanks to FancyDrops. Unfortunately I'm not prepared to copy and paste the same line 60 times just to add every possible item template to every boss. I should be able to do this instead of manually adding each item to the droptables, like I now can with LevelledMobs.
Value
I believe the implementation would speed up the process of creating custom droptables for a mob thus increasing workflow efficiency allowing MMOItems and MythicMobs users to pump out custom mobs more frequently. I'm a Software Development major myself so I know that if you have multiple lines of the same code doing the same thing especially if it's anywhere close to what I'd have to deal with, then there's probably a better way to do it, Unfortunately MythicMobs doesn't provide the better way that I was hoping for. I think this what alleviate that issue to a degree.
Priority
I don't think it's a super high priority implementation but I do think it's something worth considering as quite a few players use MMOItems due to it's modularity over other custom item plugins.
Implementation
So the implementation should allow for item types as we know, however we should also allow for an amount of random items selected from that type as well as both a way to exclude or include individual items from the base type.
As an example here's the LevelledMobs implementation for their customdrops.yml file
ZOMBIE:
- MMOItems:-:
chance: 1
type: SWORD
min-items: 1
max-items: 5
allowed-list: ['*_SWORD']
excluded-list: ['STEEL_SWORD', 'SILVER_SWORD']
As you can see PenalBuffalo's implementation not only allows you to implement an entire item type, but if there are items in the type you're adding that you don't want dropped you can exclude them from the drop table. As MMOItems uses inline drops I believe it might look something like
items:
- mmoitems{type=SWORD;allowed={*_SWORD};excluded={id=STEEL_SWORD,SILVER_SWORD}} 1-5 1
With their implementation I can also use wildcards to very quickly distinguish certain item template ids from the rest whereby adding something like BOSS_ONLY
to the end of an item id in MMOItems I can add the *_BOSS_ONLY
item ids to an allowed list and it would only allow items like SPECIAL_SWORD_BOSS_ONLY
or `MEDUSAS_HEAD_BOSS_ONLY'
As I mentioned above, the reason I ask for this to be added to MythicMobs is that MM allows for not only client-side drops but also drops based on damage done which is incredibly helpful to the implementation of boss fights where multiple players are required to kill a boss.