Skip to content

Update slot component type 1.21.5-1.21.11#1173

Open
reallyoldfogie wants to merge 2 commits intoPrismarineJS:masterfrom
reallyoldfogie:update_SlotComponentType_1.21.5-1.21.11
Open

Update slot component type 1.21.5-1.21.11#1173
reallyoldfogie wants to merge 2 commits intoPrismarineJS:masterfrom
reallyoldfogie:update_SlotComponentType_1.21.5-1.21.11

Conversation

@reallyoldfogie
Copy link
Copy Markdown

Compare DataComponent mappings between protocol.json (SlotComponentType) and DataComponentTypes.java

Versions 1.21.1-1.21.4 excluded from dump because there are no changes in those versions. The script used to generate the dump is at the bottom.

1.21.5: protocol mappings: 96, java mappings: 96

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

1.21.6: protocol mappings: 96, java mappings: 96

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

1.21.7: protocol mappings: 96, java mappings: 96

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

1.21.8: protocol mappings: 96, java mappings: 96

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

1.21.9: protocol mappings: 96, java mappings: 96

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

1.21.10: protocol mappings: 96, java mappings: 96

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

1.21.11: protocol mappings: 104, java mappings: 104

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

Reference: Minecraft Wiki - Structured Components

Source: https://minecraft.wiki/w/Java_Edition_protocol/Slot_data#Structured_components

This section documents the complete list of structured components available in Minecraft protocol.

Complete Component Type Mapping Table

Type ID Component Name Description
0 minecraft:custom_data Customizable data that does not fit any specific component
1 minecraft:max_stack_size Maximum stack size for the item
2 minecraft:max_damage The maximum damage the item can take before breaking
3 minecraft:damage The current damage of the item
4 minecraft:unbreakable Marks the item as unbreakable
5 minecraft:custom_name Item's custom name
6 minecraft:item_name Override for the item's default name
7 minecraft:lore Item's lore
8 minecraft:rarity Item's rarity
9 minecraft:enchantments The enchantments of the item
10 minecraft:can_place_on List of blocks this item can be placed on in adventure mode
11 minecraft:can_break List of blocks this item can break in adventure mode
12 minecraft:attribute_modifiers The attribute modifiers of the item
13 minecraft:custom_model_data Value for custom item model predicates
14 minecraft:hide_additional_tooltip Hides additional information from the tooltip
15 minecraft:hide_tooltip Hides the item's tooltip altogether
16 minecraft:repair_cost Accumulated anvil usage cost
17 minecraft:creative_slot_lock Marks item as non-interactive on creative inventory
18 minecraft:enchantment_glint_override Overrides the item glint from enchantments
19 minecraft:intangible_projectile Marks projectile as intangible (cannot be picked up)
20 minecraft:food Makes the item consumable
21 minecraft:consumable Defines consumption behavior
22 minecraft:use_remainder Item that results from consuming
23 minecraft:use_cooldown Cooldown for item use
24 minecraft:damage_resistant Makes the item resistant to damage
25 minecraft:tool Defines tool properties
26 minecraft:weapon Defines weapon properties
27 minecraft:enchantable Marks item as enchantable
28 minecraft:equippable Marks item as equippable
29 minecraft:repairable Defines item repair properties
30 minecraft:glider Marks item as glider
31 minecraft:tooltip_style Defines tooltip style
32 minecraft:death_protection Provides death protection
33 minecraft:blocks_attacks Item blocks attacks
34 minecraft:stored_enchantments Stored enchantments on the item
35 minecraft:dyed_color Dyed color of the item
36 minecraft:map_color Color of map items
37 minecraft:map_id Map ID
38 minecraft:map_decorations Decorations on maps
39 minecraft:map_post_processing Post-processing for maps
40 minecraft:charged_projectiles Charged projectiles
41 minecraft:bundle_contents Contents of bundles
42 minecraft:potion_contents Contents of potions
43 minecraft:potion_duration_scale Duration scale for potions
44 minecraft:suspicious_stew_effects Effects in suspicious stew
45 minecraft:writable_book_content Writable book content
46 minecraft:written_book_content Written book content
47 minecraft:trim Armor trim
48 minecraft:debug_stick_state Debug stick state
49 minecraft:entity_data Entity data
50 minecraft:bucket_entity_data Entity data in buckets
51 minecraft:block_entity_data Block entity data
52 minecraft:instrument Instrument type
53 minecraft:provides_trim_material Provides trim material
54 minecraft:ominous_bottle_amplifier Ominous bottle amplifier
55 minecraft:jukebox_playable Playable in jukeboxes
56 minecraft:provides_banner_patterns Provides banner patterns
57 minecraft:recipes Recipes
58 minecraft:lodestone_tracker Lodestone tracker
59 minecraft:firework_explosion Firework explosion
60 minecraft:fireworks Fireworks
61 minecraft:profile Player profile (for skulls)
62 minecraft:note_block_sound Note block sound
63 minecraft:banner_patterns Banner patterns
64 minecraft:base_color Base color
65 minecraft:pot_decorations Decorations on pots
66 minecraft:container Container contents
67 minecraft:block_state Block state
68 minecraft:bees Bee data
69 minecraft:lock Lock on container
70 minecraft:container_loot Container loot table
71 minecraft:break_sound Sound when item breaks
72 minecraft:villager/variant Villager variant
73 minecraft:wolf/variant Wolf variant
74 minecraft:wolf/sound_variant Wolf sound variant
75 minecraft:wolf/collar Wolf collar color
76 minecraft:fox/variant Fox variant
77 minecraft:salmon/size Salmon size
78 minecraft:parrot/variant Parrot variant
79 minecraft:tropical_fish/pattern Tropical fish pattern
80 minecraft:tropical_fish/base_color Tropical fish base color
81 minecraft:tropical_fish/pattern_color Tropical fish pattern color
82 minecraft:mooshroom/variant Mooshroom variant
83 minecraft:rabbit/variant Rabbit variant
84 minecraft:pig/variant Pig variant
85 minecraft:cow/variant Cow variant
86 minecraft:chicken/variant Chicken variant
87 minecraft:frog/variant Frog variant
88 minecraft:horse/variant Horse variant
89 minecraft:painting/variant Painting variant
90 minecraft:llama/variant Llama variant
91 minecraft:axolotl/variant Axolotl variant
92 minecraft:cat/variant Cat variant
93 minecraft:cat/collar Cat collar color
94 minecraft:sheep/color Sheep color
95 minecraft:shulker/color Shulker color

