Welcome to the weekly Minecraft Spotlight! In this issue we will feature "DwarfForge", a plugin originally created by mattmoss. After mattmoss was no longer able to continue the project anymore, DonRedhorse took over the project and keeps it up to date still.
The main feature of this plugin is the ability to use lava as an infinite power source for furnaces. As a result, players will not have to use fuel anymore for crafting items!
Besides allowing players to power a furnace using lava, this plugin also makes it possible to stack furnaces to create a "DwarfForge". Creating one of these is pretty easy:
- Place one block of lava in the ground
- Stack up to three furnaces on top of the lava
- Place a chest on each side of the stack - both small and large chests are allowed
Using a DwarfForge is quite different from using a regular furnace. Rather than placing the raw materials in the furnace by using the crafting menu, the two chests next to the forge have to be used. The crafting process goes as follows:
- Place the raw materials that you want to cook/smelt/burn in the left chest
- Punch each furnace to toggle it on
- The crafting process will now start automatically
- All finished items will be placed in the right chest
When using a regular furnace, it is only possible to prepare one type of item at the same time. Using a DwarForge players can put all kinds of items they want to craft in the input chest. These items will then get prepared automatically, one type at a time, without the need to interfere.
Because players will be able to stack multiple furnaces to create a large forge, the crafting process will be sped up as well. All of the three furnaces will craft items simultaneously, speeding up the process by three times.
By using the provided configuration file, server owners can increase the amount of stacked furnaces, both in vertical and horizontal directions. This will speed up the process even more! For those who want to convert chests full of items this will really come in handy.
If you think using lava as infinite fuel feels too much like cheating, you can enable fuel requirements. When this option is enabled, players have to put the fuel in the input chest, along with the raw materials. In addition to regular types of fuel it is even possible to use crafted items, such as chests, trap doors and fences as fuel!
DwarForge offers a great expansion of the existing crafting system. Not only does it allow players to use lava as an infinite fuel source, but it also enables them to create a DwarfForge. Which makes it possible for them to craft multiple items at once, saving a lot of time!
Lastly, we also managed to hold an interview with DonRedhorse, the current project manager of DwarForge. Read it below to learn more about the development process behind this plugin!
What motivated you to start this project?
I really liked the plugin, and when Mattmoss was looking for somebody to take it over I looked at the code and said to myself... you can do it.
How was your plugin received by the community at its initial release?
Don't know, people really liked that I took it over though and it is running on around 440 servers https://mcstats.org/plugin/DwarfForge
Approximately how long did it take to finish the first usable version of DwarfForge?
Up to now keeping it updated was easy, there was a bump in the road when bukkit changed some api but otherwise it was fine. Considering that the plugin is using minecraft server code directly at one point that is really remarkable.
Did you come across any problems during development and, if any, how did you solve them?
There is an exploit possible if you use running lava, unfortunatly it is either that or the forges not working correctly. The reason is bukkit reporting sometimes lava and sometimes running lava as damage reason (and that triggers the forges). Mattmoss had some really cool idea there.
What was your favourite development tool for this project?
Intellij Idea, it allows really easy refactoring and code review
Have you learned anything new from creating this plugin?
Hmm, let me think, without looking at the code again IIRC it was a better insight into minecraft server code and tasks.
What stage of DwarfForge's development process did you enjoy most?
Having feedback from the people using it... a lot of the time they found a bug... sigh... but sometimes also by just saying "cool", or those people going the extra mile and even suggesting code enhancements.
And what is your favourite feature of the plugin itself?
Besides automatic smelting, mcstats!!! Really, without the stats and knowing that around 440 servers use this plugin I wouldn't put really any effort in it anymore.
Are you working on any other plugins or updates at the moment?
Yes, there are quite a bunch https://github.com/dredhorse most of them are taken over from others some are my own. Atm development is on a backburner for bukkit, I'm waiting for a release of workbench (the mojang api) and Spout. I'm working strongly atm at porting my plugins over to Spout and created a development team, which is mainly there to help each other.
In addition to Minecraft, have you ever released any plugins, mods or maps for other games?
Only for Spout
Besides your own creations, what are some of your favourite plugins from other developers and why?
DynMap... because it is cool to see the world you are in, Metrics... because it is cool to know that your plugin is being appreicated, Traincarts... because I like minecarts
Do you have any advice for other potential plugin developers?
Learn java, learn reading code, look into plugins and try to figure out if you see good code, take over a plugin which is up for grabs and keep it alive, think about a NEW idea, write your own plugin, be helpful to other and ask questions. Most of the time you get an answer.
Thanks mattmoss for creating the original plugin!
Thanks to DonRedhorse for keeping the plugin alive and for participating in our interview!
Thanks to MadPixel for the Minecrafter font.