Lifestones introduces a new way of teleportation that is similar to the system available in many MMORPGs.
The aim of this plugin is to offer a flexible alternative to the game's original spawnpoint system. The idea is that server admins place "Lifestones" across the world, which will then act as spawn points for players. Players can attune to any of these Lifestones, so that they will always have a spawnpoint nearby wherever they go.
Connecting to one of these Lifestones is a breeze. Players only have to press any of the four buttons, stand still for five seconds and they're ready to go! After picking a Lifestone and attuning to it, players will respawn there whenever they die.
In addition to respawning players, various other features are available that can be used by executing commands. For instance, players can always teleport to their last Lifestone by using the recall command. Due to the delay of ten seconds they should only use this command in a safe location; as the teleportation process will be cancelled immediately upon movement.
Other commands show them a list of all available Lifestones, let them teleport to any of them and also tell them how to find the nearest ones.
Lifestones is an excellent alternative to the game's original player spawnpoint. If enough Lifestones are placed throughout the world, players can always find one nearby, anywhere they go. This way, they will never respawn that far from the location where they died. And when they move to a different area, they can easily change their spawnpoint to the nearest Lifestone.
Last but not least, we also had the opportunity to interview Cyprias, the creator of "Lifestones". Be sure to continue reading to learn more about the plugin's development process!
What inspired you to start this project?
I used to play another game which had similar devices throughout the world. A player would link themselves to a lifestone in a town or hunting ground so that if they died they would return to that location in the world.
How was your plugin received by the community at its initial public release?
I haven't gotten any feedback actually. There's been no bug reports or suggestions. I'm actually surprised a week after being submitted to Bukkit dev, mcstats reports it's already on 50 servers. One guy translated the plugin into Portuguese so that was helpful, I'm hoping more translators submit translations for the project (link on the bukkit dev page).
Approximately how long did it take to finish the first usable version of Lifestones?
Maybe 2 hours to write and confirm the basics were working. It's a really simple plugin.
Did you encounter any problems during development and, if any, how did you solve them?
I generally use MySQL as my database in plugins as I like to tie things into web pages. Lifestones was my first attempt using SQLite by default. When I added MySQL to a later version, I got it working and submitted it to bukkit dev, but failed to make sure SQLite was still working when MySQL was disabled. Apparently my MySQL class was connecting to a DB on startup using info in the config, on a fresh install it was blank login info, so that caused errors. That bug affected 0.0.2 to 0.4.0 likely slowing adoption of the plugin the first 2 days. I've been more careful testing the plugin on fresh installs before submitting them now.
What was your favourite development tool for this project?
I mainly use Eclipse, it's quite helpful finding syntax mistakes and suggesting solutions. I also use PHPMyAdmin to manage a DB then copying the insert/select/update queries to the plugin.
Have you learned anything new from this project?
Yes, learning to be more database agnostic.
What stage of Lifestones’ development process did you enjoy most?
The final stage when I get to play with it. :)
And what is your favourite feature of the plugin itself?
Being able to designate multiple locations throughout the world as potential spawn points, then allowing players to build their own towns and landmarks surrounding the spawn points.
Are you working on any other plugins or updates at the moment?
I maintain several projects. I have 10 Minecraft plugins on bukkit dev, my most recent being InvisibilityViewer, it allows players with a specific permission the ability to see invisible (potion) entities either by command or by distance to that entity. I had issues with players on my server spying and harassing other players while invisible, this solved that issue. I assist 2 other projects including the popular SignEdit plugin.
In addition to Minecraft plugins, have you ever released any custom content for other games?
I've written 9 World of Warcraft addons on Curse with over half a million downloads.
Besides your own creations, what are some of your favourite plugins from other developers and why?
Multiverse, being able to have additional custom worlds can greatly improve gameplay for any server. NoLagg for its monitor and examine features, it can point out misbehaving plugins causing degraded tick rate on your server. Orebfuscator for hiding valuable resources in the ground, helps keep a proactive stance against cheaters.
Do you have any advice for other potential plugin developers?
Think of a unique idea you're passionate about, break it down into components that need to be written (config, db, commands, events, ect), find other plugins that have similar components and copy what they've done. Then put it all together. Become familiar with GitHub, fork projects, fix and add features, submit pull requests and hope other authors include your work with their project.
Thanks to Cyprias for participating in our interview and for creating this plugin.
Thanks to MadPixel for the Minecrafter font.