Corruption
Corruption
Current Version: v2.4
Description
This plugin was originally made by bm01. We have received his permission to distribute this updated version.
This plugin occasionally turns some monsters into a stronger version, boss-like. Its main purpose is to add a little diversity and randomness to the game. It can be used as a difficulty enhancer, or even as a reward system for your players, depending on your configuration. Technically every monster spawning naturally in your world has a chance to become a boss, which hits harder, has more hit points, possess some immunities and drops better. Of course all of this is configurable. Moreover, they can notify you of their presence by sending you a message when you hit them, when they hit you, or after a certain amount of time when you're close enough. They can also have a flaming effect around them (the one used by mob spawners).
Features
- Custom bosses - You can customise the health, damage, experience, drops and much more. You can make your bosses as tough and rewarding as you want.
- Supports any minecraft entity - A list of entity types that are confirmed to be working can be found here.
- Customisable equipment - Create your own epic equipment sets with enchantments and, if you feel like it, add a bit of randomness to it.
- Customisable abilities - With 8 cool abilities (and more on the way), make fighting your bosses even more of a challenge.
- Name your boss - Give your bosses epic names to leave an everlasting impression on their foes.
- Viewer - Give people the ability to view the health of any boss nearby if it receives damage (requires the cor.viewer permission).
- Per world configuration - Choose which bosses spawn in what world, use world specific drops and more.
- Custom Spawners - Create spawners that will spawn whatever Corrupted monster you have created with highly customisable settings without having to touch the config files.
- Leaderboard - Want to see how well you've fared at slaying hordes of Corrupted? Use /cor stats to see the top 10 players with their kill count. Want to see what bosses your nemesis killed most? Use /cor stats <playername> to find out.
- Permissions support - Corruption supports nearly all permissions systems. Are you using a permissions system that we don't support? No worries, we also support Vault.
- mcMMO support - Get yourself some extra mcMMO experience for hitting a boss.
- Heroes support - Combine an RPG style server with an added bit of challenge provided by Corruption.
- Automatic updater - Never wonder if there is a new version of Corruption, use the automatic updater to check for updates and update when necessary. Don't want to update just yet? No problem, it won't unless someone with the cor.update permission uses /cor update install.
- Automatic configuration updater - Worry about updating to a new version because you don't want to dig through your configs and change everything to make it work with the new version? Worry no longer, our configuration updater will automatically update your configuration files to the latest version.
Configuration files
Updating from old versions
See this page for the guide explaining how to update from old versions of Likeaboss(1.5) or Likeaboss-mcdr(2.0) to the latest version of Corruption.
Commands and permissions
<argument> is required, [argument] is optional and '|' seperates multiple options
- (cor.*) - All the Corruption permissions.
- (cor.help) - /cor help - Display ingame help
- (cor.info) - /cor info - Display some global and non-lasting stats.
- (cor.reload) - /cor reload - Reload configuration files.
- (cor.clear) - /cor clear - Clear informations given by /cor info.
- (cor.viewer) - /cor viewer - Toggle viewer state, which allows to see boss healths.
- (cor.ignore.*) - All the ignore permissions.
- (cor.ignore) - /cor ignore - Toggle ignore state, which allows to not be affected by bosses.
- (cor.ignore.immediate) - Allow to bypass /cor ignore delay.
- (cor.list) - /cor list - Display the location of active bosses.
- (cor.stats) - /cor stats [player] - Display the leaderboard, or player stats.
- (cor.spawn) - /cor spawn <type> [amount] [x] [y] [z] [world]- Spawn one or multiple bosses on the targeted block or given coordinates.
- (cor.spawn) - /cor spawn <type> <amount> <player>- Spawn one or multiple bosses on the player's targeted block.
- (cor.spawn.region.*) - All the Spawn region permissions.
- (cor.spawn.region.list) - /cor region <l|list> [world]- List all the spawners (in a given world)
- (cor.spawn.region.info) - /cor region <i|info> [id|name]- Gives detailed information about nearby spawners or a spawner matching the id or name given.
- (cor.spawn.region.toggle) - /cor region <enable|disable> [id|name]- Enable or disable a spawner in the area you're standing or with the given id or name.
- (cor.spawn.region.manage) - /cor region <a|add> <name> [options]- Add a new spawner. To see all available options use /cor region <a|add>
- (cor.spawn.region.manage) - /cor region <r|rem|remove> [id|name]- Remove the nearby spawner or a spawner matching the id or name given.
- (cor.spawn.region.edit) - /cor region <e|edit> <id|name> <ab|addboss> <bossName> <spawnChance>- Add a Corrupted to the spawner matching the id or name given.
- (cor.spawn.region.edit) - /cor region <e|edit> <id|name> <rb|removeboss> <bossName>- Remove a Boss matching <bossName> from the spawner
- (cor.spawn.region.edit) - /cor region <e|edit> <id|name> <eb|editboss> <bossName> [chance:<spawnChance>] [name:<bossName>]- Edit the boss from a spawner with the id or name given.
- (cor.spawn.region.edit) - /cor region <e|edit> <id|name> <property> <value>- Change the <property> of the spawner with matching name or id to <value>. For a list of adjustable properties use /cor region <e|edit> <name|id> help.
- (cor.update) - /cor update <c|check|install|i>- Check for updates or install one if available.
- (cor.version) - /cor <v|ver|version> - Display the version of Corruption currently installed
Upcoming Changes
Ready:
In progress:
Planned:
- Add more abilities and activation conditions.
- Improving the API to add events and whatnot.
- Boss mounts
Recent Changes
Read the full list of changes
v2.4:
Added Features
- Made it possible to create regions where certain bosses will spawn with a (configurable) maximum number of bosses per spawner region.
- Improved drop system to support enchantments and naming. New items for use in drops/equipment will have to be defined in items.yml first. Existing drops/equipment will be taken care of by the config updater.
- Added Summon ability
Under the hood
- Changed from bukget to official Servermods API (Unfortunately, this means Corruption can no longer check if a new update was downloaded successfully, if/when the official API makes this possible, it will be reimplemented)
- Updated MCStats to revision 7 (Decreases network usage)
v2.3.3:
This build requires at least Bukkit 1.6.1
Fixes
- Fixed a bug where mobs with a health multiplier would increase in health every time they were reloaded. Again.
Added Features
- The spawn command now supports coordinates or a username and can now also be used from console and command blocks.
Source and API
The source can be found here.
The API:
Statistics
Corruption utilizes Hidendra's plugin metrics system, mcstats, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
And also some Corruption specific data:
- The amount of different Bosses per EntityType alive
- The amount of Bosses killed since the last time statistics were sent
This data is sent about once every 15 minutes.
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
I've updated my repo on github (after a lot of trouble using EGit under Eclipse). It seems that there isn't a lot of modification after all, I'll let you decide if something is interesting or not :)
By the way I remembered I had some issues with the async tasks, you may want to check if there is any possible concurrency or memory leak. Edit : Oh well, never mind, they all run on the main thread apparently. My memory fails me.
@bm01
I am interested in your work on the configs so far. I have never cleaned up the mess in the config classes :P, so I hope I can use your work. Thanks in advance!
Hey there. I'm just passing by. I just remembered that the last time I worked on this mod I was trying to clean up the mess in the config classes (because it was really needed), among other things. But I hadn't uploaded the result on github because I hadn't finished. However if you're interested I could PM you the last state of my work, it probably doesn't compile / build but maybe there's a few ideas you can pick.
@Vanhout85
Have you also added the boss to the list in the world you want it to spawn in?
If not, go open the Worlds\<worldname>.yml file and add your bos to the list.
This page contains some more detailed information about the world config files.
Hello
I am trying to get it working. /lab spawn zombie 1 does work fine.
But they dont seem to spawn naturally? I the case of the zombies i want them to be 50/50 normal/boss i tried some stuff from the questions before me, like adding a 3 digit at "spawn"
What am i doing wrong?
Zombie: EntityType: Zombie Spawn: 50.0 1.0 128 Stats: 5.5 2.0 8.0 Ability: EquipmentSet: "diamond" Loot: FirstRoll: FirstItem: 367:0 70.0 8 32
@Erackron
Yeah, I know. Same goes for the per boss immunities.
@Pyriphlegethon
Minor changes like that will probably be made when the auto-updater is finished, saves users a lot of hassle. :)
@Erackron
I didn't know that :(
Well, I am thinking of splitting those three variables up like this:
It makes things clearer, but it should be done automatically by the plugin, since it is a lot of work to do it manually.
@Pyriphlegethon
Thanks. Work
@Pyriphlegethon
Actually, the third number in the spawn node is not required, but optional and if not present, Likeaboss defaults to 256 (max spawn height)
@wkera
Could you try and spawn your zombie boss using /lab spawn? If that works, it should also spawn naturally.
@wkera
You need to add a third number to the spawn node, which is the max spawn height. Set this to 256 to make all zombies bosses
@wkera
Check if the spawn node in your bosses.yml is correct.
Help. Bosses not spawn automatically
@Pyriphlegethon
Thanks again!
@Darkhand81
Oh that's just like this:
Ability:
[four spaces]- ability1
[four spaces]- ability2
@Pyriphlegethon
Woops, don't know how I missed that. :)
Also, what's the format for setting multiple abilities on a boss in bosses.yml? Don't see abilities listed on the bosses.yml help page. Single space between them, comma, new line, etc?
@Darkhand81
You need to change the messages in config.yml. There are also some messages located in abilities.yml.
@Erackron
Is there any way to remove the 'Corrupted' prefix from boss names? For example my super-rare PigZombie boss 'Lord Oinkon' shows up as 'Corrupted Lord Oinkon' :)
@Erackron
Slick solution! Thanks.