Handing over BuildCraft development

Dear all,

As you might have seen over the past few weeks, BuildCraft development intensity has dramatically decreased, along with my involvement in the community. This is due to a clear diminution of my time, both for personal and professional reasons. Everything is going great on these two ends, nothing to worry about, but I’m no more able to commit to the 15+ hours of work per week on BuildCraft that I have been putting together over the first 9 months of the project.

From the very beginning, this project has been designed to be community driven. This was one of the main reason why it has been Open-Source to start with, and why lot of work has been put together to allow people to sub-mod it. Time has now come to go to the next step, that is actually giving the development responsibility to a community of developers.

Krapht and SirSengir have volunteer to take over and co-lead the project. You probably know them from the amazing work they’ve done on the Logistic Pipes and Forestry mods. They’re probably among those who have the best understanding of the code internals. Please join me in welcoming them at the head of the BuildCraft mod!

The team will probably evolve over time. I will stay around for a long time, passing code expertise around and implementing couple of features. In particular, there is work to do in the SMP area that definitely fall down in my court. I will also continue to administrate the website.

Cheers all,

- SpaceToad

BuildCraft 3.1.3 – bugfixes

So here’s a 3.1.3 release of BuildCraft, for bugfixed, some of which being really annoying:

#166 fix wooden/iron pipes input/output slots
Wooden and iron state state was not computed correctly and forgot upon reload, now fixed.

#172 fix NPE in assembly tables
Fixed a null pointer exception when openning an assembly table.

#173 fix builder stopping before end of work
When connected to a path, the builder was sometimes stopping work too early. Now fixed.

#174 enchantements losts in pipes
Enchantements are not lost anymore when transporting items in pipes.

#175 fix laser spawning
Fixed major performance issue in laser spawning.

#176 gate performances problems with signal and redstone
Fixed major performances issues with pipe gates.

#178 iron engines doesn’t support non-bucket items
Iron engine doesn’t replace all inputs by empty buckets anymore.

#177 fix glowstone in blueprints
Glowtone blocks are now required instead of glowstone dust in blueprints.

BuildCraft 2.2.12 / 3.1.2 for Minecraft 1.1.0

So here we go, support for Minecraft 1.1.0. Thanks to the amazing work of the community, for ModLoader, ModLoaderMP and Minecraft Forge, this is probably the fastest it ever happened! And good news for you guys, there’s a lot of very nice enhancements for 3.1.2. First of all, some major optimization so your BC worlds will run a heck of a lot faster. Even faster than with the 2.2 branch! Included in these optimizations are various rules with pipes containing too many stacks (thanks Player!) which will either group items if possible, or explode if really too crowded.

Other than that, blueprints go one step further into natively supporting third party mods. They should me much more clever at identifying what items are required to build a given block. For advanced blueprint support, dedicated modder work is still required. The interfaces have been greatly enhanced in response to community request to handle even more cases, in particular the ability to use items as opposed to consuming them.

Work has started around the filler. They can now plant seeds, are fully supported in the blueprints, and offer a “loop” action through the gates which will allow them to carry on working when done.

Other than that, various bug fixes and minor enhancements. Note that the 3.1.x API is now frozen – so if you’re modding, you can start to rely on it. I’m now switching gears, and will start to move 3.x out of the alpha program to make it into beta. This means SMP implementation and documentation. Note that 2.2.x is still the mainstream version at the moment.

BuildCraft 2.2.12 changes

#142 fix graphical glitches
Fixed graphical glitches when using several sub-mods adding pipes.

#159 fix dupe bug in SMP machines
Fixed dupe bug in SMP, when a player could delete a machine while the other one keeping the interface open.

#163 create hook to avoid deleting water
Added hook to programatically deactivate water deletion with pumps.

BuildCraft 3.1.2 changes

#100 buckets disapears when used on tanks
Buckets do not disapear anymore when used with tanks

#128 consider using item subname
Blueprint names are now given through “subname”

#131 background slot rendering issue
Fixed background slot rendering issue with advanced interface.

#135 add custom data to passive items
Added API hooks to add data to passive items.

#137 add restart state action
Blueprints now offer an ON/OFF/LOOP action, allowing them to be reset.

#138 fix builder robot laser
Fixed robot laser not being removed on robot deletion.

