Minecraft Plugin Spotlight & Interview - DragonTravel

Welcome to this week's Minecraft Plugin Spotlight & Interview! In this issue we are featuring "DragonTravel", a server plugin created by Phiwa and XemsDoom.

There are quite a few plugins available for Minecraft that let players travel. However, most of them accomplish this by using teleportation. As the name says this is no ordinary travel plugin, it actually allows players to travel by mounting dragons! The system is similar to travelling in World of Warcraft, meaning everything happens in real-time.

When this plugin is installed players will be able to travel to destinations designated by the server administrator. Of course they can also set destination themselves if they are in posession of the necessary permissions.

Destinations are marked with a glowstone, if you want you can also place a special sign that shows the destination's name to make it even easier to find. Besides regular destinations players can also set a home destination, allowing them to return home easily. In addition to locations players can also travel to each other, which is a useful feature when you can't find someone!

Starting a flight can be done in various ways; firstly this can be done by executing a command combined with a destination's name, player's name or set of coordinates. Secondly it is possible to travel by using signs placed at a station, these signs show the name of the locations and any possible costs, activating one of them will start the travel process immediately. Lastly a simple GUI can be used to start your journey, just fill in the destination and hit the "Fly to Destination" button! But remember that the GUI is only available when using both Spout and Spoutcraft.

Your dragon will always take the shortest route, meaning it will go from destination to destination in a straight line. Although it is also possible for administrators to create their own routes, by setting as many waypoints as they like.

In short, this plugin offers a versatile alternative to the regular warp system. This is not just a more fun way of travelling; it is more "realistic" as well. Rather than teleporting instantly travelling with DragonTravel happens in real-time, allowing you to enjoy the view below while in-flight.

Last but not least we managed to get an interview with both of the creators of DragonTravel! Check it out below to learn more about the plugin and the creation process behind it.

What was your inspiration for creating this plugin?
Phiwa: I saw a plugin request asking for a way to travel which is similar to the travels in World of Warcraft. The user asked for someone to write a plugin which allows players to summon and mount a dragon and fly with them to a given location. I really liked the idea because we are all familiar with the traditional warp system in Minecraft, but I felt there needed to be a more interesting, more realistic, more EPIC way to travel in Minecraft.

Approximately how much time went into developing DragonTravel so far?
XemsDoom: The project itself exists since November 2011. Phiwa started it by himself and after some weeks, I joined the project. Currently, we are running respectively developing DragonTravel for 6 months, which is a lot of time of course. I would say we spent about 120 hours on the project so far.

Did you come across any challenges while working on your plugin?
Phiwa: In the beginning our problem was that we both were quite new to Java and moved the dragon using the vector between the target-location and the dragon's position to move it, but this led to the dragon sliding without moving its wings and it was that fast that you thought it was teleporting. We then got a private message by V10lator who had just developed his plugin "RideThaDragon" and told us his project was running under GPL v3, so we turned DragonTravel into an open-source project and used his methods. After a while we were more experienced in Java and we were able to completely rewrite the movement-methods, so the current version does not contain any parts of V10lator's code anymore, but only our own.

What tools have you used to create your plugin and what purpose did each serve?
XemsDoom:  We are both using Eclipse as our Java IDE, there isn't any good reason why we are not using another Editor but it just came so, that we both started develop in Java with Eclipse. Dropbox also was a big help, we could easily share code, concept and ideas to each other. At the end, I set up Github for the project but we are still working on understanding it, as we encountered some problems when working simultaneously. BukkitDev was also a really nice platform for providing our mod to the server administrators out there; we could easily track bugs/problems while having also a lot of management possibilities too.

Have you learned anything new from creating this plugin?
Phiwa: When we used V10lator's methods in the beginning, we didn't really know what we were doing, but he helped us and it worked. After a while we finally understood how reflection works and for me this was the biggest thing I learned while developing DragonTravel.

What part of the development process of DragonTravel did you enjoy most?
The learning of how actually Java works. Me and Phiwa started messing around with Java on September of 2011, we pretty much evolved with this project into more advanced developers and we are kindly proud of it.

And what is your favourite part of the plugin itself?
Phiwa: I personally really enjoy creating and using flights. Flights were added in the release version 1.0, the first version outside the beta-phase. They give admins the possibility to create flights with several waypoints the dragon follows when starting the flight. Flights can be used to show new players your server or to simply enjoy the best places of your server while relaxing in front of your computer. ;) Another quite new feature I like it the possibility to travel to a random destination because when I still ran a server, I didn't really like that new players simply built around the spawn-area. With DragonTravel you can now simply place a sign in front of the spawn-location and let them travel to a random destination within a defined around to start building there.

Are you working on any other plugins or updates at the moment?
Phiwa: I got another Bukkit-plugin called "Mortar" running which I plan to update within the next weeks to add some more functions. "Mortar" was my first real Java-project and really brings mortars to Minecraft. I know it sounds a bit strange to bring explosive weapons into a more or less "harmless" game, but at that time it was the only idea I had. :P It was my first project, and I still support it and will keep it up.

Besides Minecraft, have you ever created any plugins or maps for other games?
Phiwa: I played and still play the source-engine game "Day of Defeat: Source" and created some maps for it, mostly for my little funclan because my members always asked for new maps to play, so I created some smaller ones and a bigger one which was never released to the public.

XemsDoom: Actually, I 'm now a lead developer of a game called "Magnite", it is a shooter written in Java and it is something like Minecraft but with more shooter elements in it, we are still developing it currently respectively creating the concepts.

Do you have any advice for other potential plugin authors?
XemsDoom: It is really important to write good documentation about a plugin, if a developer lacks activities on that, people will always worry about stuff not functioning right and that can drive you up to the wall. Don't give up with code doesn't work as you like, that is just normal, nobody will create awesome code from the beginning on, just take yourself some time and evolve with Java, it is not a big thing to learn. We can recommend to watch the tutorials from thenewboston on youtube about Java, he explains things really good and we both have learned from him very much.

Many thanks to Phiwa and XemsDoom for creating this plugin and for participating in our interview!


Posts Quoted:
Clear All Quotes