The issue is that the structure requires air blocks. Every part of the block that is in the structure is aware, except because I don't control air blocks I can't have air blocks notify the center when they are replaced.
I'd consider this but there would be an issue when a block, that's not a direct neighbor, is updated.
For example if we have two blocks that have 3 blocks of air in-between no method will be called on the two blocks if we place a block in the middle air block.
I'm trying to figure out how to make a muliblock with gaps. What I'm trying to do is have the base block in the center and then have a gap then a ring of blocks around it. (Similar to nuclearcraft's fusion reactor). For the sake of this post I'm going to say the muliblock pattern is as follows:
XAAAB
Where
X is the base block
A is air
B is an outside block
A second condition I want to have is that there must be air between the center and outside block. Normally I would validate the multiblock when a block is updated and whenever a block is destroyed but if a block is placed in the area that is supposed to be air how would I detect that. Some methods I've thought of so far is
- detect normally and once the block is valid check every x ticks to make sure the interior is still air. This would probably cause lag
- detect block events and if a block is formed there then destroy the multiblock. The drawback on this would be I'd have to listen to every block events and check if it's contained inside a multiblock and if a mod doesn't trigger a block events when forming or destroying a block then my structure won't update.
Would y'all have any ideas on this?