Note: This reference table documents components 0-95 from the Minecraft Wiki documentation:
https://minecraft.wiki/w/Java_Edition_protocol/Slot_data#Structured_components

Important: The code analysis above shows that later Minecraft versions (1.21.11+) contain
additional component IDs beyond those documented on the wiki. Refer to the extracted comparison
tables for versions 1.21.9, 1.21.10, and 1.21.11 above to see the actual component mappings
for each version, which includes these additional values.

import json
import re
import os

versions = ['1.21.1', '1.21.2', '1.21.3', '1.21.4', '1.21.5', '1.21.6', '1.21.7', '1.21.8', '1.21.9', '1.21.10', '1.21.11']

results = {}

for version in versions:
    protocol_file = f'<base path>/{version}/protocol.json'
    source_file = f'<base path>/extractedSrc/{version}/net/minecraft/component/DataComponentTypes.java'
    
    protocol_mappings = []
    java_mappings = []
    
    # Extract from protocol.json
    if os.path.exists(protocol_file):
        with open(protocol_file) as f:
            data = json.load(f)
            types = data.get('types', {})
            if 'SlotComponentType' in types:
                slot_comp = types['SlotComponentType']
                if isinstance(slot_comp, list) and len(slot_comp) > 1:
                    if isinstance(slot_comp[1], dict) and 'mappings' in slot_comp[1]:
                        mappings = slot_comp[1]['mappings']
                        for id_str in sorted(mappings.keys(), key=lambda x: int(x)):
                            protocol_mappings.append((int(id_str), mappings[id_str]))
    
    # Extract from Java source
    if os.path.exists(source_file):
        with open(source_file) as f:
            content = f.read()
        
        # component_pattern = r'public\s+static\s+final\s+ComponentType<[^>]+>\s+\w+\s*=\s*register\s*\(\s*"([^"]+)"'
        component_pattern = r'public\s+static\s+final\s+ComponentType<.*>\s+\w+\s*=\s*register\s*\(\s*\"(.+)\"'
        java_matches = re.findall(component_pattern, content)
        for idx, match in enumerate(java_matches):
            java_mappings.append((idx, match))
    
    results[version] = {
        'protocol': protocol_mappings,
        'java': java_mappings
    }

print("# Compare DataComponent mappings between protocol.json (SlotComponentType) and DataComponentTypes.java")
print("")

