This plugin makes bookshelves more useful than before, by enabling players to use them as storage.
Bookshelves are of course not completely useless in the original game. They can be used to enhance an enchantment table, as fuel or as decoration. However, it would have made sense if you could use them for storing books as well. Unfortunately this is not possible; the only connection they have with books is that they drop a few of them upon breaking.
BookShelf makes it possible for players to store their books in bookshelves; but without simply turning them into chests.
As mentioned previously, the plugin does not merely turn bookshelves into a chest; they will only accept the following items:
- Signed Book
- Book & Quill
In addition to storage, bookshelves can also be turned into unlimited book dispensers. A handy feature that could be used for handing out the server rules to new players, spreading server news, and so on.
Using the provided configuration you can easily change the plugin to your liking; the following settings are available:
- Number of rows
- Bookshelf title
- Enable/disable allowed items
BookShelf is an excellent plugin that does what it's supposed to do, without seeming out of place. It allows players to store books in bookshelves, the same way as using chests and not needing any commands. The only command provided by the plugin turns a bookshelf into an unlimited book dispenser; which will come in handy for spreading announcements and the like.
We also had the opportunity to hold an interview with Pew446, the creator of BookShelf. Be sure to continue reading to find out more about the development process behind this plugin!
What inspired you to start this project?
I have always wanted to be able to put books in bookshelves, since the very beginning of Minecraft. When Minecraft update 1.3.1 was released and Writable Books were added, I was reminded of how much I wanted bookshelves to be useable. With my basic plugin creation knowledge and the help of the Bukkit community, I was able to make my dream a reality.
How was your plugin received by the community at its first public release?
My plugin was loved from the very start, and was improved from the very start. In fact, the first comment was a list of improvements. I have earned $15 in donations from this plugin, and to be honest, I did not expect to receive anything.
Approximately how much time did it take to complete the first working version of BookShelf?
I cannot say for sure, but it must have taken at least a week. At the time, I was just learning how to make plugins and was having a tough time trying to create a pretty advanced plugin with my pretty basic skills. I jumped on the forums and posted my ideas, and people were eager to help out. I could not have done it without the community.
Did you encounter any problems during development and, if any, how did you handle them?
Oh yes, I hit many problems. The biggest problem was a glitch that deleted everything in the bookshelf had you clicked on it too fast. It took a while to find it, but I managed to track it down and fix the glitch. Another problem arose not too long ago with the 1.4.5 update, as Bukkit changed many things, and completely broke my plugin; in fact, my plugin will now break every update. Just more reason to stay on top of the ball, right?
What was your favourite development tool for this project?
Eclipse is my tool for everything Java. It is very clean and simple, and with egit, it integrates all my code with my git repos so I can work on my plugins on the go. I have always used Eclipse for my Bukkit plugins, and I have never tried any other IDEs for Java, just simply because this one works.
Have you learned anything new from this project?
I have learned a lot from this plugin; mostly that upkeep of a plugin is hard work! It is worth it in the end, though. I have become a much better coder while working on this plugin, and I am eager to learn more.
What stage of BookShelf’s development process did you enjoy most?
My favorite stage of any development process is the release. I love hearing from the community and taking suggestions to improve the plugin. My Idol company is Google, as they really listen to their customers, and in my opinion, release much better products as a result.
And what is your favourite feature of the plugin itself?
My favorite feature is the main feature; storing books. It is extremely useful in Libraries, Book Stores, or Quests. Plus, it is downright awesome.
Are you working on any other plugins or updates at the moment?
I will be updating BookShelf hopefully soon to be able to store Maps in the bookshelves, which could be very useful for quests or hidden treasure. I have two other plugins, BanXP and Spawn Area. BanXP allows you to disable exp dropping, exp bottles, furnace exp, etc. Spawn Area allows you to define a region for players to spawn in when they first join, and they will be spawned in a random location within that region. You can also use the regions as warps.
In addition to Minecraft plugins, have you ever released any custom content for other games?
I have worked on plugins for Blockland before, but never got very far with that. Other than Blockland, I have not created plugins for any other games.
Besides your own creations, what are some of your favourite plugins from other developers and why?
WorldEdit and Towny are two of my favorite plugins. WorldEdit makes building creations much easier and much less time consuming. I use it all the time when I want to build giant redstone computers or create cities. It is also very fun to mess around with. I have managed to crash my server quite a few times by attempting to fill my world with lava. Towny is great because it brings a purpose to cities and towns. It allows players to build their own cities and become the Kings of entire nations, consisting of many different cities. Towny is great for economies and role-playing servers.
Do you have any advice for other potential plugin developers?
You will never get far if you are not up for a challenge. Sometimes the best way to learn is to jump into a big project, get with the community, and slowly work out the features and squash the bugs. You will learn so much more that way, and so much quicker.
Many thanks to Pew446 for creating this plugin!
Thanks to MadPixel for the Minecrafter font.