StackableItems allows you to change the size of item stacks and lets you stack items that were not stackable before!
Considering that a block in Minecraft represents a cubic meter, it does not really make sense that you can cram up to 64 blocks of stone into just one inventory slot, while one bowl of mushroom soup or a potion takes up to the same amount of space! Or what about snowballs? You can only stack up to 16 of them; even though they are much smaller than a block of snow, which can be stacked four times as much.
This plugin will rid your server of all these limitations!
Not only does this plugin allow you to increase the stack quantity of items, but it also lets you lower them. Which will come in handy for for owners of a survival oriented server, it allows them to increase the difficulty even more by limiting essential items such as food.
By editing the plugin's configuration files you can set a maximum stack amount for all items, each individual item or a combination of both. Alternatively, you can leave all items unchanged and make exceptions for specific items.
All items Max: 80
The example above sets the maximum stack size for all items to 80; with the exception of the water bucket, which will be kept unchanged. By setting the value to -1, it will use the game's original stack size. However, the plugin will not accept values above 127, which has been done to prevent loss of items. Note: this example only applies to versions older than 0.9. New versions of the plugin require a slightly different setup:
StackableItems is a much welcomed fix that lets you turn unstackable items into stackable ones. Additionally the plugin makes it possible to change the maximum stack quantity of all items; a feature that will not only appeal to those bothered by the game's stacking limitations, but also to anyone interested in making the survival gamemode more challenging.
We also had the chance to interview haveric, the author of StackableItems. Continue reading to find out more about the development process behind this plugin!
What was your inspiration for starting this project?
I was browsing the Minecraft forums and came upon a post for Stackable. It hadn’t been updated for a while and was in need of a replacement. I found the idea of Stackable to be an interesting concept and wanted to try and do it justice by creating my own version that expanded upon everything Stackable did.
How was your plugin received by the community at its initial public release?
From what I can remember, the reception was quite positive. I got a lot of support early on with things that I had never worked with before, such as the Inventory API that had just been released, especially from Celtic Minstrel.
Approximately how long did it take to finish the first working version of StackableItems?
This all depends on what you consider ‘working’. I had the basic functionality working within a day, but it was missing a lot of features and was still quite buggy. Even today, I am still hesitant to call the current version ‘working’, but more of a stable work in progress. There are still some annoying bugs that I’d like to fix and an overhaul to the item files that needs to happen before I will consider it complete. There are also some limitations of the client such as stack numbers not going above 64 anywhere except the main inventory. It ends up causing a lot of confusion and can make it seem like the plugin is broken when it is working just fine.
Did you encounter any challenges during development and, if any, how did you handle them?
To start with, I first created StackableItems while I was taking a full course load of classes and working on a senior design project to build an autonomous robot. I didn’t have near enough time to devote to StackableItems, and there were quite a few bugs and inconsistencies that took me quite a while to work out. Most of the other challenges have just been strange bugs that I asked around on the forums to see if anybody had seen them before or knew a workaround. An example of this happened before the sound API was released; I needed a way to play the ‘pop’ sound that happens when you pick up items.
What was your favourite development tool for this project?
I want to say Eclipse, but I use it for everything anyway, so I’m going to say GitHub. GitHub allows me to store everything in one place, while acting as versioning system so I can go back and look at code from any point in time. It also handles the bug tracker and stores downloads for every version. I can commit changes directly from Eclipse, close tickets with commit messages, and so much more.
Have you learned anything new from this project?
Almost everything I have done for this project is something new that I had not done before. My previous plugins were fairly small and focused, whereas this one covers everything related to items.
What stage of StackableItems' development process did you enjoy most?
I definitely enjoyed the early prototyping as I got to see what was possible and just build and play around with the plugin. Later on, it got a lot more into bug fixing and trying to handle corner cases. It’s not done though and new features are usually quite enjoyable as well.
And what is your favourite aspect of the plugin itself?
My favorite aspect is the potential of uses that the plugin can have. I just love being able to stack snowballs much higher than they were intended, while others may use it for disabling TNT or limiting items on a survival server.
Are you working on any other plugins or updates at the moment?
I’m taking a short break from plugins to attempt to finish a GitHub Game Off entry. Next month, I plan on updating all of my older plugins (RailSwitcher, SnowballStacker, WoolDyer, and WoolTrees), and I’d love to get back working on Statues. I’ve let it sit far too long. For StackableItems, I will be changing the file structure to handle worlds and combine all of the seperate files (players, groups, and defaultItems) into one file.
In addition to Minecraft, have you ever released any plugins, mods or maps for other games?
I have not, but perhaps in the future...
Besides your own creations, what are some of your favourite plugins from other developers and why?
Development wise: Vault, WorldGuard, and anything that gives me a nice API to work with. In terms of usage, I’d have to say Dynmap as I get to see where everybody is on a large server as well as look for cool spots to call home without having to travel across the entire map.
Do you have any advice for other potential plugin developers?
Gather ideas from fellow players or the forums until you find something you think you can create in a short amount of time. Work on one plugin at a time, and as you become more comfortable as a plugin developer, work your way up to larger plugins. Also make sure to write effective documentation to help newcomers use your plugin as well as lower the frequency of repeated questions asked by those users.
Thanks to haveric for participating in our interview and for creating this plugin!
Thanks to MadPixel for the Minecrafter font.