Refactor ItemStack to Support Vanilla-Like Data Components (#1059)

* improve tag v1

* improve tag v2

* fix typo and make BlockPredicate better

* improve get state from state id

* impl DataComponent

* make tag pub

* make component work

* apply clippy

* apply clippy

* remove unused crate

* apply to itemstack and no lifetime mark anymore

* Update tag.rs

* use Cow

* remove unnecessary lazy_static and Cow

* Update mod.rs

* Update mod.rs

* make DataComponent dyn

* remove unused crate

* fix error

* Update Cargo.toml

* Update Cargo.lock

* fix

* Update composter.rs

* update rust-version, remove unused crate, and merge

* Update furnace.rs
This commit is contained in:
spr-equinox
2025-07-28 18:24:40 +08:00
committed by GitHub
parent eaf5959f2b
commit 8ce65cc42d
48 changed files with 1409 additions and 544 deletions

View File

@@ -0,0 +1,98 @@
{
"minecraft:custom_data": 0,
"minecraft:max_stack_size": 1,
"minecraft:max_damage": 2,
"minecraft:damage": 3,
"minecraft:unbreakable": 4,
"minecraft:custom_name": 5,
"minecraft:item_name": 6,
"minecraft:item_model": 7,
"minecraft:lore": 8,
"minecraft:rarity": 9,
"minecraft:enchantments": 10,
"minecraft:can_place_on": 11,
"minecraft:can_break": 12,
"minecraft:attribute_modifiers": 13,
"minecraft:custom_model_data": 14,
"minecraft:tooltip_display": 15,
"minecraft:repair_cost": 16,
"minecraft:creative_slot_lock": 17,
"minecraft:enchantment_glint_override": 18,
"minecraft:intangible_projectile": 19,
"minecraft:food": 20,
"minecraft:consumable": 21,
"minecraft:use_remainder": 22,
"minecraft:use_cooldown": 23,
"minecraft:damage_resistant": 24,
"minecraft:tool": 25,
"minecraft:weapon": 26,
"minecraft:enchantable": 27,
"minecraft:equippable": 28,
"minecraft:repairable": 29,
"minecraft:glider": 30,
"minecraft:tooltip_style": 31,
"minecraft:death_protection": 32,
"minecraft:blocks_attacks": 33,
"minecraft:stored_enchantments": 34,
"minecraft:dyed_color": 35,
"minecraft:map_color": 36,
"minecraft:map_id": 37,
"minecraft:map_decorations": 38,
"minecraft:map_post_processing": 39,
"minecraft:charged_projectiles": 40,
"minecraft:bundle_contents": 41,
"minecraft:potion_contents": 42,
"minecraft:potion_duration_scale": 43,
"minecraft:suspicious_stew_effects": 44,
"minecraft:writable_book_content": 45,
"minecraft:written_book_content": 46,
"minecraft:trim": 47,
"minecraft:debug_stick_state": 48,
"minecraft:entity_data": 49,
"minecraft:bucket_entity_data": 50,
"minecraft:block_entity_data": 51,
"minecraft:instrument": 52,
"minecraft:provides_trim_material": 53,
"minecraft:ominous_bottle_amplifier": 54,
"minecraft:jukebox_playable": 55,
"minecraft:provides_banner_patterns": 56,
"minecraft:recipes": 57,
"minecraft:lodestone_tracker": 58,
"minecraft:firework_explosion": 59,
"minecraft:fireworks": 60,
"minecraft:profile": 61,
"minecraft:note_block_sound": 62,
"minecraft:banner_patterns": 63,
"minecraft:base_color": 64,
"minecraft:pot_decorations": 65,
"minecraft:container": 66,
"minecraft:block_state": 67,
"minecraft:bees": 68,
"minecraft:lock": 69,
"minecraft:container_loot": 70,
"minecraft:break_sound": 71,
"minecraft:villager/variant": 72,
"minecraft:wolf/variant": 73,
"minecraft:wolf/sound_variant": 74,
"minecraft:wolf/collar": 75,
"minecraft:fox/variant": 76,
"minecraft:salmon/size": 77,
"minecraft:parrot/variant": 78,
"minecraft:tropical_fish/pattern": 79,
"minecraft:tropical_fish/base_color": 80,
"minecraft:tropical_fish/pattern_color": 81,
"minecraft:mooshroom/variant": 82,
"minecraft:rabbit/variant": 83,
"minecraft:pig/variant": 84,
"minecraft:cow/variant": 85,
"minecraft:chicken/variant": 86,
"minecraft:frog/variant": 87,
"minecraft:horse/variant": 88,
"minecraft:painting/variant": 89,
"minecraft:llama/variant": 90,
"minecraft:axolotl/variant": 91,
"minecraft:cat/variant": 92,
"minecraft:cat/collar": 93,
"minecraft:sheep/color": 94,
"minecraft:shulker/color": 95
}