Nope, this is not the post in which I take an opinion on one of the messiest, most polarizing and arguably at least partially pointless fights between a hashtag and its critics. Today, we're going to be taking a look at what has been done for BuildCraft, what is being worked on and what is left to be done.
BuildCraft has long been somewhere in limbo: while most of its features up to 1.6.4 had been replicated and often improved upon by other mods, it itself has not really been removed from packs, so nobody really complained. However, in 1.6.4 and 1.7.x, things started changing:
- Many more BuildCraft functionality has been replicated by other mods, such as quarries (Extra Utilities, Quarry Minus), pumps (Extra Utilities - partially), automatic crafting (a dozen mods), item/liquid/power transport (Ender IO, Thermal Expansion 3, Mekanism, Tubes!, Project: Red).
- The Redstone Flux API, being much simpler and a lot less restrictive than the Minecraft Joules API, started gaining traction very quickly, with most small mods (and eventually, most big mods, including Forestry and RailCraft) adopting it.
- More, easier ways of doing things (such as transporting items) have appeared, which made BuildCraft seem unwieldy and hard to use in comparison.
The mod felt stagnant and it did not seem like it's going to add new features to itself, causing a lot of players to simply drop it.
However, things did change. In early 1.7.2, SpaceToad returned from the land of eternal peace to contribute to BuildCraft once more and save the mod! He did a lot of fantastic things: rewrote builders (and restored them to working, which hadn't been the case since 1.2.5), added sided gates and fixed many bugs. Oh, and let's not forget the robots. The robots are cool.
But not everything was great:
- The damage had been done. The few mods still supporting MJ started slowly deprecating the functionality, and efforts to fork them to use RF instead (RForestry) appeared.
- The damage had been done again. Most users last used BuildCraft in 1.2.5-1.4.7, meaning they missed out on dozens of stability, performance and gameplay tweaks, as well as on all the new features.
- The damage had been done thrice, as one of the mods which most people installed BuildCraft for (Logistics Pipes) decided to go standalone.
- There was a major split in the developer team between SpaceToad and the rest of the team, that is CovertJaguar and Player - it was related to some of the rewrites the latter group had been doing, which SpaceToad disliked and replaced with his own systems. That meant the developer team's size went from three to one. That's not good for a big project.
So, where do I appear? Sometime around late August I had been developing a private Minecraft server for a Polish website. As we started playing on it, a group of players which we shall call the "Starchasers" found a major issue with RailCraft engines: wooden kinesis pipes only sent through half the received power! Since I am not fond of bothering modders about everything, I start digging into the code as we talk on TeamSpeak. I also notified CovertJaguar about it, which indirectly influenced RailCraft and Forestry's move to RF.
Wait. I just caused the last two major BuildCraft addons to move away from it. That can't be good. At the same time, looking through the BC code, I notice that the MJ API's internals are rather similar to the RF API, and swapping the external interfaces is less work than I had thought. We get to work and a day or two later, we had a working version of BuildCraft "6.0.18-RF". It did not work perfectly, though, mainly because it was a messy pile of hacks. After sitting down and seeing that an RF BuildCraft is an achievable reality, I decided to start anew and work on a clean rewrite.
RedBuildCraft was announced in early September after discussions with at least a dozen IRC users and my Twitter followers. Immediately, someone posted it on Reddit. As if making the last major MJ-exclusive mod go RF couldn't cause a lot of pointless drama.Surprisingly, though, the reception was quite positive, bar a few people who decided I only did it for the attention.I was not sure how the BC developer, SpaceToad, would receive it, though. He mentioned my work on Twitter, I contacted him on IRC and we decided to work on the "long overdue" migration.
And that's where things slowly get worse.
The migration was done and SpaceToad, along with a few other GitHub contributors, fixed most of the edge cases and bugs in it. Then, SpaceToad disappeared. Remember how I said the BC devteam only has one member left? That's when the count went to zero. Obviously, it is the best outcome for a project in dire need of tons of serious work. In October, I realize that the leave of absence is going to take a bit longer (and as far as I know it's going to take at least into early 2015), which caused me to contact SpaceToad via e-mail, set some goals... and the rest is history as I became the lead maintainer of BuildCraft. I released my first version, 6.1.2, on my wiki, and eventually I received enough rights to the website to publish official releases.
So, what has happened since 6.1.2, my first release?
- New features! Stained glass pipes, a gate copier, new pipe types, insertion pipes, Charging Tables for RF items, dynamic energy usage for quarries depending on block hardness and many other minor additions.
- BuildCraft stabilized a lot more. Thanks to digging through Twitter, IRC and heavy bugtesting (done in a huge part by the Starchasers), I fixed about a hundred bugs since BuildCraft 6.1.1, causing the mod to actually work most of the time! Amazing!
- Minor optimizations across the whole mod: chutes, tanks, lasers and some other things all got optimizations to cause less lag on the server.
- API improvements: an indepedent trigger/action API, APIs for tiles, engine/heat APIs, refactored schematic API.
- Many amazing translations from contributors all across the world.
- One of the things which matter most to me - I managed to become the middleman between two conflicted sides (SpaceToad and the rest of the team), being able to work with and consult both in case I need help. That is great, because the members of the team are all experienced modders and know a lot about designing in-game mechanics, which is one of my weaknesses (I'm not a good game designer).
Finally, the part all of you have been waiting for: what's coming next?
- An official mod guide, created by me and Vaygrim, hopefully after the next major BuildCraft release.
- More cross-mod compatibility, I contacted AE2 with some ideas and contributed to Botania. Framez has also added BC gate compatibility, which is a nice touch.
- New, exciting features! I can't tell you what, though; look at the screenshot closely...
I can't forget about the bonus part: why am I doing this?
- I have always loved BuildCraft's philosophy, starting from the pipe system, consisting of modules doing different, simple tasks and gates which let you react to the environment around you. It offers possibilities beyond what most other mods provide in a way that lets you engineer and tinker with it and not hide the complex work from the user; through the machines, which might be more laggy than its competitors (primarily the quarry), but feel very rewarding to use (come on, who doesn't like a mechanical arm digging through blocks?)
- I'm one of those people who try to change things around them. In 1.7.2, I ported about a dozen mods, which, among other things, is the reason for which we still have Chisel (later I gave it to Pokefenn, who gave it to someone else) and ExtraBiomesXL (the original devteam gave up about halfway through).
BuildCraft's not dead.