This is a fully functional plugin with api tools(for developers) to give you options for fully customizable and epic boss mobs!
These bosses are fully functional, phase-based, crazy intense creatures that you have full functionality over.
The aspects you can configure are the following...
- Mob Type - What it looks like!
- Name - What its called!
- Health - How hearty your boss is!
- Damage dealt - How hard it can hit!
- Move Speed - How fast it can move!
- Exp reward - How much exp will drop on death!
- LootTable - Fully configurable drop system!
- Mounts - Your boss can ride other bosses! (Will spawn when the parent boss(this boss) is spawned)
- Particles - Configure particles around your boss!
- Equipment - Can take custom made items, or simple item ids
- Abilities - Define phase-based abilities for when a boss hits an enemy, gets hit, or changes phases!
Phase Based Bosses
Bosses are broken down into five phases, based on the different sections of health broken down by 20% sections...
- <100% - Phase 1
- <80% - Phase 2
- <60% - Phase 3
- <40% - Phase 4
- <20% - Phase 5
Your boss can have as many abilities under each phase as you want. Allowing them to get stronger after a phase change, give them completely new abilities, or even just raise the chance to trigger their abilities, the choice is yours, and you have the power to make it happen!
Abilities are also fully configurable, and are action based. Meaning they can do as much, or as little as you need. Each ability has an internal cooldown from 0.0 to 100000.0 seconds. Hopefully your boss doesn't last that long....
Current actions available for abilities are...
- Heal - heal target for an amount
- Ignite - set target on fire for damage per second for duration
- Knockback - throw target away from the boss with configured horizontal and vertical strength
- LaunchFireball - Shoots fireball at target with speed and damage
- LaunchSnowball - Shoots a snowball with no gravity at target with speed and damage
- Lightning - Strike lightning on target for damage
- PotionEffect - Gives a desired potion effect to the target(normal potion args)
- Speak - Makes the boss speak to the target(can print to console)
- Summon - Summons another x number of boss by name
- Teleport - Teleports boss to location(make sure the location is within spawner range, could cause strange results)
- TrueDamage - Deal true damage(ignores armor) to target
- Wait - Pauses the ability for a delay in seconds(takes double, e.g. 0.25 seconds) in the rest of the actions
Each of these actions take in a target type of one of the following...
- Self - The boss itself
- Target - Target of the boss
- AoePlayers - All players in radius
- AoeCreatures - All creatures in radius
Loot tables give you full power over your drops for your boss. You can decide a list of possible drops with a percent chance up to 100, the remainder results in no drop(you evil server owner). But you can also segment your loot table to have a number of possible drops each with their own drop table.... Meaning you can have loot tables in loot tables!! =D
Example Table Setup
PitBoss10: #Percent chance for each item to drop, can take a double #This will roll to select one of these items, with a 40% of dropping nothing pitboss10bow: 10 pitboss10sword: 10 pitboss10helm: 10 pitboss10swordII: 10 pitboss10gem: 20 PitBoss10V2: #This layout will select an item(or air), to drop from each section Item1: #30% chance to be one of these items, 70% chance to drop nothing pitboss10bow: 10 pitboss10sword: 10 pitboss10swordII: 10 Item2: #IN ADDITION, has a 50% to drop a gem as well pitboss10gem: 50
- /boss list - shows you a list of all boss ids
- /boss spawn <name> - spawns boss by name at your location
- /boss spawner <name> <delay> <distance> - creates a spawner for a boss with name, and respawn <delay>, with max <distance> to travel from the spawner
- bossapi.admin - gives access to all boss commands via /boss
Simply use BossApi.getPlugin(), to get the instance.
The only method in the api at the moment is... isBoss(Entity), which will return a true/false
This plugin was made specifically for a server that I develop on. It is fully functional, crazy configurable(Thanks to requests from Faceguy), and I'm excited to bring it to bukkit/spigot community tonight!