CC: Tweaked

CC: Tweaked

57M Downloads

Merge block entity types

SquidDev opened this issue · 2 comments

commented

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).

commented

Looks like people are using the alpha version in anger, so will push this back to a later release.