
Welcome to the first Minecraft Spotlight of this week! In today's issue we will be covering "CreeperHeal," a plugin created by nitnelave and tested voluntarily by drumming102 and AlexanderMorrison.
CreeperHeal restores damage caused by explosions and also offers many features to help protect your server against griefers.

This is certainly not the only plugin that tries to make Creepers' and other explosions less destructive. What makes this one stand out is that it does not completely remove these destructive effects. Rather than making explosions harmless, this plugin changes how the world reacts to them. Explosions will still cause damage to the environment, so at first glance it looks like nothing has changed. After waiting a minute, however, the world will start to recover slowly; one block at a time. The animated image below shows an accelerated representation of this process.
Explosions will still be harmful to players, just as before; so there is no reason for them not be afraid of Creepers anymore. In addition to Creepers, other causes of damage are supported as well; such as TNT, Ghasts, Dragons, fire and Endermen.

Aside from world rebuilding, the plugin also offers various anti-griefing features that will come in handy if you want to prevent certain activities, such as players damaging your world. These restrictions include warning players upon placing TNT and lava, participating in PVP and using spawn eggs or flint and steel. Instead of warning players it also possible to completely block them from performing these actions.
Furthermore, there are a number of commands at your disposal to help rebuilding the world. Two of these commands instantly restore damage across all worlds or just one world if specified, another one rebuilds the area around one specific player. The rest of the commands let you customize various features from within the game.

As usual, the plugin also comes with a few configuration files for more advanced customization. These options include:
- Chest protection
- Command aliasing
- Teleport players upon getting buried during the rebuilding process
- Prevent sand and gravel blocks from falling
- ...and more!
CreeperHeal is an excellent choice for anyone bothered by the destruction caused by explosions and fire. Not only does it restore the world, but it also allows you to prevent players from placing and using damaging blocks and items.
We also had the chance to interview nitnelave, the developer behind CreeperHeal. Be sure to continue reading to learn more about the plugin's development process!

What was your motivation for starting this project?
Well, first of all, I was in a period where I wanted to do many plugins, but did not always have a great idea to begin with. I had already made a fork to update an old plugin, and created a small one, but I didn't have any big projects yet. And then while talking on the forums, I thought of repairing a creeper explosion, but a while after. And shortly after that, I had the "trademark" idea of CreeperHeal : block-per-block replacement.
How was your plugin received by the community at its initial public release?
Most people liked it, some thought it was a great idea, but at first it was quite bugged, so I think most people tried it but did not have the patience to wait for a fix (or I wasn't fast enough, maybe?). It still happens now and then that I have a serious bug in a recently released version, and I think some people just prefer to play it safe.
Approximately how much time did it take to finish the first working version of CreeperHeal?
I didn't have much java experience at the time, but the first version was very minimalistic. I would say it was done in a week, but it was just the first step of a path I'm still following...
Did you come across any problems during development and, if any, how did you solve them?
Most of the bugs reported had quite obscure reasons, that had almost nothing to do with the symptoms. Learning a lot about java and spamming debugging messages in my code allowed me to find the bugs almost every time.
What was your favourite development tool for this project?
I discovered Eclipse, and it really facilitated the coding process, with some automatic compile and export, and integrated features like github, or code completion.
Have you learned anything new from this project?
Oh, I have! It was my first big coding project, so I learned a lot about organizing the code (still re-organizing it every so often ^^). And I also discovered that there was more to making a plugin than just the code, but also talking to the users, and creating documentation to facilitate the use.
What stage of CreeperHeal’s development process did you enjoy most?
The beginning of a plugin is always the most dynamic, where the code evolves the most. But I like implementing every new feature, or even perfecting existing ones.
And what is your favourite feature of the plugin itself?
I have to say, apart from the configuration options, this plugin pretty much has only one main feature : replacing explosions. I plan to update CreeperTrap to make it work in an acceptable way, but it all depends on a pull request that hasn't been accepted for months despite updating : https://github.com/Bukkit/CraftBukkit/pull/917
Are you working on any other plugins or updates at the moment?
I still have some bugs to fix, and CreeperTrap to update if the PR is accepted, but my other coding projects have nothing to do with the community.
In addition to CreeperHeal, have you ever released any other plugins?
DispenserRefill allows you to automatically refill chests and dispensers, although I don't really update it anymore. GiftSend was itself a fork, and has since been re-forked to LinGift; it allows you to send items from one player to another.
Besides your own creations, what are some of your favourite plugins from other developers and why?
I don't really play much anymore, so I'm not at all up-to-date on the plugins, but one I'm still using for its numerous useful tools is AdminCmd.
Do you have any advice for other potential plugin developers?
It's a great idea! Go for it! Just check it hasn't been done yet... And start small. Better a functional plugin with one small feature than a huge project abandoned. You can add more features as you update it.
Thanks to nitnelave for participating in our interview and for creating this plugin.
Thanks to drumming102 and AlexanderMorrison for testing the plugin.
Thanks to MadPixel for the Minecrafter font.


Comments