CC-Tweaked icon indicating copy to clipboard operation
CC-Tweaked copied to clipboard

Merge block entity types

Open SquidDev opened this issue 2 months ago • 0 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).

SquidDev avatar Jun 15 '24 08:06 SquidDev