#141 add protection to blueprints
Blueprints should be much more resistant to exceptions.

#143 add support for vines in blueprints
Vines are now supported in blueprints.

#144 building a steam engine places a wood engine
Builders now correctly placed the appropriate engine.

#145 add an overridable method for engine creation
Modders can now override the method creating the engine behavior

#147 tanks should not store liquid in blueprints
Fixed tanks storing liquid in blueprint.

#148 transport classes connection
Modders can now refine connection between different transport classes.

#149 add support to “use” a tool instead of “consuming” it
It is now possible to specify how to use a tool in a block placed by a blueprint.

#151 support fillers in blueprints
Fillers are now fully supported in blueprint.

#152 optimize code
Major code optimization have been done, in particular in pipes and engines.

#153 consume items if no containers for tanks
When interracting with a tank, an item that has no container will safely be consumed.

#154 don’t use real items in diamond pipe
Diamond pipes don’t use real items anymore, but only store the item kind.

#155 blueprint should suport items translation
Blueprint are now resistant to changes in item ids.

#156 blueprints should store requirements
Requirements for blueprint blocks are now stored in the blueprint, improving modding support.

#158 fix pipe NPE in builders
Fixed potential NPE in builders.

#160 pipe should explode when containing more than X elements
Pipes now explode when containing more than X stacks. Before that, they will try to group items automatically.

#161 fillers should be able to plant seeds (and use items)
Fillers can now plant seeds, and use items in general.

#164 add protection to path markers
Exceptions in path markers when markers are too far away are fixed.

#165 add hook when pipe reaches a side
Modders can now modify the behavior of a pipe when it reaches a side

Forthcoming API Freeze

The 3.1.x version of the BuildCraft API is planning to be frozen really soon. It’s already semi-frozen with 3.1.1, as there is nothing but critical changes that will get in – if any. However, doors are still open for 3.2. If you need anything in the API, now is a good time to speak :-)

Note that there’s already been requests on API for actions, this will go in 3.2. Anything else?

* EDIT * There’s a lot of answers unrelated to the API. Sorry guys, but I need to keep this one clean, so I’m removing these. The forums are open for bug reports and feature ideas.

BuildCraft 3.1.1 – major changes in the Blueprint format

So here we go already, a new BuildCraft released named 3.1.1. Fixes a couple of bugs, but more importantly, the blueprint format has been reviewed. For those who now what that is, save / load is now based on the usual NBT minecraft classes. What this means for you players is that the bpt files that you have been started to work on needs to be regenerated. If you lost the world from where they were generated, you can install BuildCraft 3.1.0 from here, then deploy the structures, install BuildCraft 3.1.1 and finally generate the updated blueprints. Sorry for the incovenience – but it’s really really worth the trouble. Note that my blueprints pack has been updated with this new format, now version 1.1.

The other benefit of this new implementation is that it will be able to support much more mod blocks natively. Advanced blocks still require an additional level of integration, but the way blocks are saved in the world is now used by default to save blocks in blueprints, making things potentially way better. Hopefully, this will be the last format change.

In any case, here’s the complete changelog:

#127 add recipe for path mark
Path marks can now be crafted with a redstone torch and a cactus dye.

#129 added protection for null engines
Null pointer exceptions for engines have been fixed.

#130 errors in API
Fixed error in API dependencies.

#132 fix stripe pipes
Fixed a number of issue with stripe pipes, including the fact that they would drop an extra pipe and that they would not be able to use bonemeal.

#133 wheat doesn’t drop seeds on stripe pipes
Crops now drop seeds and wheat.

#134 move blueprint format to using NBT components
Major change of the blueprint format and interface, see above for more details.

New BuildCraft Server

BTW, gyus, it seems like the server solution I initially selected for BuildCraft official servers is really bad. Even with relatively low traffic, we got hard crashes and I just can’t carry on ressurecting things manually. Therefore, I switched again (yeah, again, deeply sorry about it – it’s the time it takes to find a good solution!). So while the previous servers will stay up for a while, the new address is now:

spacetoad.mossycobble.com

I hope this one will be the good one. For sure, I can’t find any better! BTW, for those who are interrested, you can always get a private server from there…

*EDIT* Server is currently down for maintenance. Will be back up in a short while…

BuildCraft 3.1.0

Dear all,