for result in results:
    # print(f"results[{result}] = {results[result]}")
    print(f"## {result}: protocol mappings: {len(results[result]['protocol'])}, java mappings: {len(results[result]['java'])}")
    print("")
    print(f"| prototcol.json | DataComponentTypes.java | Matches |")
    print("|----|----|---|")
    for p, j in zip(results[result]['protocol'], results[result]['java']):
        print(f"| {p} | {j} | {'✓' if p[1] == j[1] else '❌'} |")
    # print(f"Version {version}: Protocol Mappings: {len(results[version].)}, Java Mappings: {len(results[version].java)}")
    print("")

print("# Reference: Minecraft Wiki - Structured Components")
print("")
print("Source: https://minecraft.wiki/w/Java_Edition_protocol/Slot_data#Structured_components")
print("")
print("This section documents the complete list of structured components available in Minecraft protocol.")
print("")
print("## Complete Component Type Mapping Table")
print("")
print("|Type ID|Component Name|Description|")
print("|---|---|---|")
wiki_components = [
    (0, 'minecraft:custom_data', 'Customizable data that does not fit any specific component'),
    (1, 'minecraft:max_stack_size', 'Maximum stack size for the item'),
    (2, 'minecraft:max_damage', 'The maximum damage the item can take before breaking'),
    (3, 'minecraft:damage', 'The current damage of the item'),
    (4, 'minecraft:unbreakable', 'Marks the item as unbreakable'),
    (5, 'minecraft:custom_name', "Item's custom name"),
    (6, 'minecraft:item_name', "Override for the item's default name"),
    (7, 'minecraft:lore', "Item's lore"),
    (8, 'minecraft:rarity', "Item's rarity"),
    (9, 'minecraft:enchantments', 'The enchantments of the item'),
    (10, 'minecraft:can_place_on', 'List of blocks this item can be placed on in adventure mode'),
    (11, 'minecraft:can_break', 'List of blocks this item can break in adventure mode'),
    (12, 'minecraft:attribute_modifiers', 'The attribute modifiers of the item'),
    (13, 'minecraft:custom_model_data', 'Value for custom item model predicates'),
    (14, 'minecraft:hide_additional_tooltip', 'Hides additional information from the tooltip'),
    (15, 'minecraft:hide_tooltip', "Hides the item's tooltip altogether"),
    (16, 'minecraft:repair_cost', 'Accumulated anvil usage cost'),
    (17, 'minecraft:creative_slot_lock', 'Marks item as non-interactive on creative inventory'),
    (18, 'minecraft:enchantment_glint_override', 'Overrides the item glint from enchantments'),
    (19, 'minecraft:intangible_projectile', 'Marks projectile as intangible (cannot be picked up)'),
    (20, 'minecraft:food', 'Makes the item consumable'),
    (21, 'minecraft:consumable', 'Defines consumption behavior'),
    (22, 'minecraft:use_remainder', 'Item that results from consuming'),
    (23, 'minecraft:use_cooldown', 'Cooldown for item use'),
    (24, 'minecraft:damage_resistant', 'Makes the item resistant to damage'),
    (25, 'minecraft:tool', 'Defines tool properties'),
    (26, 'minecraft:weapon', 'Defines weapon properties'),
    (27, 'minecraft:enchantable', 'Marks item as enchantable'),
    (28, 'minecraft:equippable', 'Marks item as equippable'),
    (29, 'minecraft:repairable', 'Defines item repair properties'),
    (30, 'minecraft:glider', 'Marks item as glider'),
    (31, 'minecraft:tooltip_style', 'Defines tooltip style'),
    (32, 'minecraft:death_protection', 'Provides death protection'),
    (33, 'minecraft:blocks_attacks', 'Item blocks attacks'),
    (34, 'minecraft:stored_enchantments', 'Stored enchantments on the item'),
    (35, 'minecraft:dyed_color', 'Dyed color of the item'),
    (36, 'minecraft:map_color', 'Color of map items'),
    (37, 'minecraft:map_id', 'Map ID'),
    (38, 'minecraft:map_decorations', 'Decorations on maps'),
    (39, 'minecraft:map_post_processing', 'Post-processing for maps'),
    (40, 'minecraft:charged_projectiles', 'Charged projectiles'),
    (41, 'minecraft:bundle_contents', 'Contents of bundles'),
    (42, 'minecraft:potion_contents', 'Contents of potions'),
    (43, 'minecraft:potion_duration_scale', 'Duration scale for potions'),
    (44, 'minecraft:suspicious_stew_effects', 'Effects in suspicious stew'),
    (45, 'minecraft:writable_book_content', 'Writable book content'),
    (46, 'minecraft:written_book_content', 'Written book content'),
    (47, 'minecraft:trim', 'Armor trim'),
    (48, 'minecraft:debug_stick_state', 'Debug stick state'),
    (49, 'minecraft:entity_data', 'Entity data'),
    (50, 'minecraft:bucket_entity_data', 'Entity data in buckets'),
    (51, 'minecraft:block_entity_data', 'Block entity data'),
    (52, 'minecraft:instrument', 'Instrument type'),
    (53, 'minecraft:provides_trim_material', 'Provides trim material'),
    (54, 'minecraft:ominous_bottle_amplifier', 'Ominous bottle amplifier'),
    (55, 'minecraft:jukebox_playable', 'Playable in jukeboxes'),
    (56, 'minecraft:provides_banner_patterns', 'Provides banner patterns'),
    (57, 'minecraft:recipes', 'Recipes'),
    (58, 'minecraft:lodestone_tracker', 'Lodestone tracker'),
    (59, 'minecraft:firework_explosion', 'Firework explosion'),
    (60, 'minecraft:fireworks', 'Fireworks'),
    (61, 'minecraft:profile', 'Player profile (for skulls)'),
    (62, 'minecraft:note_block_sound', 'Note block sound'),
    (63, 'minecraft:banner_patterns', 'Banner patterns'),
    (64, 'minecraft:base_color', 'Base color'),
    (65, 'minecraft:pot_decorations', 'Decorations on pots'),
    (66, 'minecraft:container', 'Container contents'),
    (67, 'minecraft:block_state', 'Block state'),
    (68, 'minecraft:bees', 'Bee data'),
    (69, 'minecraft:lock', 'Lock on container'),
    (70, 'minecraft:container_loot', 'Container loot table'),
    (71, 'minecraft:break_sound', 'Sound when item breaks'),
    (72, 'minecraft:villager/variant', 'Villager variant'),
    (73, 'minecraft:wolf/variant', 'Wolf variant'),
    (74, 'minecraft:wolf/sound_variant', 'Wolf sound variant'),
    (75, 'minecraft:wolf/collar', 'Wolf collar color'),
    (76, 'minecraft:fox/variant', 'Fox variant'),
    (77, 'minecraft:salmon/size', 'Salmon size'),
    (78, 'minecraft:parrot/variant', 'Parrot variant'),
    (79, 'minecraft:tropical_fish/pattern', 'Tropical fish pattern'),
    (80, 'minecraft:tropical_fish/base_color', 'Tropical fish base color'),
    (81, 'minecraft:tropical_fish/pattern_color', 'Tropical fish pattern color'),
    (82, 'minecraft:mooshroom/variant', 'Mooshroom variant'),
    (83, 'minecraft:rabbit/variant', 'Rabbit variant'),
    (84, 'minecraft:pig/variant', 'Pig variant'),
    (85, 'minecraft:cow/variant', 'Cow variant'),
    (86, 'minecraft:chicken/variant', 'Chicken variant'),
    (87, 'minecraft:frog/variant', 'Frog variant'),
    (88, 'minecraft:horse/variant', 'Horse variant'),
    (89, 'minecraft:painting/variant', 'Painting variant'),
    (90, 'minecraft:llama/variant', 'Llama variant'),
    (91, 'minecraft:axolotl/variant', 'Axolotl variant'),
    (92, 'minecraft:cat/variant', 'Cat variant'),
    (93, 'minecraft:cat/collar', 'Cat collar color'),
    (94, 'minecraft:sheep/color', 'Sheep color'),
    (95, 'minecraft:shulker/color', 'Shulker color'),
]
for component_id, name, desc in wiki_components:
    print(f"|{component_id}|{name}|{desc}|")

print("")
print("Note: This reference table documents components 0-95 from the Minecraft Wiki documentation:")
print("https://minecraft.wiki/w/Java_Edition_protocol/Slot_data#Structured_components")
print("")
print("**Important**: The code analysis above shows that later Minecraft versions (1.21.11+) contain")
print("additional component IDs beyond those documented on the wiki. Refer to the extracted comparison")
print("tables for versions 1.21.9, 1.21.10, and 1.21.11 above to see the actual component mappings")
print("for each version, which includes these additional values.")
print("")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants