(I'm posting about both blocks and items, because they kinda need each other; adding/changing blocks is not of much use if you can't add/change item forms for those blocks.)
Currently minecraft's code defines all items and blocks; but it would be amazing if these got moved to data driven files in data/behavior packs, so that map/add-on creators can add, change and remove any block/item.
For the last ~3 years I've been working on creating viable formats for data driven objects such as crafting, achievements and blocks and items (crafting and achievements actually predate the current files). Block/item files are not the easiest to design, and require a lot of thought to cover everything that only vanilla would need alone, but I seem to have created a format that already covers more than 90% of it.
Currently the files cover loot tables, mining speed, hit/collision boxes, block states, blast resistance, luminance, solid faces, and a bunch of functions to cover a lot of remaining things (such a random ticking, changing block states under certain conditions, effects on entities, etc.)
Link to my github where I store these file formats: https://github.com/FVbico/Data-Driven-Minecraft/tree/master/minecraft/data/minecraft/blocks and https://github.com/FVbico/Data-Driven-Minecraft/tree/master/minecraft/data/minecraft/items
A few things are still missing, and a few others will need to stay hardcoded; for example, the moving block-block should inherit all properties for the block that it contains, this includes non-vanilla blocks; and air, because a block has to exist to fill in empty chunks, if no data packs are enabled.
Note: this is different from https://feedback.minecraft.net/hc/en-us/community/posts/360009966472-Macros-folder-in-data-or-behavior-packs-to-define-new-blocks-items-and-entities as that would not grant the ability to add/change/remove things; only create aliases.
Please sign in to leave a comment.