Fabric API

Fabric API

106M Downloads

Redundant tags for raw storage blocks

TelepathicGrunt opened this issue ยท 0 comments

commented

Copied from: neoforged/NeoForge#919

Please reply on the neo issue on what Fabric community thinks about these tags and if fabric will keep raw blocks Item Tag with better javadocs for them or remove the raw blocks item tags while keeping the raw storage block item tags.

image

image

From the neo issue report:

Minecraft Version: 1.20.6

NeoForge Version: 20.6.24-beta

Description of issue:

Neo currently has two sets of tags for raw ore blocks: storage_blocks/raw_ (with a block form) and raw_blocks/ (only item form, no block). Both just contain the vanilla raw blocks, and neither has any javadocs explaining the distinction, leading to modders being unsure of which one to use.

I think the storage block tag pretty clearly means it can be converted to and from the raw ore item, just like other storage block tags. However, raw blocks is unclear as we lack examples that are not vanilla.

The best answer I could get was that raw blocks are blocks that can drop 1 or more raw ore when mined, however that definition was unsatisfying to me as raw ore blocks do not drop raw ore (they drop themselves) and regular ores drop 1 or more raw ore items (but are not tagged as raw blocks). Plus, raw_blocks/ is exclusively an item tag, talking about block drops with an item tag does not make sense.
I was also told the tags exist because they came from Fabric, however Fabric lacked a mirror to the raw storage block tags suggesting the tags potentially should have just been merged with the forge tag for these vanilla block.
Thus, I propose we take one of the following actions:

Remove the raw_blocks/ tags as they lack any conventions tied to their usage. Since are not in a breaking change window, that would consist of deprecating for removal until the next breaking changes window.
Document exactly what it means to be a raw block, and how that is different from raw storage blocks and ore blocks and potentially make it a block tag as well. Make it clear what guarantees the tag provides and what other tags are required to make the tag meaningful (e.g. do we need to do tag intersection like with ores for sizes?)