Author Topic: Brick with Multiple Datablocks?  (Read 1936 times)

Yes it yes possible, take a look at the chest.
the question was more "can i do something to make one brick have multiple datablocks to be painted differently" and not "can i switch the brick's datablock somehow"

Although I know nothing about modding, scripting, that sort of thing, I'm surprised it isn't considered possible by so many people. What with all the things people thought impossible before, I thought someone was bound to think of some creative way of getting around limits and making it possible.

Although I know nothing about modding, scripting, that sort of thing, I'm surprised it isn't considered possible by so many people. What with all the things people thought impossible before, I thought someone was bound to think of some creative way of getting around limits and making it possible.
for most things that are 'impossible' there's normally a hacky/inefficient but somewhat working way to 'almost do it'.

Although I know nothing about modding, scripting, that sort of thing, I'm surprised it isn't considered possible by so many people. What with all the things people thought impossible before, I thought someone was bound to think of some creative way of getting around limits and making it possible.
Entirely possible, even with just 3 datablocks. It'll just take up 6 brick objects.

Entirely possible, even with just 3 datablocks. It'll just take up 6 brick objects.
Really? How would it be scripted? I'm not a scripter, but maybe there is a way to parent the datablocks under a main datablock.

Really? How would it be scripted? I'm not a scripter, but maybe there is a way to parent the datablocks under a main datablock.
You wouldn't do anything like that, what you would do is make each separate piece its own brick. Then, have the onplant of one of those bricks go ahead and place the other bricks when you plant it. That only takes care of placing the bricks, you'd have to make methods that specially handle other events such as undoing or hammering.

You wouldn't do anything like that, what you would do is make each separate piece its own brick. Then, have the onplant of one of those bricks go ahead and place the other bricks when you plant it. That only takes care of placing the bricks, you'd have to make methods that specially handle other events such as undoing or hammering.
Pretty much this.

It would be possible.

I think we can assign names to each face of a .blb, i'm not 100% sure though.

You wouldn't do anything like that, what you would do is make each separate piece its own brick. Then, have the onplant of one of those bricks go ahead and place the other bricks when you plant it. That only takes care of placing the bricks, you'd have to make methods that specially handle other events such as undoing or hammering.
Thanks Nitramtj. It seems rather complicated, but at least I know it's possible.

The problem is also getting someone willing enough to do it if you can't yourself. 

I was actually working on bricks composed of other bricks a month or so ago, although I was thinking more of set pieces such as furniture or walls. Unfortunately I got busy and stopped working on them. So maybe in a few months if you haven't done anything, I will.

Go ahead, I don't know how to script that. I already released terrain brick set pieces, and I was hoping to not only have unique brick faces, but also to combine brick datablocks so that users could plant bricks on ramps (i.e. with a zone brick) while also have planting restrictions (i.e. with a normal brick). I'll wait on that for now though.

Go ahead, I don't know how to script that. I already released terrain brick set pieces, and I was hoping to not only have unique brick faces, but also to combine brick datablocks so that users could plant bricks on ramps (i.e. with a zone brick) while also have planting restrictions (i.e. with a normal brick). I'll wait on that for now though.
You don't need to use anything to do with zones at all to allow people to plant bricks on ramps. You just need to make the .blb properly.