Paintable multiblock casings, bricks and coil blocks are desired
Paintable multiblock casings, bricks and coil blocks are desired. Right now you would have to replace each casing block with a hatch or bus to make them paintable, which isn't that optimal.
Originally posted by @DoctorWeirdGuy in https://github.com/GregTechCE/GregTech/issues/1432#issuecomment-768748301
All GTCE blocks used in multiblock structures should be paintable. This is about extending current painting system to additional blocks.
I looked into this when working on the initial PR regarding the Coke Oven and PBF, and the reason this is currently not implemented is because only GT Tile Entities are paintable. This isn't going to block this issue from being resolved, but it's something I noticed while looking for the original issue.
Normal blocks are not paintable because there is no place to store information about their color inside of them, since they are very tightly packed inside of the single block metadata.
making coil and casings paintable mean they will be tile entities so I have two question :
- is it a good idea on a performance side ? will not this feature lead to more and more lag ?
- If we do so we open a brand new way of fixing issues and adding feature. if I remember well I've already seen some feature request which would require this. It was about better multiblock control I guess ... so should we retake a look at all those features request and see which ones could be done ?
After looking in the code I found two way of achieving this :
- create a new
VariantBlockwhich instead of extendingBlockextendsBlockMachineallowing for clean meta tile entity support and found a way to tie it up with some really simple tile entity (I didn't take a look on how tile entities are linked to block) - create a bunch of new meta tile entities to implement variations, update everywhere those block where used.
the first option has some unclear point as I don't know how block are linked to tile entities and I'm pretty sure this will lead in a lot of bug to fix the second option looks like a lot a work and a lot of compatibility issues for addon devs
to my mind the first option is the best what do you think @LAGIdiot ? do you have any idea or hint on how the link between tile entities and block is made ?