I’m very pleased to announce the release of BuildCraft 3.1.0 – the first release implementing blueprints and thus completing the initial mission of BuildCraft! Check out the tutorial video:

Needless to say, this is very beta. However, a lot of effort has been put into providing a flexible blueprint format and API – so that part should converge pretty soon. If you would like to enable blueprint capabilities to your mod and what I provide is not enough, let me know!

Anyway, here’s the changelog:

#10 blueprint library
Blueprints and templates can now be stored in a library.

#17 implement an animation for building / removing block
A robot animation has been implemented for blocks adding and removing blocks

#75 create a new “silicon” mod
Silicon-related objects (laser and assembly tables, crafting pipe wire and gates) have been moved to a separate part of the mod, making logic gates clearly optional.

#81 fix liquid returning to refinery
Recipes for refineries can now be specified through an interface, preventing to get anything else.

#86 create a structure pipe
A structure pipe has been added, holding wire and gates, and having the ability to connect wires to any kind of pipe.

#95 fix potential null pointers exceptions in liquid containers
Null pointer exceptions have been fixed in liquid containers.

#96 trigger API interface
An API is now available to develop custom triggers.

#97 stone engine is missing the has-space-for-item-Trigger
Fixed stone engine not having “has-space-for-item” trigger.

#99 implement ability to repeat a pattern with the builder
A new type of marker, path marker, has now the ability to devine a patch on which a builder will repeat a pattern.

#103 add API for refinery recipes
Refineries recipes can now be specified from the BuildCraft API.

#105 create real blueprint
Real blueprints are now available, providing means to record completely a construction.

#106 pipes ignore getInventoryStackLimit
Adding objects from pipes to inventories now takes into account the getInventoryStackLimit property of inventories.

#109 remove hard-coded height limits
Height limits have been removed when placing pipes.

#123 get rid of Utils.getWorld
Utils.getWorld is not used anymore, hopefully simplifying mods such as Zepplin, and eventually allowing SMP nether with BuildCraft.

#124 add a pipe placing an object
A new pipe has been added, placing an object in front of it.

#125 add ability to give other than empty bucket in tanks
Tanks will now return any container when empting an object.

Better Then BuildCraft

Happy new year to you all!

And to celebrate this new year, I’m very happy to announce the release of a new collaborative effort, Better Then BuildCraft, an integration between Better Than Wolves and BuildCraft made by FlowerChild himself! As of today, it’s built on top of the standard BuildCraft 2.2.11. Check out the trailer video:

In short, this integrations provide a comprehensive tech tree between the two mods. Key BuildCraft recipes have been changed to fit the new gameplay. All details are available from FlowerChild Minecraft’s post http://www.minecraftforum.net/topic/910330-10-better-then-buildcraft-v-10-upd-dec-31st/. Enjoy!



New server world

Due to lots of issues on the previous world (griefing, dupe bug exploitation, seed errors) the BuildCraft server had to be re-initialized. You can access it as usual from:

s15972928.onlinehome-server.info

Note that the old world is still accessible. I plan on keeping it live as long as a reasonable amount of people are using it. You can access it from:

s15972928.onlinehome-server.info:25566

BuildCraft 2.2.11

Here comes a minor BuildCraft release, 2.2.11. You shouldn’t have to upgrade except if you are having troubles with server, in particular for migration between your 1.8.1 worlds and your 1.0.0 ones, where a major issue has been fixed. Here’s the changelog:

#25 items can’t be thrown out of obsidian pipes
Items can be thrown out of obsidian pipes again.

#114 bucket “eaten” by stone engine
Stone engine do not remove the bucket anymore.

#116 temporary fix for the refinery
Fuel can’t enter back in the refinery anymore.

#117 can’t import SMP world from 2.2.5
World created with BC before 2.2.6 can now be properly loaded in BuildCraft again

#118 issues with auto-workbench refresh
Fixed a dupe bug (again) in SMP auto-workbench

#119 consider move FillerPattern and FillerRegistry out of the API
Temporary moved FillerPattern and FillerRegistry out of the API since they rely on core. AFAIK, nobody is using these at the moment, but let me know if that causes a problem.

#121 fix potential pipe exception in SMP
Fixed various exceptions in SMP when loading worlds with invalid pipe contents.

The BuildCraft server (s15972928.onlinehome-server.info) is to be updated soon. Enjoy!