Minecraft Spotlight - iRestore

Welcome to the Monday Minecraft Spotlight! In this issue we will cover iRestore (previously known as PvP Restore), a plugin by triarry that alters the PvP mechanics.

When a player dies in Minecraft, the contents of their inventory drops onto the ground, lying there unprotected and up for grabs. Considering the game is about survival, this is not a huge problem. But when it comes to friendly PvP, this can be quite an inconvenience; which is the reason behind the creation of this plugin.

Once you have this plugin on your server, players can participate in PvP without having to worry about losing their items. If they happen to loose a battle and die, their items get saved and returned to their inventory upon respawning. As usual, the death of a player will also be announced across the server, but if it was caused by PvP this will be done by the plugin instead.

In addition to items, players dying as a result of PvP will get their XP back as well. The plugin also comes with support for Vault, which makes it possible to have players loose money upon death, as an addition or alternative to loosing items and experience.

Simply follow these steps and your players will be enjoying this plugin in no time!

  1. Download the latest version of PvP Restore from here or here.
  2. Place the "PvPRestore.jar" file in the "plugins" folder, located in your server's main directory.
  3. Start or reload your server.
  4. Check if the "PvP Restore" folder has been added to the "plugins" folder successfully.
  5. Open the "config.yml" file found in the folder mentioned above to configure the plugin.
  6. Reload your server to load your new configuration.
  7. Enjoy your newly installed plugin!

With the provided configuration file you can toggle death messages, inventory saving and xp saving. The restoration process can be enabled for many other events too, including TNT, fire, starvation and more

We also had the opportunity to interview triarry, creator of iRestore. Read on to learn more about the development process behind the plugin!

How did you get into Minecraft?
I first got into Minecraft back in 2011, when a good friend hyped me up enough about the game to buy it. Needless to say, I was instantly hooked. Shortly after, I bought product keys for a few of my other friends, and we all started enjoying Minecraft endless hours a day.

What server do you play on, and would you like to tell us more about it?
I actually run my own server, called WPNU, which is an acronym for the names of the four founders. Our website is over at www.wpnuserver.com (still a WIP, I have been really busy with school since I started the website)! The server opened to the public on March 15th, 2011, and we still continue to run a bustling community to this day. I do most of my initial plugin testing on my server before releasing it to the public. The server itself is heavily focused on expanded survival gameplay. While we feature many gamechanging plugins such as mcMMO, MyWarp, DiabloDrops, and more, we focus on ensuring that the player's Minecraft experience is genuine, and allow no spawning or creative mode in world (with the exception of the spawn and a few arenas). The IP address is: mc.wpnuserver.com

What made you decide to become a plugin developer?
I'm a computer science major at Drexel University in Philadelphia, PA, so I decided that this was a great way to learn how to code in Java. While I've taken a few classes on Java as well, a lot of my Java knowledge comes from working with the Bukkit community and on my plugins. 

What was your motivation for this specific project?
iRestore was actually named PvP Restore up until a few days ago. The reason I created PvP Restore in the first place was to create an environment where players could fight each other without having to worry about losing their items. A lot of people on my server complained when their stuff was lost due to griefers PvPing them, so this plugin allows players to stake each other if they so choose, but aren't required to. This creates a more friendly PvP atmosphere. However, the reason I changed my plugin from PvP Restore to iRestore in the first place was because the plugin has evolved into a more expanded version of the /gamerule keepInventory. I use iRestore to prevent my players from losing their items when falling in the void, or by suffocating, or by fire, because these events are usually either due to glitches or PvP events.

How did the community respond to the plugin’s first public release?
Overall, feedback has been pretty hard to come by, except on WPNU. The plugin has 1800 downloads as of writing, and it had ~1,000 on the first month of release. When the plugin was called PvP Restore, it felt almost wrong to keep adding events that weren't PvP related, so development stalled as I got busy with school. Now, however, with the name change and focus change, I plan to expand my plugin to fit the needs of all servers who would like an expanded keepInventory feature, to prevent bugs from taking their players' inventories and other events. Most of the feedback I *do* get, however, is positive. Server owners and players alike see the importance of protecting their players' inventories, and typically enjoy having my plugin on their server.

Roughly how long did it take to finish the first working version of iRestore?
The first working version of iRestore didn't take all that long to make. I spent about a week coding up the initial iterations to make the plugin work solely for PvP. After I released that, I started working on adding auto-updating features, metrics, and other goodies to learn how to make a Bukkit plugin that is feature complete. I've since done a complete recode of the project, which will be released in iRestore 1.5, coming by the end of this weekend, hopefully.

Have you encountered any challenges during development and, if any, how did you handle them?
Most of my challenges were being unfamiliar with the Eclipse IDE. I once spent a good 3 or 4 hours trying to test my plugin, only to find out that it was never compiling in the first place, due to a missing jar reference. The coding challenges themselves have been fairly easy to tackle, for the most part.

What was your favourite development tool for this project?
I solely used Eclipse to work on my project. I have thought about getting a Jenkins to make it easier for people to get access to my plugin during the development stages, but I don't currently own my website (yet) so I'll just wait until that happens.

And what is your favourite aspect of the plugin itself?
My favorite aspect of the plugin is it's PvP functionality, since this is what the plugin was written for in the first place. I plan on hooking the plugin into mcMMO, MobArena, and other plugins to further the PvP related functionality.

Are you currently working on any other plugins or updates?
I'm currently working on a fairly large update for iRestore that will (ideally) cover all possible events that could kill the player. This will certainly take a few subversions to iron out, but I'm excited to release this to the public regardless. The most difficult part of the process is making sure all documentation stays up to date, and helping people change their permissions.

In addition to your Minecraft plugins, have you ever released any custom content for other games?
Not yet.

Aside from your own projects, what are some of your favourite plugins from other authors and why?
My favorite plugin is definitely MyPet by XxKeylexX, for a number of reasons. His plugin is highly compatible with other plugins (look at that dependency list)! His plugin is also very customizable, allowing me to cater the plugin to the needs for my server. He is also extremely responsive when you ask for help or post issues on his GitHub, making him an all-around awesome Bukkit community developer.

Having reached the end of the interview, we would like to thank triarry for taking the time to answer our questions and of course for developing the plugin in the first place!

iRestore is a very nice addition to servers that do not focus on PvP, but do not disallow it either. The plugin allows players to fight each other without having to worry about loosing their items and experience.

Thanks to MadPixel for the Minecrafter font.


Posts Quoted:
Clear All Quotes