Book Image

Building Minecraft Server Modifications

By : Cody M. Sommer
Book Image

Building Minecraft Server Modifications

By: Cody M. Sommer

Overview of this book

If you have ever played Minecraft on a public server then the chances are that the server was powered by Bukkit. Bukkit plugins allow a server to be modified in more ways than you can imagine. Learning to program your own server mods will allow you to customize the game to your own liking. Building Minecraft Server Modifications is a complete guide that walks you through the creation of Minecraft server mods. From setting up a server, to testing your newly made plugins, this book teaches you everything you need to know. With the help of this book you can start practising for a career in software development or simply create something awesome to play with your friends. This book walks you through installing your own Minecraft server for you and your friends. Once your server is running, it will aid you in modifying the game by programming Bukkit plugins. You will learn how to program simple plugin features such as player commands and permissions. You will also learn more complex features including listening for events, creating a configurable plugin, and utilizing the Bukkit scheduler. All of this will be accomplished while writing your own server mods. You will become familiar with the most important aspects of the Bukkit API. Additional API features will become a breeze to learn after tackling these more complicated tasks.
Table of Contents (17 chapters)
Building Minecraft Server Modifications
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Writing a ConfigurationSerializable class


In our plugin Warper, we will need to save the Bukkit locations. Locations are not serializable themselves. Serialization is the process of translating data or objects into a form that can be written to a file. We will make our own class that holds the Bukkit Location data and is able to convert it to and from a map of strings to objects that are serializable. If you are new to maps, they are a very useful type of collection that we will use throughout this project. Maps have keys and values. Each key points to a specific value. This Warper plugin is a good example of how maps can be used. When teleporting, a player will choose a specific location to warp to by name. If all of the warp locations were in a list, we would have to iterate through the list until the correct one is found. With a map, we would pass the key, which in our case is the name of the warp, to the map, and it would return the value, which is the warp location.

Create a new class...