This page provides a summary of all of my major projects to date which have been programmed in Java.
Minecraft / CraftBukkit Plugins
I am currently the lead developer of the Robbit mod pack for Minecraft. Full details can be found at the Asterion Minecraft website.
Prior to working on Robbit I developed several CraftBukkit plugins, which are outlined below.
PlotHelper is a custom Minecraft plugin which generates an endless world filled with 100×100 creative-mode plots. Players are able to use /plot commands in order to claim ownership and building rights of up to three plots in that world. They can also use the plugin to grant helper status to other players, allowing friends to work on a creative project together. PlotHelper integrates with the WorldGuard regions plugin in order to provide plots with protection against griefing.
By default, Minecraft has a single chat channel. As a result, one of the main problems that faces a large public Minecraft server is chat spam, with everyone on the server trying to talk to each other in the same conversation. The UltraChat plugin was written to solve that problem. It implements a chat channel system where players can create their own chat rooms on the server. They can then talk in those chat channels. The plugin also stores the preferences of each player, allowing per-user customisation of the chat layout.
The donation tracker plugin is designed to integrate with PayPal. It allows users to donate money to the server in exchange for credits. The credits can then be used to buy rare items such as pig spawners. The donation tracker is also responsible for nagging users who have not recently donated, reminding them that they should donate if possible.
The Asterion Minecraft utility plugin adds a few minor features to the game. Firstly, it allows the generation of an infinitely flat world with a floor made out of bedrock. This feature is used as part of the Asterion spawn area. Secondly, it implements a location called Noobsville, where players are required to punch a sign when they first log on to the game in order to start playing. The Noobsville system was created in order to prevent bots from being able to join the server.
Other Notable Work
In addition to the Minecraft plugins listed above, I have also programmed a Java chat client and server as part of the Network and Concurrent Programming module at university.