Roadmap

Last updated: 14/06/2023

BuildCraft 8 has been in alpha for a while now, so a common question is "Why? What's going on? What's missing? When will it move to stable?". Hopefully this should provide an answer for some of this.

Unfortunatly none of these milestones have a particular date associated with them - they will just happen at some point in the future.

Alpha

The current stage. This is a list of things that need to be completed before we move into beta:

Port to Minecraft 1.19 + Quilt

Now that minecraft 1.19 has been well and truly released it would be a good idea to keep up with it. In addition there's a very interesting new(ish) modloader: Quilt! It's got a lot of useful features for modders, so moving to quilt will be very useful internally - although somewhat less useful for end users. This will also coincide with the release of the first MJ update tests. (Please note that while quilt is not fabric, it is a fork of fabric, and so can run almost all fabric mods - but the exceptions are listed here. Quilt cannot run forge mods, and is incompatible with forge).

The first test releases will contain the core, energy, factory, transport, and silicon modules, and the "carrier" and "fluid carrier" robots. Currently (as of the 14th of June, 2023) I need to figure out a better way to show what progress I've made, without spoiling new content :/

1.18 also requires using OpenGL 3.0 rather than OpenGL 2.1 - which allows dynamic rendering to be much more performant. This has allowed some blocks greatly improved visuals.

This won't be out for any versions before 1.20. Older versions (1.13, 1.14, 1.15, 1.16, 1.17, 1.18, and 1.19) have been skipped. The port from 1.19.4 to 1.20 hasn't started quite yet.

BuildCraft now uses LibBlockAttributes for item and fluid inventory handling, and LibMultiPart for multiparts - so mods that want to be fully compatible with BuildCraft on launch should look into using those two libraries instead of other libraries. Mods using other libraries (such as vanilla minecraft's single inventory interface or fabric's transfer api) won't be quite as compatible with buildcraft - however buildcraft pipes are able to insert into and extract from thoese mods, even if they can't interact with buildcraft inventories and tanks. (The exception is minecraft's hopper - which LBA patches to be able to extract from and insert into LBA "ItemExtractable"s and "ItemInsertable"s).

Misc missing content

A lot of content is either missing or implemented in a buggy way (for example the timer gate expansion still needs to be converted to a pluggable (ideally with a rotating timer piece)) implemented already for BC8. On the other end of the scale the builder is mostly implemented. but still has a lot of bugs to be ironed out. In addition, it doesn't support enough of buildcraft's own blocks. As a lot of content is missing the best place to find the status is to look at the github's issue page, searching by "unported content". If a feature hasn't been ported yet and no issue is in the list, please create one! Just keep them seperate, only one unported feature per issue please.

Guide book functionality

Currently the guide book is useful, but is missing a lot of useful features. This is exteremly important to finish - it can be frustrating to play with a pipe or robot that is doing something odd, and you don't know why. Progress is tracked on this issue. Note: This does not involve written content, only technial/code changes - we are delaying the actual writing of most of the guide book entries until beta.

A side project (which needs to be at least started during alpha, but it can be continued during beta) is to turn the guide book pages into a functional website, so that it can serve as an official wiki. This is the reason why we have the "description" and "detail" tags at the moment for seperating content which should be in game, and content which should only display on the website.

Engine, Power pipes, and MJ rewrite

We moved buildcraft over to MJ at the start of the alpha, but nothing is really that different: currently engines work very similarly to how they used to, and power pipes aren't that interesting. Ideally, you would be able to do more to configure a power network than just place pipes between machines. Before these changes go into the alpha releases we'll put them up on the tests page. When this is actually released this will break pretty much all existing builds, and so is the main reason why we don't want BuildCraft included in modpacks yet (other than general balance and polish).

Build system cleanup (completed January 2019)

Currently compat is a highly-recommended module for buildcraft that is shipped seperately to the main jar file. This is mostly for development reasons - it's a lot simpler to develop the main modules without lots of other mods also running in the same dev environment. However this isn't required for users as compat can run even if none of the mods it adds compatibility for are loaded. This cleanup will mean that compat versions are released at the same time as normal buildcraft releases, so they will have the same version number. The current jar ("buildcraft-7.99.19.jar" containing every module except compat) will be renamed to "buildcraft-7.99.19-main.jar", and a new jar called "buildcraft-7.99.19-all.jar" will become the default "all-in-one" jar file, containg every module (including compat).

This also requires a more useful explanation as to what each and every jar inludes. Ideally web-based? (This shouldn't take long compared to the rest of this page though :p)

Robot rework

This is the largest one of them all - robots are a very complicated feature, and require a lot of code to work properly. In addition, I'm changing them to work a little differently, and provide much more feedback when something doesn't work. This will likely happen last, and when robots are finished we'll move over to beta.

Beta

This is a list of things that need to be completed before we move into stable:

Full localization updates

This is being delayed until beta so that all content (and thus all language keys) will have been finalised, so we don't need to worry about asking translators to re-do work.

Finishing the guide book

We'll need everything (and I mean everything - blocks, triggers, robot behaviour) all need to be fully documented so that everyone can know how to use everything and what it does.