BuildCraft|Core

BuildCraft|Core

7M Downloads

I need a way to make my crates compatible with blueprints/the builder, and I think it needs blueprint/builder changes

SoniEx2 opened this issue ยท 11 comments

commented

SoniEx2/StoragePlus#1 and https://github.com/SoniEx2/StoragePlus/blob/master/src/main/java/com/github/soniex2/storageplus/tileentities/TileEntityCrate.java (They're still a WIP but the connection system is pretty much done, and I have no better way of doing it)

commented

Feel free to submit a pull request if needed. From what I see, you need to derive from SchematicTile and implement a schematic with rotateLeft doing rotation for your NBT that get saved through "sideConnected[i] = nbt.getBoolean("connected" + i);".

Feel free to post on http://mod-buildcraft.com/forums/index.php?board=5.0 if you need more help on the current state of things. I've started some doc on http://www.mod-buildcraft.com/wiki/doku.php?id=builder_support, but that needs to be completed

commented

Wait it only reads from NBT when it's done? (and while it's not done it's marked as invalid?)

commented

Could you be a bit more specific?

commented

As in, the tile entity is marked as invalid when it's being built, and it reads from NBT when it's done building?

commented

There is a BluePrintBlockAPI right? Make a function that allow to people to change the placed TileEntity. That should help

commented

It's not marking the tiles as invalid. It build blocks one after the other. First all opaque blocks, then all non-opaque. You can then do a very last adjustment in postProcessing, as we (now) do for portals and tracks.

I have plans to make the order more easy to configure, but that should already be sufficient for most cases.

commented

@Speiger - you have full control over how the tile is being placed - you can completely override writeToWorld and provide your own mechanism.

commented

So I should be able to use postProcessing to make the crates work...?

commented

@SoniEx2: yes, at least on the version that is on github. It will be formally released as part of 6.0.3, but it's already functional. Feel free to post a link to your schematic, I'm happy to review.

commented

Ok... and when does postProcessing get called?

commented

so first, you get writeToWorld, block by block. This is supposed to be enough for most blocks and tiles - I strongly suggest to try that first. Then once they are all in place, in a unique tick, postProcessing is called for all blocks.