MythicMobs

The ultimate mob plugin for Minecraft! Create custom mobs and bosses with advanced skills, attributes, equipment, and more!

Hello server admins!

Today I'd like to introduce a new feature that will be in the 2.1 release: immunity tables. You're probably wondering right away what that even means, and it might sound a little complicated, but this feature is anything but complicated! In fact, it only has 2 options and does not have any kind of API, so this will be a relatively short post.

The Problem!

So before I go over what Immunity Tables are I'd like to present a problem I'm 200% certain the very savvy mob creators out there have noticed: when you damage a mob in Minecraft, it is immune to damage that is equal to or less than the last hit taken for the next 10 ticks. This is represented by the mob turning red and being immune to most damage for half a second.

These are called the NoDamageTicks. They exist to prevent mobs from being obliterated by spammy players, poisons, lava, fire, etc and funny things happen when you take them away completely.

The problem with NoDamageTicks is that, if you have a massive raid boss with 20k health and 10 players hitting it, in reality it is taking the same damage it would if 1 player were hitting it - the mob can only take damage once every half second, which one player can easily do, so 1 vs 10 vs 100 players doesn't really even make a difference unless you have tons of extra mobs in the fight for other players to spread out and kill.

Some server admins don't think about it, but it can be a huge problem when designing one big bad-ass boss - until now.

So what are Immunity Tables?

Immunity Tables are a new feature for MythicMobs 2.1 that fix the problem outlined above. Enabling ImmunityTables makes the mob track each player's damage and assigns NoDamageTicks individually, so that the mob can only take damage every half second PER PLAYER instead of TOTAL. This means that 1 vs 10 players is a huge difference.

2.1 also includes its own NoDamageTicks option, so you can set how long the mob is immune. ImmunityTables take this value into account.

How do you turn it on?

Enabling ImmunityTables on your mob is easy. Here is an example:

Code:
BigHealthBoss:
  Type: pig_zombie
  Display: '&6Hungry Hungry Pig Zombie'
  Health: 20000
  Modules:
    ImmunityTable: true
    ThreatTable: true
  Options:
    NoDamageTicks: 10
That's it!

And you might notice I included ThreatTables in that example also. ThreatTables have also been moved to be under the "Modules" block, and any new special chunky features MythicMobs adds in the future will go under there. The old method under Options will continue working for ThreatTables though.

Conclusion

Hopefully you find this new feature useful. It solves what I see as a pretty big issue with large raid bosses in Minecraft.

Please let me know what you think! Thanks everyone!
In the next day or two I will be posting a public snapshot build of 2.1.0 This build will contain a few (not all) of the features coming in 2.1.0 and contains a lot of under-the-hood changes, so I'd like to get it out there so the community can test it extensively. I am hoping 2.1.0 will be the most bug-free build yet, so there's a lot of testing to do!

The snapshot will be linked in this thread when it is ready.

Update:

Snapshot is now posted here: http://dev.bukkit.org/bukkit-plugins/mythicmobs/files/51-mythic-mobs-v2-1-0-beta/
Hello everyone,

I have decided to consolidate the discussions and the bug reports/suggestions to my own website as managing everything on multiple sites (BukkitDev, Spigot, PMC, etc) has gotten pretty tedious. Hopefully this can be a good discussion area for people who love MM! It will also make it easier for me to communicate changes and ideas, and to provide support.