Merge block entity types
SquidDev opened this issue · 2 comments
Several blocks in CC:T have normal and advanced variants (computers, turtles, modems, monitors). We currently create a separate block entity type for each block variant (for instance, monitor_normal
and monitor_advanced
).
This made sense way back in 1.13, as block entities didn't know anything about their owning block, and so could not infer whether they were advanced or not. However, in recent versions of the game, block entities always have a block state associated with them, and so can read any properties from the owning block.
We should merge the separate block entity types into a single type (e.g. monitor
instead of monitor_normal
and monitor_advanced
). This means we no longer need to pass the BE type to the specific blocks (as there will be a single one), which in turn means we no longer need to store the type in the block property codec — much nicer!
This will of course be a world-breaking change, so we'll need to write datafixers and do this at a major version (1.21).