Skip to main content

azalea_inventory/default_components/
generated.rs

1// This file was @generated by codegen/lib/code/components.py, don't edit it
2// manually!
3
4#![allow(clippy::all)]
5
6use std::collections::HashMap;
7
8use azalea_chat::translatable_component::TranslatableComponent;
9use azalea_core::attribute_modifier_operation::AttributeModifierOperation;
10use azalea_registry::{
11    DataRegistry, HolderSet,
12    builtin::{Attribute, BlockKind, EntityKind, ItemKind, MobEffect, SoundEvent},
13};
14use simdnbt::owned::NbtCompound;
15
16use crate::{
17    ItemStack, components::*, default_components::DefaultableComponent,
18    item::consume_effect::ConsumeEffect,
19};
20
21impl DefaultableComponent for AttackRange {
22    fn default_for_item(item: ItemKind) -> Option<Self> {
23        let value = match item {
24            ItemKind::CopperSpear => AttackRange {
25                hitbox_margin: 0.125,
26                max_creative_reach: 6.5,
27                max_reach: 4.5,
28                min_creative_reach: 2.0,
29                min_reach: 2.0,
30                mob_factor: 0.5,
31            },
32            ItemKind::DiamondSpear => AttackRange {
33                hitbox_margin: 0.125,
34                max_creative_reach: 6.5,
35                max_reach: 4.5,
36                min_creative_reach: 2.0,
37                min_reach: 2.0,
38                mob_factor: 0.5,
39            },
40            ItemKind::GoldenSpear => AttackRange {
41                hitbox_margin: 0.125,
42                max_creative_reach: 6.5,
43                max_reach: 4.5,
44                min_creative_reach: 2.0,
45                min_reach: 2.0,
46                mob_factor: 0.5,
47            },
48            ItemKind::IronSpear => AttackRange {
49                hitbox_margin: 0.125,
50                max_creative_reach: 6.5,
51                max_reach: 4.5,
52                min_creative_reach: 2.0,
53                min_reach: 2.0,
54                mob_factor: 0.5,
55            },
56            ItemKind::NetheriteSpear => AttackRange {
57                hitbox_margin: 0.125,
58                max_creative_reach: 6.5,
59                max_reach: 4.5,
60                min_creative_reach: 2.0,
61                min_reach: 2.0,
62                mob_factor: 0.5,
63            },
64            ItemKind::StoneSpear => AttackRange {
65                hitbox_margin: 0.125,
66                max_creative_reach: 6.5,
67                max_reach: 4.5,
68                min_creative_reach: 2.0,
69                min_reach: 2.0,
70                mob_factor: 0.5,
71            },
72            ItemKind::WoodenSpear => AttackRange {
73                hitbox_margin: 0.125,
74                max_creative_reach: 6.5,
75                max_reach: 4.5,
76                min_creative_reach: 2.0,
77                min_reach: 2.0,
78                mob_factor: 0.5,
79            },
80            _ => return None,
81        };
82        Some(value)
83    }
84}
85impl DefaultableComponent for AttributeModifiers {
86    fn default_for_item(item: ItemKind) -> Option<Self> {
87        let value = match item {
88            ItemKind::CarvedPumpkin => vec![AttributeModifiersEntry {
89                display: AttributeModifierDisplay::Hidden,
90                slot: EquipmentSlotGroup::Head,
91                kind: Attribute::WaypointTransmitRange,
92                modifier: AttributeModifier {
93                    id: "minecraft:waypoint_transmit_range_hide".into(),
94                    amount: -1.0,
95                    operation: AttributeModifierOperation::AddMultipliedTotal,
96                },
97            }],
98            ItemKind::ChainmailBoots => vec![
99                AttributeModifiersEntry {
100                    slot: EquipmentSlotGroup::Feet,
101                    kind: Attribute::Armor,
102                    display: AttributeModifierDisplay::Default,
103                    modifier: AttributeModifier {
104                        id: "minecraft:armor.boots".into(),
105                        amount: 1.0,
106                        operation: AttributeModifierOperation::AddValue,
107                    },
108                },
109                AttributeModifiersEntry {
110                    slot: EquipmentSlotGroup::Feet,
111                    kind: Attribute::ArmorToughness,
112                    display: AttributeModifierDisplay::Default,
113                    modifier: AttributeModifier {
114                        id: "minecraft:armor.boots".into(),
115                        amount: 0.0,
116                        operation: AttributeModifierOperation::AddValue,
117                    },
118                },
119            ],
120            ItemKind::ChainmailChestplate => vec![
121                AttributeModifiersEntry {
122                    slot: EquipmentSlotGroup::Chest,
123                    kind: Attribute::Armor,
124                    display: AttributeModifierDisplay::Default,
125                    modifier: AttributeModifier {
126                        id: "minecraft:armor.chestplate".into(),
127                        amount: 5.0,
128                        operation: AttributeModifierOperation::AddValue,
129                    },
130                },
131                AttributeModifiersEntry {
132                    slot: EquipmentSlotGroup::Chest,
133                    kind: Attribute::ArmorToughness,
134                    display: AttributeModifierDisplay::Default,
135                    modifier: AttributeModifier {
136                        id: "minecraft:armor.chestplate".into(),
137                        amount: 0.0,
138                        operation: AttributeModifierOperation::AddValue,
139                    },
140                },
141            ],
142            ItemKind::ChainmailHelmet => vec![
143                AttributeModifiersEntry {
144                    slot: EquipmentSlotGroup::Head,
145                    kind: Attribute::Armor,
146                    display: AttributeModifierDisplay::Default,
147                    modifier: AttributeModifier {
148                        id: "minecraft:armor.helmet".into(),
149                        amount: 2.0,
150                        operation: AttributeModifierOperation::AddValue,
151                    },
152                },
153                AttributeModifiersEntry {
154                    slot: EquipmentSlotGroup::Head,
155                    kind: Attribute::ArmorToughness,
156                    display: AttributeModifierDisplay::Default,
157                    modifier: AttributeModifier {
158                        id: "minecraft:armor.helmet".into(),
159                        amount: 0.0,
160                        operation: AttributeModifierOperation::AddValue,
161                    },
162                },
163            ],
164            ItemKind::ChainmailLeggings => vec![
165                AttributeModifiersEntry {
166                    slot: EquipmentSlotGroup::Legs,
167                    kind: Attribute::Armor,
168                    display: AttributeModifierDisplay::Default,
169                    modifier: AttributeModifier {
170                        id: "minecraft:armor.leggings".into(),
171                        amount: 4.0,
172                        operation: AttributeModifierOperation::AddValue,
173                    },
174                },
175                AttributeModifiersEntry {
176                    slot: EquipmentSlotGroup::Legs,
177                    kind: Attribute::ArmorToughness,
178                    display: AttributeModifierDisplay::Default,
179                    modifier: AttributeModifier {
180                        id: "minecraft:armor.leggings".into(),
181                        amount: 0.0,
182                        operation: AttributeModifierOperation::AddValue,
183                    },
184                },
185            ],
186            ItemKind::CopperAxe => vec![
187                AttributeModifiersEntry {
188                    slot: EquipmentSlotGroup::Mainhand,
189                    kind: Attribute::AttackDamage,
190                    display: AttributeModifierDisplay::Default,
191                    modifier: AttributeModifier {
192                        id: "minecraft:base_attack_damage".into(),
193                        amount: 8.0,
194                        operation: AttributeModifierOperation::AddValue,
195                    },
196                },
197                AttributeModifiersEntry {
198                    slot: EquipmentSlotGroup::Mainhand,
199                    kind: Attribute::AttackSpeed,
200                    display: AttributeModifierDisplay::Default,
201                    modifier: AttributeModifier {
202                        id: "minecraft:base_attack_speed".into(),
203                        amount: -3.200000047683716,
204                        operation: AttributeModifierOperation::AddValue,
205                    },
206                },
207            ],
208            ItemKind::CopperBoots => vec![
209                AttributeModifiersEntry {
210                    slot: EquipmentSlotGroup::Feet,
211                    kind: Attribute::Armor,
212                    display: AttributeModifierDisplay::Default,
213                    modifier: AttributeModifier {
214                        id: "minecraft:armor.boots".into(),
215                        amount: 1.0,
216                        operation: AttributeModifierOperation::AddValue,
217                    },
218                },
219                AttributeModifiersEntry {
220                    slot: EquipmentSlotGroup::Feet,
221                    kind: Attribute::ArmorToughness,
222                    display: AttributeModifierDisplay::Default,
223                    modifier: AttributeModifier {
224                        id: "minecraft:armor.boots".into(),
225                        amount: 0.0,
226                        operation: AttributeModifierOperation::AddValue,
227                    },
228                },
229            ],
230            ItemKind::CopperChestplate => vec![
231                AttributeModifiersEntry {
232                    slot: EquipmentSlotGroup::Chest,
233                    kind: Attribute::Armor,
234                    display: AttributeModifierDisplay::Default,
235                    modifier: AttributeModifier {
236                        id: "minecraft:armor.chestplate".into(),
237                        amount: 4.0,
238                        operation: AttributeModifierOperation::AddValue,
239                    },
240                },
241                AttributeModifiersEntry {
242                    slot: EquipmentSlotGroup::Chest,
243                    kind: Attribute::ArmorToughness,
244                    display: AttributeModifierDisplay::Default,
245                    modifier: AttributeModifier {
246                        id: "minecraft:armor.chestplate".into(),
247                        amount: 0.0,
248                        operation: AttributeModifierOperation::AddValue,
249                    },
250                },
251            ],
252            ItemKind::CopperHelmet => vec![
253                AttributeModifiersEntry {
254                    slot: EquipmentSlotGroup::Head,
255                    kind: Attribute::Armor,
256                    display: AttributeModifierDisplay::Default,
257                    modifier: AttributeModifier {
258                        id: "minecraft:armor.helmet".into(),
259                        amount: 2.0,
260                        operation: AttributeModifierOperation::AddValue,
261                    },
262                },
263                AttributeModifiersEntry {
264                    slot: EquipmentSlotGroup::Head,
265                    kind: Attribute::ArmorToughness,
266                    display: AttributeModifierDisplay::Default,
267                    modifier: AttributeModifier {
268                        id: "minecraft:armor.helmet".into(),
269                        amount: 0.0,
270                        operation: AttributeModifierOperation::AddValue,
271                    },
272                },
273            ],
274            ItemKind::CopperHoe => vec![
275                AttributeModifiersEntry {
276                    slot: EquipmentSlotGroup::Mainhand,
277                    kind: Attribute::AttackDamage,
278                    display: AttributeModifierDisplay::Default,
279                    modifier: AttributeModifier {
280                        id: "minecraft:base_attack_damage".into(),
281                        amount: 0.0,
282                        operation: AttributeModifierOperation::AddValue,
283                    },
284                },
285                AttributeModifiersEntry {
286                    slot: EquipmentSlotGroup::Mainhand,
287                    kind: Attribute::AttackSpeed,
288                    display: AttributeModifierDisplay::Default,
289                    modifier: AttributeModifier {
290                        id: "minecraft:base_attack_speed".into(),
291                        amount: -2.0,
292                        operation: AttributeModifierOperation::AddValue,
293                    },
294                },
295            ],
296            ItemKind::CopperHorseArmor => vec![
297                AttributeModifiersEntry {
298                    slot: EquipmentSlotGroup::Body,
299                    kind: Attribute::Armor,
300                    display: AttributeModifierDisplay::Default,
301                    modifier: AttributeModifier {
302                        id: "minecraft:armor.body".into(),
303                        amount: 4.0,
304                        operation: AttributeModifierOperation::AddValue,
305                    },
306                },
307                AttributeModifiersEntry {
308                    slot: EquipmentSlotGroup::Body,
309                    kind: Attribute::ArmorToughness,
310                    display: AttributeModifierDisplay::Default,
311                    modifier: AttributeModifier {
312                        id: "minecraft:armor.body".into(),
313                        amount: 0.0,
314                        operation: AttributeModifierOperation::AddValue,
315                    },
316                },
317            ],
318            ItemKind::CopperLeggings => vec![
319                AttributeModifiersEntry {
320                    slot: EquipmentSlotGroup::Legs,
321                    kind: Attribute::Armor,
322                    display: AttributeModifierDisplay::Default,
323                    modifier: AttributeModifier {
324                        id: "minecraft:armor.leggings".into(),
325                        amount: 3.0,
326                        operation: AttributeModifierOperation::AddValue,
327                    },
328                },
329                AttributeModifiersEntry {
330                    slot: EquipmentSlotGroup::Legs,
331                    kind: Attribute::ArmorToughness,
332                    display: AttributeModifierDisplay::Default,
333                    modifier: AttributeModifier {
334                        id: "minecraft:armor.leggings".into(),
335                        amount: 0.0,
336                        operation: AttributeModifierOperation::AddValue,
337                    },
338                },
339            ],
340            ItemKind::CopperNautilusArmor => vec![
341                AttributeModifiersEntry {
342                    slot: EquipmentSlotGroup::Body,
343                    kind: Attribute::Armor,
344                    display: AttributeModifierDisplay::Default,
345                    modifier: AttributeModifier {
346                        id: "minecraft:armor.body".into(),
347                        amount: 4.0,
348                        operation: AttributeModifierOperation::AddValue,
349                    },
350                },
351                AttributeModifiersEntry {
352                    slot: EquipmentSlotGroup::Body,
353                    kind: Attribute::ArmorToughness,
354                    display: AttributeModifierDisplay::Default,
355                    modifier: AttributeModifier {
356                        id: "minecraft:armor.body".into(),
357                        amount: 0.0,
358                        operation: AttributeModifierOperation::AddValue,
359                    },
360                },
361            ],
362            ItemKind::CopperPickaxe => vec![
363                AttributeModifiersEntry {
364                    slot: EquipmentSlotGroup::Mainhand,
365                    kind: Attribute::AttackDamage,
366                    display: AttributeModifierDisplay::Default,
367                    modifier: AttributeModifier {
368                        id: "minecraft:base_attack_damage".into(),
369                        amount: 2.0,
370                        operation: AttributeModifierOperation::AddValue,
371                    },
372                },
373                AttributeModifiersEntry {
374                    slot: EquipmentSlotGroup::Mainhand,
375                    kind: Attribute::AttackSpeed,
376                    display: AttributeModifierDisplay::Default,
377                    modifier: AttributeModifier {
378                        id: "minecraft:base_attack_speed".into(),
379                        amount: -2.799999952316284,
380                        operation: AttributeModifierOperation::AddValue,
381                    },
382                },
383            ],
384            ItemKind::CopperShovel => vec![
385                AttributeModifiersEntry {
386                    slot: EquipmentSlotGroup::Mainhand,
387                    kind: Attribute::AttackDamage,
388                    display: AttributeModifierDisplay::Default,
389                    modifier: AttributeModifier {
390                        id: "minecraft:base_attack_damage".into(),
391                        amount: 2.5,
392                        operation: AttributeModifierOperation::AddValue,
393                    },
394                },
395                AttributeModifiersEntry {
396                    slot: EquipmentSlotGroup::Mainhand,
397                    kind: Attribute::AttackSpeed,
398                    display: AttributeModifierDisplay::Default,
399                    modifier: AttributeModifier {
400                        id: "minecraft:base_attack_speed".into(),
401                        amount: -3.0,
402                        operation: AttributeModifierOperation::AddValue,
403                    },
404                },
405            ],
406            ItemKind::CopperSpear => vec![
407                AttributeModifiersEntry {
408                    slot: EquipmentSlotGroup::Mainhand,
409                    kind: Attribute::AttackDamage,
410                    display: AttributeModifierDisplay::Default,
411                    modifier: AttributeModifier {
412                        id: "minecraft:base_attack_damage".into(),
413                        amount: 1.0,
414                        operation: AttributeModifierOperation::AddValue,
415                    },
416                },
417                AttributeModifiersEntry {
418                    slot: EquipmentSlotGroup::Mainhand,
419                    kind: Attribute::AttackSpeed,
420                    display: AttributeModifierDisplay::Default,
421                    modifier: AttributeModifier {
422                        id: "minecraft:base_attack_speed".into(),
423                        amount: -2.8235294818878174,
424                        operation: AttributeModifierOperation::AddValue,
425                    },
426                },
427            ],
428            ItemKind::CopperSword => vec![
429                AttributeModifiersEntry {
430                    slot: EquipmentSlotGroup::Mainhand,
431                    kind: Attribute::AttackDamage,
432                    display: AttributeModifierDisplay::Default,
433                    modifier: AttributeModifier {
434                        id: "minecraft:base_attack_damage".into(),
435                        amount: 4.0,
436                        operation: AttributeModifierOperation::AddValue,
437                    },
438                },
439                AttributeModifiersEntry {
440                    slot: EquipmentSlotGroup::Mainhand,
441                    kind: Attribute::AttackSpeed,
442                    display: AttributeModifierDisplay::Default,
443                    modifier: AttributeModifier {
444                        id: "minecraft:base_attack_speed".into(),
445                        amount: -2.4000000953674316,
446                        operation: AttributeModifierOperation::AddValue,
447                    },
448                },
449            ],
450            ItemKind::CreeperHead => vec![AttributeModifiersEntry {
451                display: AttributeModifierDisplay::Hidden,
452                slot: EquipmentSlotGroup::Head,
453                kind: Attribute::WaypointTransmitRange,
454                modifier: AttributeModifier {
455                    id: "minecraft:waypoint_transmit_range_hide".into(),
456                    amount: -1.0,
457                    operation: AttributeModifierOperation::AddMultipliedTotal,
458                },
459            }],
460            ItemKind::DiamondAxe => vec![
461                AttributeModifiersEntry {
462                    slot: EquipmentSlotGroup::Mainhand,
463                    kind: Attribute::AttackDamage,
464                    display: AttributeModifierDisplay::Default,
465                    modifier: AttributeModifier {
466                        id: "minecraft:base_attack_damage".into(),
467                        amount: 8.0,
468                        operation: AttributeModifierOperation::AddValue,
469                    },
470                },
471                AttributeModifiersEntry {
472                    slot: EquipmentSlotGroup::Mainhand,
473                    kind: Attribute::AttackSpeed,
474                    display: AttributeModifierDisplay::Default,
475                    modifier: AttributeModifier {
476                        id: "minecraft:base_attack_speed".into(),
477                        amount: -3.0,
478                        operation: AttributeModifierOperation::AddValue,
479                    },
480                },
481            ],
482            ItemKind::DiamondBoots => vec![
483                AttributeModifiersEntry {
484                    slot: EquipmentSlotGroup::Feet,
485                    kind: Attribute::Armor,
486                    display: AttributeModifierDisplay::Default,
487                    modifier: AttributeModifier {
488                        id: "minecraft:armor.boots".into(),
489                        amount: 3.0,
490                        operation: AttributeModifierOperation::AddValue,
491                    },
492                },
493                AttributeModifiersEntry {
494                    slot: EquipmentSlotGroup::Feet,
495                    kind: Attribute::ArmorToughness,
496                    display: AttributeModifierDisplay::Default,
497                    modifier: AttributeModifier {
498                        id: "minecraft:armor.boots".into(),
499                        amount: 2.0,
500                        operation: AttributeModifierOperation::AddValue,
501                    },
502                },
503            ],
504            ItemKind::DiamondChestplate => vec![
505                AttributeModifiersEntry {
506                    slot: EquipmentSlotGroup::Chest,
507                    kind: Attribute::Armor,
508                    display: AttributeModifierDisplay::Default,
509                    modifier: AttributeModifier {
510                        id: "minecraft:armor.chestplate".into(),
511                        amount: 8.0,
512                        operation: AttributeModifierOperation::AddValue,
513                    },
514                },
515                AttributeModifiersEntry {
516                    slot: EquipmentSlotGroup::Chest,
517                    kind: Attribute::ArmorToughness,
518                    display: AttributeModifierDisplay::Default,
519                    modifier: AttributeModifier {
520                        id: "minecraft:armor.chestplate".into(),
521                        amount: 2.0,
522                        operation: AttributeModifierOperation::AddValue,
523                    },
524                },
525            ],
526            ItemKind::DiamondHelmet => vec![
527                AttributeModifiersEntry {
528                    slot: EquipmentSlotGroup::Head,
529                    kind: Attribute::Armor,
530                    display: AttributeModifierDisplay::Default,
531                    modifier: AttributeModifier {
532                        id: "minecraft:armor.helmet".into(),
533                        amount: 3.0,
534                        operation: AttributeModifierOperation::AddValue,
535                    },
536                },
537                AttributeModifiersEntry {
538                    slot: EquipmentSlotGroup::Head,
539                    kind: Attribute::ArmorToughness,
540                    display: AttributeModifierDisplay::Default,
541                    modifier: AttributeModifier {
542                        id: "minecraft:armor.helmet".into(),
543                        amount: 2.0,
544                        operation: AttributeModifierOperation::AddValue,
545                    },
546                },
547            ],
548            ItemKind::DiamondHoe => vec![
549                AttributeModifiersEntry {
550                    slot: EquipmentSlotGroup::Mainhand,
551                    kind: Attribute::AttackDamage,
552                    display: AttributeModifierDisplay::Default,
553                    modifier: AttributeModifier {
554                        id: "minecraft:base_attack_damage".into(),
555                        amount: 0.0,
556                        operation: AttributeModifierOperation::AddValue,
557                    },
558                },
559                AttributeModifiersEntry {
560                    slot: EquipmentSlotGroup::Mainhand,
561                    kind: Attribute::AttackSpeed,
562                    display: AttributeModifierDisplay::Default,
563                    modifier: AttributeModifier {
564                        id: "minecraft:base_attack_speed".into(),
565                        amount: 0.0,
566                        operation: AttributeModifierOperation::AddValue,
567                    },
568                },
569            ],
570            ItemKind::DiamondHorseArmor => vec![
571                AttributeModifiersEntry {
572                    slot: EquipmentSlotGroup::Body,
573                    kind: Attribute::Armor,
574                    display: AttributeModifierDisplay::Default,
575                    modifier: AttributeModifier {
576                        id: "minecraft:armor.body".into(),
577                        amount: 11.0,
578                        operation: AttributeModifierOperation::AddValue,
579                    },
580                },
581                AttributeModifiersEntry {
582                    slot: EquipmentSlotGroup::Body,
583                    kind: Attribute::ArmorToughness,
584                    display: AttributeModifierDisplay::Default,
585                    modifier: AttributeModifier {
586                        id: "minecraft:armor.body".into(),
587                        amount: 2.0,
588                        operation: AttributeModifierOperation::AddValue,
589                    },
590                },
591            ],
592            ItemKind::DiamondLeggings => vec![
593                AttributeModifiersEntry {
594                    slot: EquipmentSlotGroup::Legs,
595                    kind: Attribute::Armor,
596                    display: AttributeModifierDisplay::Default,
597                    modifier: AttributeModifier {
598                        id: "minecraft:armor.leggings".into(),
599                        amount: 6.0,
600                        operation: AttributeModifierOperation::AddValue,
601                    },
602                },
603                AttributeModifiersEntry {
604                    slot: EquipmentSlotGroup::Legs,
605                    kind: Attribute::ArmorToughness,
606                    display: AttributeModifierDisplay::Default,
607                    modifier: AttributeModifier {
608                        id: "minecraft:armor.leggings".into(),
609                        amount: 2.0,
610                        operation: AttributeModifierOperation::AddValue,
611                    },
612                },
613            ],
614            ItemKind::DiamondNautilusArmor => vec![
615                AttributeModifiersEntry {
616                    slot: EquipmentSlotGroup::Body,
617                    kind: Attribute::Armor,
618                    display: AttributeModifierDisplay::Default,
619                    modifier: AttributeModifier {
620                        id: "minecraft:armor.body".into(),
621                        amount: 11.0,
622                        operation: AttributeModifierOperation::AddValue,
623                    },
624                },
625                AttributeModifiersEntry {
626                    slot: EquipmentSlotGroup::Body,
627                    kind: Attribute::ArmorToughness,
628                    display: AttributeModifierDisplay::Default,
629                    modifier: AttributeModifier {
630                        id: "minecraft:armor.body".into(),
631                        amount: 2.0,
632                        operation: AttributeModifierOperation::AddValue,
633                    },
634                },
635            ],
636            ItemKind::DiamondPickaxe => vec![
637                AttributeModifiersEntry {
638                    slot: EquipmentSlotGroup::Mainhand,
639                    kind: Attribute::AttackDamage,
640                    display: AttributeModifierDisplay::Default,
641                    modifier: AttributeModifier {
642                        id: "minecraft:base_attack_damage".into(),
643                        amount: 4.0,
644                        operation: AttributeModifierOperation::AddValue,
645                    },
646                },
647                AttributeModifiersEntry {
648                    slot: EquipmentSlotGroup::Mainhand,
649                    kind: Attribute::AttackSpeed,
650                    display: AttributeModifierDisplay::Default,
651                    modifier: AttributeModifier {
652                        id: "minecraft:base_attack_speed".into(),
653                        amount: -2.799999952316284,
654                        operation: AttributeModifierOperation::AddValue,
655                    },
656                },
657            ],
658            ItemKind::DiamondShovel => vec![
659                AttributeModifiersEntry {
660                    slot: EquipmentSlotGroup::Mainhand,
661                    kind: Attribute::AttackDamage,
662                    display: AttributeModifierDisplay::Default,
663                    modifier: AttributeModifier {
664                        id: "minecraft:base_attack_damage".into(),
665                        amount: 4.5,
666                        operation: AttributeModifierOperation::AddValue,
667                    },
668                },
669                AttributeModifiersEntry {
670                    slot: EquipmentSlotGroup::Mainhand,
671                    kind: Attribute::AttackSpeed,
672                    display: AttributeModifierDisplay::Default,
673                    modifier: AttributeModifier {
674                        id: "minecraft:base_attack_speed".into(),
675                        amount: -3.0,
676                        operation: AttributeModifierOperation::AddValue,
677                    },
678                },
679            ],
680            ItemKind::DiamondSpear => vec![
681                AttributeModifiersEntry {
682                    slot: EquipmentSlotGroup::Mainhand,
683                    kind: Attribute::AttackDamage,
684                    display: AttributeModifierDisplay::Default,
685                    modifier: AttributeModifier {
686                        id: "minecraft:base_attack_damage".into(),
687                        amount: 3.0,
688                        operation: AttributeModifierOperation::AddValue,
689                    },
690                },
691                AttributeModifiersEntry {
692                    slot: EquipmentSlotGroup::Mainhand,
693                    kind: Attribute::AttackSpeed,
694                    display: AttributeModifierDisplay::Default,
695                    modifier: AttributeModifier {
696                        id: "minecraft:base_attack_speed".into(),
697                        amount: -3.0476189851760864,
698                        operation: AttributeModifierOperation::AddValue,
699                    },
700                },
701            ],
702            ItemKind::DiamondSword => vec![
703                AttributeModifiersEntry {
704                    slot: EquipmentSlotGroup::Mainhand,
705                    kind: Attribute::AttackDamage,
706                    display: AttributeModifierDisplay::Default,
707                    modifier: AttributeModifier {
708                        id: "minecraft:base_attack_damage".into(),
709                        amount: 6.0,
710                        operation: AttributeModifierOperation::AddValue,
711                    },
712                },
713                AttributeModifiersEntry {
714                    slot: EquipmentSlotGroup::Mainhand,
715                    kind: Attribute::AttackSpeed,
716                    display: AttributeModifierDisplay::Default,
717                    modifier: AttributeModifier {
718                        id: "minecraft:base_attack_speed".into(),
719                        amount: -2.4000000953674316,
720                        operation: AttributeModifierOperation::AddValue,
721                    },
722                },
723            ],
724            ItemKind::DragonHead => vec![AttributeModifiersEntry {
725                display: AttributeModifierDisplay::Hidden,
726                slot: EquipmentSlotGroup::Head,
727                kind: Attribute::WaypointTransmitRange,
728                modifier: AttributeModifier {
729                    id: "minecraft:waypoint_transmit_range_hide".into(),
730                    amount: -1.0,
731                    operation: AttributeModifierOperation::AddMultipliedTotal,
732                },
733            }],
734            ItemKind::GoldenAxe => vec![
735                AttributeModifiersEntry {
736                    slot: EquipmentSlotGroup::Mainhand,
737                    kind: Attribute::AttackDamage,
738                    display: AttributeModifierDisplay::Default,
739                    modifier: AttributeModifier {
740                        id: "minecraft:base_attack_damage".into(),
741                        amount: 6.0,
742                        operation: AttributeModifierOperation::AddValue,
743                    },
744                },
745                AttributeModifiersEntry {
746                    slot: EquipmentSlotGroup::Mainhand,
747                    kind: Attribute::AttackSpeed,
748                    display: AttributeModifierDisplay::Default,
749                    modifier: AttributeModifier {
750                        id: "minecraft:base_attack_speed".into(),
751                        amount: -3.0,
752                        operation: AttributeModifierOperation::AddValue,
753                    },
754                },
755            ],
756            ItemKind::GoldenBoots => vec![
757                AttributeModifiersEntry {
758                    slot: EquipmentSlotGroup::Feet,
759                    kind: Attribute::Armor,
760                    display: AttributeModifierDisplay::Default,
761                    modifier: AttributeModifier {
762                        id: "minecraft:armor.boots".into(),
763                        amount: 1.0,
764                        operation: AttributeModifierOperation::AddValue,
765                    },
766                },
767                AttributeModifiersEntry {
768                    slot: EquipmentSlotGroup::Feet,
769                    kind: Attribute::ArmorToughness,
770                    display: AttributeModifierDisplay::Default,
771                    modifier: AttributeModifier {
772                        id: "minecraft:armor.boots".into(),
773                        amount: 0.0,
774                        operation: AttributeModifierOperation::AddValue,
775                    },
776                },
777            ],
778            ItemKind::GoldenChestplate => vec![
779                AttributeModifiersEntry {
780                    slot: EquipmentSlotGroup::Chest,
781                    kind: Attribute::Armor,
782                    display: AttributeModifierDisplay::Default,
783                    modifier: AttributeModifier {
784                        id: "minecraft:armor.chestplate".into(),
785                        amount: 5.0,
786                        operation: AttributeModifierOperation::AddValue,
787                    },
788                },
789                AttributeModifiersEntry {
790                    slot: EquipmentSlotGroup::Chest,
791                    kind: Attribute::ArmorToughness,
792                    display: AttributeModifierDisplay::Default,
793                    modifier: AttributeModifier {
794                        id: "minecraft:armor.chestplate".into(),
795                        amount: 0.0,
796                        operation: AttributeModifierOperation::AddValue,
797                    },
798                },
799            ],
800            ItemKind::GoldenHelmet => vec![
801                AttributeModifiersEntry {
802                    slot: EquipmentSlotGroup::Head,
803                    kind: Attribute::Armor,
804                    display: AttributeModifierDisplay::Default,
805                    modifier: AttributeModifier {
806                        id: "minecraft:armor.helmet".into(),
807                        amount: 2.0,
808                        operation: AttributeModifierOperation::AddValue,
809                    },
810                },
811                AttributeModifiersEntry {
812                    slot: EquipmentSlotGroup::Head,
813                    kind: Attribute::ArmorToughness,
814                    display: AttributeModifierDisplay::Default,
815                    modifier: AttributeModifier {
816                        id: "minecraft:armor.helmet".into(),
817                        amount: 0.0,
818                        operation: AttributeModifierOperation::AddValue,
819                    },
820                },
821            ],
822            ItemKind::GoldenHoe => vec![
823                AttributeModifiersEntry {
824                    slot: EquipmentSlotGroup::Mainhand,
825                    kind: Attribute::AttackDamage,
826                    display: AttributeModifierDisplay::Default,
827                    modifier: AttributeModifier {
828                        id: "minecraft:base_attack_damage".into(),
829                        amount: 0.0,
830                        operation: AttributeModifierOperation::AddValue,
831                    },
832                },
833                AttributeModifiersEntry {
834                    slot: EquipmentSlotGroup::Mainhand,
835                    kind: Attribute::AttackSpeed,
836                    display: AttributeModifierDisplay::Default,
837                    modifier: AttributeModifier {
838                        id: "minecraft:base_attack_speed".into(),
839                        amount: -3.0,
840                        operation: AttributeModifierOperation::AddValue,
841                    },
842                },
843            ],
844            ItemKind::GoldenHorseArmor => vec![
845                AttributeModifiersEntry {
846                    slot: EquipmentSlotGroup::Body,
847                    kind: Attribute::Armor,
848                    display: AttributeModifierDisplay::Default,
849                    modifier: AttributeModifier {
850                        id: "minecraft:armor.body".into(),
851                        amount: 7.0,
852                        operation: AttributeModifierOperation::AddValue,
853                    },
854                },
855                AttributeModifiersEntry {
856                    slot: EquipmentSlotGroup::Body,
857                    kind: Attribute::ArmorToughness,
858                    display: AttributeModifierDisplay::Default,
859                    modifier: AttributeModifier {
860                        id: "minecraft:armor.body".into(),
861                        amount: 0.0,
862                        operation: AttributeModifierOperation::AddValue,
863                    },
864                },
865            ],
866            ItemKind::GoldenLeggings => vec![
867                AttributeModifiersEntry {
868                    slot: EquipmentSlotGroup::Legs,
869                    kind: Attribute::Armor,
870                    display: AttributeModifierDisplay::Default,
871                    modifier: AttributeModifier {
872                        id: "minecraft:armor.leggings".into(),
873                        amount: 3.0,
874                        operation: AttributeModifierOperation::AddValue,
875                    },
876                },
877                AttributeModifiersEntry {
878                    slot: EquipmentSlotGroup::Legs,
879                    kind: Attribute::ArmorToughness,
880                    display: AttributeModifierDisplay::Default,
881                    modifier: AttributeModifier {
882                        id: "minecraft:armor.leggings".into(),
883                        amount: 0.0,
884                        operation: AttributeModifierOperation::AddValue,
885                    },
886                },
887            ],
888            ItemKind::GoldenNautilusArmor => vec![
889                AttributeModifiersEntry {
890                    slot: EquipmentSlotGroup::Body,
891                    kind: Attribute::Armor,
892                    display: AttributeModifierDisplay::Default,
893                    modifier: AttributeModifier {
894                        id: "minecraft:armor.body".into(),
895                        amount: 7.0,
896                        operation: AttributeModifierOperation::AddValue,
897                    },
898                },
899                AttributeModifiersEntry {
900                    slot: EquipmentSlotGroup::Body,
901                    kind: Attribute::ArmorToughness,
902                    display: AttributeModifierDisplay::Default,
903                    modifier: AttributeModifier {
904                        id: "minecraft:armor.body".into(),
905                        amount: 0.0,
906                        operation: AttributeModifierOperation::AddValue,
907                    },
908                },
909            ],
910            ItemKind::GoldenPickaxe => vec![
911                AttributeModifiersEntry {
912                    slot: EquipmentSlotGroup::Mainhand,
913                    kind: Attribute::AttackDamage,
914                    display: AttributeModifierDisplay::Default,
915                    modifier: AttributeModifier {
916                        id: "minecraft:base_attack_damage".into(),
917                        amount: 1.0,
918                        operation: AttributeModifierOperation::AddValue,
919                    },
920                },
921                AttributeModifiersEntry {
922                    slot: EquipmentSlotGroup::Mainhand,
923                    kind: Attribute::AttackSpeed,
924                    display: AttributeModifierDisplay::Default,
925                    modifier: AttributeModifier {
926                        id: "minecraft:base_attack_speed".into(),
927                        amount: -2.799999952316284,
928                        operation: AttributeModifierOperation::AddValue,
929                    },
930                },
931            ],
932            ItemKind::GoldenShovel => vec![
933                AttributeModifiersEntry {
934                    slot: EquipmentSlotGroup::Mainhand,
935                    kind: Attribute::AttackDamage,
936                    display: AttributeModifierDisplay::Default,
937                    modifier: AttributeModifier {
938                        id: "minecraft:base_attack_damage".into(),
939                        amount: 1.5,
940                        operation: AttributeModifierOperation::AddValue,
941                    },
942                },
943                AttributeModifiersEntry {
944                    slot: EquipmentSlotGroup::Mainhand,
945                    kind: Attribute::AttackSpeed,
946                    display: AttributeModifierDisplay::Default,
947                    modifier: AttributeModifier {
948                        id: "minecraft:base_attack_speed".into(),
949                        amount: -3.0,
950                        operation: AttributeModifierOperation::AddValue,
951                    },
952                },
953            ],
954            ItemKind::GoldenSpear => vec![
955                AttributeModifiersEntry {
956                    slot: EquipmentSlotGroup::Mainhand,
957                    kind: Attribute::AttackDamage,
958                    display: AttributeModifierDisplay::Default,
959                    modifier: AttributeModifier {
960                        id: "minecraft:base_attack_damage".into(),
961                        amount: 0.0,
962                        operation: AttributeModifierOperation::AddValue,
963                    },
964                },
965                AttributeModifiersEntry {
966                    slot: EquipmentSlotGroup::Mainhand,
967                    kind: Attribute::AttackSpeed,
968                    display: AttributeModifierDisplay::Default,
969                    modifier: AttributeModifier {
970                        id: "minecraft:base_attack_speed".into(),
971                        amount: -2.9473683834075928,
972                        operation: AttributeModifierOperation::AddValue,
973                    },
974                },
975            ],
976            ItemKind::GoldenSword => vec![
977                AttributeModifiersEntry {
978                    slot: EquipmentSlotGroup::Mainhand,
979                    kind: Attribute::AttackDamage,
980                    display: AttributeModifierDisplay::Default,
981                    modifier: AttributeModifier {
982                        id: "minecraft:base_attack_damage".into(),
983                        amount: 3.0,
984                        operation: AttributeModifierOperation::AddValue,
985                    },
986                },
987                AttributeModifiersEntry {
988                    slot: EquipmentSlotGroup::Mainhand,
989                    kind: Attribute::AttackSpeed,
990                    display: AttributeModifierDisplay::Default,
991                    modifier: AttributeModifier {
992                        id: "minecraft:base_attack_speed".into(),
993                        amount: -2.4000000953674316,
994                        operation: AttributeModifierOperation::AddValue,
995                    },
996                },
997            ],
998            ItemKind::IronAxe => vec![
999                AttributeModifiersEntry {
1000                    slot: EquipmentSlotGroup::Mainhand,
1001                    kind: Attribute::AttackDamage,
1002                    display: AttributeModifierDisplay::Default,
1003                    modifier: AttributeModifier {
1004                        id: "minecraft:base_attack_damage".into(),
1005                        amount: 8.0,
1006                        operation: AttributeModifierOperation::AddValue,
1007                    },
1008                },
1009                AttributeModifiersEntry {
1010                    slot: EquipmentSlotGroup::Mainhand,
1011                    kind: Attribute::AttackSpeed,
1012                    display: AttributeModifierDisplay::Default,
1013                    modifier: AttributeModifier {
1014                        id: "minecraft:base_attack_speed".into(),
1015                        amount: -3.0999999046325684,
1016                        operation: AttributeModifierOperation::AddValue,
1017                    },
1018                },
1019            ],
1020            ItemKind::IronBoots => vec![
1021                AttributeModifiersEntry {
1022                    slot: EquipmentSlotGroup::Feet,
1023                    kind: Attribute::Armor,
1024                    display: AttributeModifierDisplay::Default,
1025                    modifier: AttributeModifier {
1026                        id: "minecraft:armor.boots".into(),
1027                        amount: 2.0,
1028                        operation: AttributeModifierOperation::AddValue,
1029                    },
1030                },
1031                AttributeModifiersEntry {
1032                    slot: EquipmentSlotGroup::Feet,
1033                    kind: Attribute::ArmorToughness,
1034                    display: AttributeModifierDisplay::Default,
1035                    modifier: AttributeModifier {
1036                        id: "minecraft:armor.boots".into(),
1037                        amount: 0.0,
1038                        operation: AttributeModifierOperation::AddValue,
1039                    },
1040                },
1041            ],
1042            ItemKind::IronChestplate => vec![
1043                AttributeModifiersEntry {
1044                    slot: EquipmentSlotGroup::Chest,
1045                    kind: Attribute::Armor,
1046                    display: AttributeModifierDisplay::Default,
1047                    modifier: AttributeModifier {
1048                        id: "minecraft:armor.chestplate".into(),
1049                        amount: 6.0,
1050                        operation: AttributeModifierOperation::AddValue,
1051                    },
1052                },
1053                AttributeModifiersEntry {
1054                    slot: EquipmentSlotGroup::Chest,
1055                    kind: Attribute::ArmorToughness,
1056                    display: AttributeModifierDisplay::Default,
1057                    modifier: AttributeModifier {
1058                        id: "minecraft:armor.chestplate".into(),
1059                        amount: 0.0,
1060                        operation: AttributeModifierOperation::AddValue,
1061                    },
1062                },
1063            ],
1064            ItemKind::IronHelmet => vec![
1065                AttributeModifiersEntry {
1066                    slot: EquipmentSlotGroup::Head,
1067                    kind: Attribute::Armor,
1068                    display: AttributeModifierDisplay::Default,
1069                    modifier: AttributeModifier {
1070                        id: "minecraft:armor.helmet".into(),
1071                        amount: 2.0,
1072                        operation: AttributeModifierOperation::AddValue,
1073                    },
1074                },
1075                AttributeModifiersEntry {
1076                    slot: EquipmentSlotGroup::Head,
1077                    kind: Attribute::ArmorToughness,
1078                    display: AttributeModifierDisplay::Default,
1079                    modifier: AttributeModifier {
1080                        id: "minecraft:armor.helmet".into(),
1081                        amount: 0.0,
1082                        operation: AttributeModifierOperation::AddValue,
1083                    },
1084                },
1085            ],
1086            ItemKind::IronHoe => vec![
1087                AttributeModifiersEntry {
1088                    slot: EquipmentSlotGroup::Mainhand,
1089                    kind: Attribute::AttackDamage,
1090                    display: AttributeModifierDisplay::Default,
1091                    modifier: AttributeModifier {
1092                        id: "minecraft:base_attack_damage".into(),
1093                        amount: 0.0,
1094                        operation: AttributeModifierOperation::AddValue,
1095                    },
1096                },
1097                AttributeModifiersEntry {
1098                    slot: EquipmentSlotGroup::Mainhand,
1099                    kind: Attribute::AttackSpeed,
1100                    display: AttributeModifierDisplay::Default,
1101                    modifier: AttributeModifier {
1102                        id: "minecraft:base_attack_speed".into(),
1103                        amount: -1.0,
1104                        operation: AttributeModifierOperation::AddValue,
1105                    },
1106                },
1107            ],
1108            ItemKind::IronHorseArmor => vec![
1109                AttributeModifiersEntry {
1110                    slot: EquipmentSlotGroup::Body,
1111                    kind: Attribute::Armor,
1112                    display: AttributeModifierDisplay::Default,
1113                    modifier: AttributeModifier {
1114                        id: "minecraft:armor.body".into(),
1115                        amount: 5.0,
1116                        operation: AttributeModifierOperation::AddValue,
1117                    },
1118                },
1119                AttributeModifiersEntry {
1120                    slot: EquipmentSlotGroup::Body,
1121                    kind: Attribute::ArmorToughness,
1122                    display: AttributeModifierDisplay::Default,
1123                    modifier: AttributeModifier {
1124                        id: "minecraft:armor.body".into(),
1125                        amount: 0.0,
1126                        operation: AttributeModifierOperation::AddValue,
1127                    },
1128                },
1129            ],
1130            ItemKind::IronLeggings => vec![
1131                AttributeModifiersEntry {
1132                    slot: EquipmentSlotGroup::Legs,
1133                    kind: Attribute::Armor,
1134                    display: AttributeModifierDisplay::Default,
1135                    modifier: AttributeModifier {
1136                        id: "minecraft:armor.leggings".into(),
1137                        amount: 5.0,
1138                        operation: AttributeModifierOperation::AddValue,
1139                    },
1140                },
1141                AttributeModifiersEntry {
1142                    slot: EquipmentSlotGroup::Legs,
1143                    kind: Attribute::ArmorToughness,
1144                    display: AttributeModifierDisplay::Default,
1145                    modifier: AttributeModifier {
1146                        id: "minecraft:armor.leggings".into(),
1147                        amount: 0.0,
1148                        operation: AttributeModifierOperation::AddValue,
1149                    },
1150                },
1151            ],
1152            ItemKind::IronNautilusArmor => vec![
1153                AttributeModifiersEntry {
1154                    slot: EquipmentSlotGroup::Body,
1155                    kind: Attribute::Armor,
1156                    display: AttributeModifierDisplay::Default,
1157                    modifier: AttributeModifier {
1158                        id: "minecraft:armor.body".into(),
1159                        amount: 5.0,
1160                        operation: AttributeModifierOperation::AddValue,
1161                    },
1162                },
1163                AttributeModifiersEntry {
1164                    slot: EquipmentSlotGroup::Body,
1165                    kind: Attribute::ArmorToughness,
1166                    display: AttributeModifierDisplay::Default,
1167                    modifier: AttributeModifier {
1168                        id: "minecraft:armor.body".into(),
1169                        amount: 0.0,
1170                        operation: AttributeModifierOperation::AddValue,
1171                    },
1172                },
1173            ],
1174            ItemKind::IronPickaxe => vec![
1175                AttributeModifiersEntry {
1176                    slot: EquipmentSlotGroup::Mainhand,
1177                    kind: Attribute::AttackDamage,
1178                    display: AttributeModifierDisplay::Default,
1179                    modifier: AttributeModifier {
1180                        id: "minecraft:base_attack_damage".into(),
1181                        amount: 3.0,
1182                        operation: AttributeModifierOperation::AddValue,
1183                    },
1184                },
1185                AttributeModifiersEntry {
1186                    slot: EquipmentSlotGroup::Mainhand,
1187                    kind: Attribute::AttackSpeed,
1188                    display: AttributeModifierDisplay::Default,
1189                    modifier: AttributeModifier {
1190                        id: "minecraft:base_attack_speed".into(),
1191                        amount: -2.799999952316284,
1192                        operation: AttributeModifierOperation::AddValue,
1193                    },
1194                },
1195            ],
1196            ItemKind::IronShovel => vec![
1197                AttributeModifiersEntry {
1198                    slot: EquipmentSlotGroup::Mainhand,
1199                    kind: Attribute::AttackDamage,
1200                    display: AttributeModifierDisplay::Default,
1201                    modifier: AttributeModifier {
1202                        id: "minecraft:base_attack_damage".into(),
1203                        amount: 3.5,
1204                        operation: AttributeModifierOperation::AddValue,
1205                    },
1206                },
1207                AttributeModifiersEntry {
1208                    slot: EquipmentSlotGroup::Mainhand,
1209                    kind: Attribute::AttackSpeed,
1210                    display: AttributeModifierDisplay::Default,
1211                    modifier: AttributeModifier {
1212                        id: "minecraft:base_attack_speed".into(),
1213                        amount: -3.0,
1214                        operation: AttributeModifierOperation::AddValue,
1215                    },
1216                },
1217            ],
1218            ItemKind::IronSpear => vec![
1219                AttributeModifiersEntry {
1220                    slot: EquipmentSlotGroup::Mainhand,
1221                    kind: Attribute::AttackDamage,
1222                    display: AttributeModifierDisplay::Default,
1223                    modifier: AttributeModifier {
1224                        id: "minecraft:base_attack_damage".into(),
1225                        amount: 2.0,
1226                        operation: AttributeModifierOperation::AddValue,
1227                    },
1228                },
1229                AttributeModifiersEntry {
1230                    slot: EquipmentSlotGroup::Mainhand,
1231                    kind: Attribute::AttackSpeed,
1232                    display: AttributeModifierDisplay::Default,
1233                    modifier: AttributeModifier {
1234                        id: "minecraft:base_attack_speed".into(),
1235                        amount: -2.9473683834075928,
1236                        operation: AttributeModifierOperation::AddValue,
1237                    },
1238                },
1239            ],
1240            ItemKind::IronSword => vec![
1241                AttributeModifiersEntry {
1242                    slot: EquipmentSlotGroup::Mainhand,
1243                    kind: Attribute::AttackDamage,
1244                    display: AttributeModifierDisplay::Default,
1245                    modifier: AttributeModifier {
1246                        id: "minecraft:base_attack_damage".into(),
1247                        amount: 5.0,
1248                        operation: AttributeModifierOperation::AddValue,
1249                    },
1250                },
1251                AttributeModifiersEntry {
1252                    slot: EquipmentSlotGroup::Mainhand,
1253                    kind: Attribute::AttackSpeed,
1254                    display: AttributeModifierDisplay::Default,
1255                    modifier: AttributeModifier {
1256                        id: "minecraft:base_attack_speed".into(),
1257                        amount: -2.4000000953674316,
1258                        operation: AttributeModifierOperation::AddValue,
1259                    },
1260                },
1261            ],
1262            ItemKind::LeatherBoots => vec![
1263                AttributeModifiersEntry {
1264                    slot: EquipmentSlotGroup::Feet,
1265                    kind: Attribute::Armor,
1266                    display: AttributeModifierDisplay::Default,
1267                    modifier: AttributeModifier {
1268                        id: "minecraft:armor.boots".into(),
1269                        amount: 1.0,
1270                        operation: AttributeModifierOperation::AddValue,
1271                    },
1272                },
1273                AttributeModifiersEntry {
1274                    slot: EquipmentSlotGroup::Feet,
1275                    kind: Attribute::ArmorToughness,
1276                    display: AttributeModifierDisplay::Default,
1277                    modifier: AttributeModifier {
1278                        id: "minecraft:armor.boots".into(),
1279                        amount: 0.0,
1280                        operation: AttributeModifierOperation::AddValue,
1281                    },
1282                },
1283            ],
1284            ItemKind::LeatherChestplate => vec![
1285                AttributeModifiersEntry {
1286                    slot: EquipmentSlotGroup::Chest,
1287                    kind: Attribute::Armor,
1288                    display: AttributeModifierDisplay::Default,
1289                    modifier: AttributeModifier {
1290                        id: "minecraft:armor.chestplate".into(),
1291                        amount: 3.0,
1292                        operation: AttributeModifierOperation::AddValue,
1293                    },
1294                },
1295                AttributeModifiersEntry {
1296                    slot: EquipmentSlotGroup::Chest,
1297                    kind: Attribute::ArmorToughness,
1298                    display: AttributeModifierDisplay::Default,
1299                    modifier: AttributeModifier {
1300                        id: "minecraft:armor.chestplate".into(),
1301                        amount: 0.0,
1302                        operation: AttributeModifierOperation::AddValue,
1303                    },
1304                },
1305            ],
1306            ItemKind::LeatherHelmet => vec![
1307                AttributeModifiersEntry {
1308                    slot: EquipmentSlotGroup::Head,
1309                    kind: Attribute::Armor,
1310                    display: AttributeModifierDisplay::Default,
1311                    modifier: AttributeModifier {
1312                        id: "minecraft:armor.helmet".into(),
1313                        amount: 1.0,
1314                        operation: AttributeModifierOperation::AddValue,
1315                    },
1316                },
1317                AttributeModifiersEntry {
1318                    slot: EquipmentSlotGroup::Head,
1319                    kind: Attribute::ArmorToughness,
1320                    display: AttributeModifierDisplay::Default,
1321                    modifier: AttributeModifier {
1322                        id: "minecraft:armor.helmet".into(),
1323                        amount: 0.0,
1324                        operation: AttributeModifierOperation::AddValue,
1325                    },
1326                },
1327            ],
1328            ItemKind::LeatherHorseArmor => vec![
1329                AttributeModifiersEntry {
1330                    slot: EquipmentSlotGroup::Body,
1331                    kind: Attribute::Armor,
1332                    display: AttributeModifierDisplay::Default,
1333                    modifier: AttributeModifier {
1334                        id: "minecraft:armor.body".into(),
1335                        amount: 3.0,
1336                        operation: AttributeModifierOperation::AddValue,
1337                    },
1338                },
1339                AttributeModifiersEntry {
1340                    slot: EquipmentSlotGroup::Body,
1341                    kind: Attribute::ArmorToughness,
1342                    display: AttributeModifierDisplay::Default,
1343                    modifier: AttributeModifier {
1344                        id: "minecraft:armor.body".into(),
1345                        amount: 0.0,
1346                        operation: AttributeModifierOperation::AddValue,
1347                    },
1348                },
1349            ],
1350            ItemKind::LeatherLeggings => vec![
1351                AttributeModifiersEntry {
1352                    slot: EquipmentSlotGroup::Legs,
1353                    kind: Attribute::Armor,
1354                    display: AttributeModifierDisplay::Default,
1355                    modifier: AttributeModifier {
1356                        id: "minecraft:armor.leggings".into(),
1357                        amount: 2.0,
1358                        operation: AttributeModifierOperation::AddValue,
1359                    },
1360                },
1361                AttributeModifiersEntry {
1362                    slot: EquipmentSlotGroup::Legs,
1363                    kind: Attribute::ArmorToughness,
1364                    display: AttributeModifierDisplay::Default,
1365                    modifier: AttributeModifier {
1366                        id: "minecraft:armor.leggings".into(),
1367                        amount: 0.0,
1368                        operation: AttributeModifierOperation::AddValue,
1369                    },
1370                },
1371            ],
1372            ItemKind::Mace => vec![
1373                AttributeModifiersEntry {
1374                    slot: EquipmentSlotGroup::Mainhand,
1375                    kind: Attribute::AttackDamage,
1376                    display: AttributeModifierDisplay::Default,
1377                    modifier: AttributeModifier {
1378                        id: "minecraft:base_attack_damage".into(),
1379                        amount: 5.0,
1380                        operation: AttributeModifierOperation::AddValue,
1381                    },
1382                },
1383                AttributeModifiersEntry {
1384                    slot: EquipmentSlotGroup::Mainhand,
1385                    kind: Attribute::AttackSpeed,
1386                    display: AttributeModifierDisplay::Default,
1387                    modifier: AttributeModifier {
1388                        id: "minecraft:base_attack_speed".into(),
1389                        amount: -3.4000000953674316,
1390                        operation: AttributeModifierOperation::AddValue,
1391                    },
1392                },
1393            ],
1394            ItemKind::NetheriteAxe => vec![
1395                AttributeModifiersEntry {
1396                    slot: EquipmentSlotGroup::Mainhand,
1397                    kind: Attribute::AttackDamage,
1398                    display: AttributeModifierDisplay::Default,
1399                    modifier: AttributeModifier {
1400                        id: "minecraft:base_attack_damage".into(),
1401                        amount: 9.0,
1402                        operation: AttributeModifierOperation::AddValue,
1403                    },
1404                },
1405                AttributeModifiersEntry {
1406                    slot: EquipmentSlotGroup::Mainhand,
1407                    kind: Attribute::AttackSpeed,
1408                    display: AttributeModifierDisplay::Default,
1409                    modifier: AttributeModifier {
1410                        id: "minecraft:base_attack_speed".into(),
1411                        amount: -3.0,
1412                        operation: AttributeModifierOperation::AddValue,
1413                    },
1414                },
1415            ],
1416            ItemKind::NetheriteBoots => vec![
1417                AttributeModifiersEntry {
1418                    slot: EquipmentSlotGroup::Feet,
1419                    kind: Attribute::Armor,
1420                    display: AttributeModifierDisplay::Default,
1421                    modifier: AttributeModifier {
1422                        id: "minecraft:armor.boots".into(),
1423                        amount: 3.0,
1424                        operation: AttributeModifierOperation::AddValue,
1425                    },
1426                },
1427                AttributeModifiersEntry {
1428                    slot: EquipmentSlotGroup::Feet,
1429                    kind: Attribute::ArmorToughness,
1430                    display: AttributeModifierDisplay::Default,
1431                    modifier: AttributeModifier {
1432                        id: "minecraft:armor.boots".into(),
1433                        amount: 3.0,
1434                        operation: AttributeModifierOperation::AddValue,
1435                    },
1436                },
1437                AttributeModifiersEntry {
1438                    slot: EquipmentSlotGroup::Feet,
1439                    kind: Attribute::KnockbackResistance,
1440                    display: AttributeModifierDisplay::Default,
1441                    modifier: AttributeModifier {
1442                        id: "minecraft:armor.boots".into(),
1443                        amount: 0.10000000149011612,
1444                        operation: AttributeModifierOperation::AddValue,
1445                    },
1446                },
1447            ],
1448            ItemKind::NetheriteChestplate => vec![
1449                AttributeModifiersEntry {
1450                    slot: EquipmentSlotGroup::Chest,
1451                    kind: Attribute::Armor,
1452                    display: AttributeModifierDisplay::Default,
1453                    modifier: AttributeModifier {
1454                        id: "minecraft:armor.chestplate".into(),
1455                        amount: 8.0,
1456                        operation: AttributeModifierOperation::AddValue,
1457                    },
1458                },
1459                AttributeModifiersEntry {
1460                    slot: EquipmentSlotGroup::Chest,
1461                    kind: Attribute::ArmorToughness,
1462                    display: AttributeModifierDisplay::Default,
1463                    modifier: AttributeModifier {
1464                        id: "minecraft:armor.chestplate".into(),
1465                        amount: 3.0,
1466                        operation: AttributeModifierOperation::AddValue,
1467                    },
1468                },
1469                AttributeModifiersEntry {
1470                    slot: EquipmentSlotGroup::Chest,
1471                    kind: Attribute::KnockbackResistance,
1472                    display: AttributeModifierDisplay::Default,
1473                    modifier: AttributeModifier {
1474                        id: "minecraft:armor.chestplate".into(),
1475                        amount: 0.10000000149011612,
1476                        operation: AttributeModifierOperation::AddValue,
1477                    },
1478                },
1479            ],
1480            ItemKind::NetheriteHelmet => vec![
1481                AttributeModifiersEntry {
1482                    slot: EquipmentSlotGroup::Head,
1483                    kind: Attribute::Armor,
1484                    display: AttributeModifierDisplay::Default,
1485                    modifier: AttributeModifier {
1486                        id: "minecraft:armor.helmet".into(),
1487                        amount: 3.0,
1488                        operation: AttributeModifierOperation::AddValue,
1489                    },
1490                },
1491                AttributeModifiersEntry {
1492                    slot: EquipmentSlotGroup::Head,
1493                    kind: Attribute::ArmorToughness,
1494                    display: AttributeModifierDisplay::Default,
1495                    modifier: AttributeModifier {
1496                        id: "minecraft:armor.helmet".into(),
1497                        amount: 3.0,
1498                        operation: AttributeModifierOperation::AddValue,
1499                    },
1500                },
1501                AttributeModifiersEntry {
1502                    slot: EquipmentSlotGroup::Head,
1503                    kind: Attribute::KnockbackResistance,
1504                    display: AttributeModifierDisplay::Default,
1505                    modifier: AttributeModifier {
1506                        id: "minecraft:armor.helmet".into(),
1507                        amount: 0.10000000149011612,
1508                        operation: AttributeModifierOperation::AddValue,
1509                    },
1510                },
1511            ],
1512            ItemKind::NetheriteHoe => vec![
1513                AttributeModifiersEntry {
1514                    slot: EquipmentSlotGroup::Mainhand,
1515                    kind: Attribute::AttackDamage,
1516                    display: AttributeModifierDisplay::Default,
1517                    modifier: AttributeModifier {
1518                        id: "minecraft:base_attack_damage".into(),
1519                        amount: 0.0,
1520                        operation: AttributeModifierOperation::AddValue,
1521                    },
1522                },
1523                AttributeModifiersEntry {
1524                    slot: EquipmentSlotGroup::Mainhand,
1525                    kind: Attribute::AttackSpeed,
1526                    display: AttributeModifierDisplay::Default,
1527                    modifier: AttributeModifier {
1528                        id: "minecraft:base_attack_speed".into(),
1529                        amount: 0.0,
1530                        operation: AttributeModifierOperation::AddValue,
1531                    },
1532                },
1533            ],
1534            ItemKind::NetheriteHorseArmor => vec![
1535                AttributeModifiersEntry {
1536                    slot: EquipmentSlotGroup::Body,
1537                    kind: Attribute::Armor,
1538                    display: AttributeModifierDisplay::Default,
1539                    modifier: AttributeModifier {
1540                        id: "minecraft:armor.body".into(),
1541                        amount: 19.0,
1542                        operation: AttributeModifierOperation::AddValue,
1543                    },
1544                },
1545                AttributeModifiersEntry {
1546                    slot: EquipmentSlotGroup::Body,
1547                    kind: Attribute::ArmorToughness,
1548                    display: AttributeModifierDisplay::Default,
1549                    modifier: AttributeModifier {
1550                        id: "minecraft:armor.body".into(),
1551                        amount: 3.0,
1552                        operation: AttributeModifierOperation::AddValue,
1553                    },
1554                },
1555                AttributeModifiersEntry {
1556                    slot: EquipmentSlotGroup::Body,
1557                    kind: Attribute::KnockbackResistance,
1558                    display: AttributeModifierDisplay::Default,
1559                    modifier: AttributeModifier {
1560                        id: "minecraft:armor.body".into(),
1561                        amount: 0.10000000149011612,
1562                        operation: AttributeModifierOperation::AddValue,
1563                    },
1564                },
1565            ],
1566            ItemKind::NetheriteLeggings => vec![
1567                AttributeModifiersEntry {
1568                    slot: EquipmentSlotGroup::Legs,
1569                    kind: Attribute::Armor,
1570                    display: AttributeModifierDisplay::Default,
1571                    modifier: AttributeModifier {
1572                        id: "minecraft:armor.leggings".into(),
1573                        amount: 6.0,
1574                        operation: AttributeModifierOperation::AddValue,
1575                    },
1576                },
1577                AttributeModifiersEntry {
1578                    slot: EquipmentSlotGroup::Legs,
1579                    kind: Attribute::ArmorToughness,
1580                    display: AttributeModifierDisplay::Default,
1581                    modifier: AttributeModifier {
1582                        id: "minecraft:armor.leggings".into(),
1583                        amount: 3.0,
1584                        operation: AttributeModifierOperation::AddValue,
1585                    },
1586                },
1587                AttributeModifiersEntry {
1588                    slot: EquipmentSlotGroup::Legs,
1589                    kind: Attribute::KnockbackResistance,
1590                    display: AttributeModifierDisplay::Default,
1591                    modifier: AttributeModifier {
1592                        id: "minecraft:armor.leggings".into(),
1593                        amount: 0.10000000149011612,
1594                        operation: AttributeModifierOperation::AddValue,
1595                    },
1596                },
1597            ],
1598            ItemKind::NetheriteNautilusArmor => vec![
1599                AttributeModifiersEntry {
1600                    slot: EquipmentSlotGroup::Body,
1601                    kind: Attribute::Armor,
1602                    display: AttributeModifierDisplay::Default,
1603                    modifier: AttributeModifier {
1604                        id: "minecraft:armor.body".into(),
1605                        amount: 19.0,
1606                        operation: AttributeModifierOperation::AddValue,
1607                    },
1608                },
1609                AttributeModifiersEntry {
1610                    slot: EquipmentSlotGroup::Body,
1611                    kind: Attribute::ArmorToughness,
1612                    display: AttributeModifierDisplay::Default,
1613                    modifier: AttributeModifier {
1614                        id: "minecraft:armor.body".into(),
1615                        amount: 3.0,
1616                        operation: AttributeModifierOperation::AddValue,
1617                    },
1618                },
1619                AttributeModifiersEntry {
1620                    slot: EquipmentSlotGroup::Body,
1621                    kind: Attribute::KnockbackResistance,
1622                    display: AttributeModifierDisplay::Default,
1623                    modifier: AttributeModifier {
1624                        id: "minecraft:armor.body".into(),
1625                        amount: 0.10000000149011612,
1626                        operation: AttributeModifierOperation::AddValue,
1627                    },
1628                },
1629            ],
1630            ItemKind::NetheritePickaxe => vec![
1631                AttributeModifiersEntry {
1632                    slot: EquipmentSlotGroup::Mainhand,
1633                    kind: Attribute::AttackDamage,
1634                    display: AttributeModifierDisplay::Default,
1635                    modifier: AttributeModifier {
1636                        id: "minecraft:base_attack_damage".into(),
1637                        amount: 5.0,
1638                        operation: AttributeModifierOperation::AddValue,
1639                    },
1640                },
1641                AttributeModifiersEntry {
1642                    slot: EquipmentSlotGroup::Mainhand,
1643                    kind: Attribute::AttackSpeed,
1644                    display: AttributeModifierDisplay::Default,
1645                    modifier: AttributeModifier {
1646                        id: "minecraft:base_attack_speed".into(),
1647                        amount: -2.799999952316284,
1648                        operation: AttributeModifierOperation::AddValue,
1649                    },
1650                },
1651            ],
1652            ItemKind::NetheriteShovel => vec![
1653                AttributeModifiersEntry {
1654                    slot: EquipmentSlotGroup::Mainhand,
1655                    kind: Attribute::AttackDamage,
1656                    display: AttributeModifierDisplay::Default,
1657                    modifier: AttributeModifier {
1658                        id: "minecraft:base_attack_damage".into(),
1659                        amount: 5.5,
1660                        operation: AttributeModifierOperation::AddValue,
1661                    },
1662                },
1663                AttributeModifiersEntry {
1664                    slot: EquipmentSlotGroup::Mainhand,
1665                    kind: Attribute::AttackSpeed,
1666                    display: AttributeModifierDisplay::Default,
1667                    modifier: AttributeModifier {
1668                        id: "minecraft:base_attack_speed".into(),
1669                        amount: -3.0,
1670                        operation: AttributeModifierOperation::AddValue,
1671                    },
1672                },
1673            ],
1674            ItemKind::NetheriteSpear => vec![
1675                AttributeModifiersEntry {
1676                    slot: EquipmentSlotGroup::Mainhand,
1677                    kind: Attribute::AttackDamage,
1678                    display: AttributeModifierDisplay::Default,
1679                    modifier: AttributeModifier {
1680                        id: "minecraft:base_attack_damage".into(),
1681                        amount: 4.0,
1682                        operation: AttributeModifierOperation::AddValue,
1683                    },
1684                },
1685                AttributeModifiersEntry {
1686                    slot: EquipmentSlotGroup::Mainhand,
1687                    kind: Attribute::AttackSpeed,
1688                    display: AttributeModifierDisplay::Default,
1689                    modifier: AttributeModifier {
1690                        id: "minecraft:base_attack_speed".into(),
1691                        amount: -3.13043475151062,
1692                        operation: AttributeModifierOperation::AddValue,
1693                    },
1694                },
1695            ],
1696            ItemKind::NetheriteSword => vec![
1697                AttributeModifiersEntry {
1698                    slot: EquipmentSlotGroup::Mainhand,
1699                    kind: Attribute::AttackDamage,
1700                    display: AttributeModifierDisplay::Default,
1701                    modifier: AttributeModifier {
1702                        id: "minecraft:base_attack_damage".into(),
1703                        amount: 7.0,
1704                        operation: AttributeModifierOperation::AddValue,
1705                    },
1706                },
1707                AttributeModifiersEntry {
1708                    slot: EquipmentSlotGroup::Mainhand,
1709                    kind: Attribute::AttackSpeed,
1710                    display: AttributeModifierDisplay::Default,
1711                    modifier: AttributeModifier {
1712                        id: "minecraft:base_attack_speed".into(),
1713                        amount: -2.4000000953674316,
1714                        operation: AttributeModifierOperation::AddValue,
1715                    },
1716                },
1717            ],
1718            ItemKind::PiglinHead => vec![AttributeModifiersEntry {
1719                display: AttributeModifierDisplay::Hidden,
1720                slot: EquipmentSlotGroup::Head,
1721                kind: Attribute::WaypointTransmitRange,
1722                modifier: AttributeModifier {
1723                    id: "minecraft:waypoint_transmit_range_hide".into(),
1724                    amount: -1.0,
1725                    operation: AttributeModifierOperation::AddMultipliedTotal,
1726                },
1727            }],
1728            ItemKind::PlayerHead => vec![AttributeModifiersEntry {
1729                display: AttributeModifierDisplay::Hidden,
1730                slot: EquipmentSlotGroup::Head,
1731                kind: Attribute::WaypointTransmitRange,
1732                modifier: AttributeModifier {
1733                    id: "minecraft:waypoint_transmit_range_hide".into(),
1734                    amount: -1.0,
1735                    operation: AttributeModifierOperation::AddMultipliedTotal,
1736                },
1737            }],
1738            ItemKind::SkeletonSkull => vec![AttributeModifiersEntry {
1739                display: AttributeModifierDisplay::Hidden,
1740                slot: EquipmentSlotGroup::Head,
1741                kind: Attribute::WaypointTransmitRange,
1742                modifier: AttributeModifier {
1743                    id: "minecraft:waypoint_transmit_range_hide".into(),
1744                    amount: -1.0,
1745                    operation: AttributeModifierOperation::AddMultipliedTotal,
1746                },
1747            }],
1748            ItemKind::StoneAxe => vec![
1749                AttributeModifiersEntry {
1750                    slot: EquipmentSlotGroup::Mainhand,
1751                    kind: Attribute::AttackDamage,
1752                    display: AttributeModifierDisplay::Default,
1753                    modifier: AttributeModifier {
1754                        id: "minecraft:base_attack_damage".into(),
1755                        amount: 8.0,
1756                        operation: AttributeModifierOperation::AddValue,
1757                    },
1758                },
1759                AttributeModifiersEntry {
1760                    slot: EquipmentSlotGroup::Mainhand,
1761                    kind: Attribute::AttackSpeed,
1762                    display: AttributeModifierDisplay::Default,
1763                    modifier: AttributeModifier {
1764                        id: "minecraft:base_attack_speed".into(),
1765                        amount: -3.200000047683716,
1766                        operation: AttributeModifierOperation::AddValue,
1767                    },
1768                },
1769            ],
1770            ItemKind::StoneHoe => vec![
1771                AttributeModifiersEntry {
1772                    slot: EquipmentSlotGroup::Mainhand,
1773                    kind: Attribute::AttackDamage,
1774                    display: AttributeModifierDisplay::Default,
1775                    modifier: AttributeModifier {
1776                        id: "minecraft:base_attack_damage".into(),
1777                        amount: 0.0,
1778                        operation: AttributeModifierOperation::AddValue,
1779                    },
1780                },
1781                AttributeModifiersEntry {
1782                    slot: EquipmentSlotGroup::Mainhand,
1783                    kind: Attribute::AttackSpeed,
1784                    display: AttributeModifierDisplay::Default,
1785                    modifier: AttributeModifier {
1786                        id: "minecraft:base_attack_speed".into(),
1787                        amount: -2.0,
1788                        operation: AttributeModifierOperation::AddValue,
1789                    },
1790                },
1791            ],
1792            ItemKind::StonePickaxe => vec![
1793                AttributeModifiersEntry {
1794                    slot: EquipmentSlotGroup::Mainhand,
1795                    kind: Attribute::AttackDamage,
1796                    display: AttributeModifierDisplay::Default,
1797                    modifier: AttributeModifier {
1798                        id: "minecraft:base_attack_damage".into(),
1799                        amount: 2.0,
1800                        operation: AttributeModifierOperation::AddValue,
1801                    },
1802                },
1803                AttributeModifiersEntry {
1804                    slot: EquipmentSlotGroup::Mainhand,
1805                    kind: Attribute::AttackSpeed,
1806                    display: AttributeModifierDisplay::Default,
1807                    modifier: AttributeModifier {
1808                        id: "minecraft:base_attack_speed".into(),
1809                        amount: -2.799999952316284,
1810                        operation: AttributeModifierOperation::AddValue,
1811                    },
1812                },
1813            ],
1814            ItemKind::StoneShovel => vec![
1815                AttributeModifiersEntry {
1816                    slot: EquipmentSlotGroup::Mainhand,
1817                    kind: Attribute::AttackDamage,
1818                    display: AttributeModifierDisplay::Default,
1819                    modifier: AttributeModifier {
1820                        id: "minecraft:base_attack_damage".into(),
1821                        amount: 2.5,
1822                        operation: AttributeModifierOperation::AddValue,
1823                    },
1824                },
1825                AttributeModifiersEntry {
1826                    slot: EquipmentSlotGroup::Mainhand,
1827                    kind: Attribute::AttackSpeed,
1828                    display: AttributeModifierDisplay::Default,
1829                    modifier: AttributeModifier {
1830                        id: "minecraft:base_attack_speed".into(),
1831                        amount: -3.0,
1832                        operation: AttributeModifierOperation::AddValue,
1833                    },
1834                },
1835            ],
1836            ItemKind::StoneSpear => vec![
1837                AttributeModifiersEntry {
1838                    slot: EquipmentSlotGroup::Mainhand,
1839                    kind: Attribute::AttackDamage,
1840                    display: AttributeModifierDisplay::Default,
1841                    modifier: AttributeModifier {
1842                        id: "minecraft:base_attack_damage".into(),
1843                        amount: 1.0,
1844                        operation: AttributeModifierOperation::AddValue,
1845                    },
1846                },
1847                AttributeModifiersEntry {
1848                    slot: EquipmentSlotGroup::Mainhand,
1849                    kind: Attribute::AttackSpeed,
1850                    display: AttributeModifierDisplay::Default,
1851                    modifier: AttributeModifier {
1852                        id: "minecraft:base_attack_speed".into(),
1853                        amount: -2.666666626930237,
1854                        operation: AttributeModifierOperation::AddValue,
1855                    },
1856                },
1857            ],
1858            ItemKind::StoneSword => vec![
1859                AttributeModifiersEntry {
1860                    slot: EquipmentSlotGroup::Mainhand,
1861                    kind: Attribute::AttackDamage,
1862                    display: AttributeModifierDisplay::Default,
1863                    modifier: AttributeModifier {
1864                        id: "minecraft:base_attack_damage".into(),
1865                        amount: 4.0,
1866                        operation: AttributeModifierOperation::AddValue,
1867                    },
1868                },
1869                AttributeModifiersEntry {
1870                    slot: EquipmentSlotGroup::Mainhand,
1871                    kind: Attribute::AttackSpeed,
1872                    display: AttributeModifierDisplay::Default,
1873                    modifier: AttributeModifier {
1874                        id: "minecraft:base_attack_speed".into(),
1875                        amount: -2.4000000953674316,
1876                        operation: AttributeModifierOperation::AddValue,
1877                    },
1878                },
1879            ],
1880            ItemKind::Trident => vec![
1881                AttributeModifiersEntry {
1882                    slot: EquipmentSlotGroup::Mainhand,
1883                    kind: Attribute::AttackDamage,
1884                    display: AttributeModifierDisplay::Default,
1885                    modifier: AttributeModifier {
1886                        id: "minecraft:base_attack_damage".into(),
1887                        amount: 8.0,
1888                        operation: AttributeModifierOperation::AddValue,
1889                    },
1890                },
1891                AttributeModifiersEntry {
1892                    slot: EquipmentSlotGroup::Mainhand,
1893                    kind: Attribute::AttackSpeed,
1894                    display: AttributeModifierDisplay::Default,
1895                    modifier: AttributeModifier {
1896                        id: "minecraft:base_attack_speed".into(),
1897                        amount: -2.9000000953674316,
1898                        operation: AttributeModifierOperation::AddValue,
1899                    },
1900                },
1901            ],
1902            ItemKind::TurtleHelmet => vec![
1903                AttributeModifiersEntry {
1904                    slot: EquipmentSlotGroup::Head,
1905                    kind: Attribute::Armor,
1906                    display: AttributeModifierDisplay::Default,
1907                    modifier: AttributeModifier {
1908                        id: "minecraft:armor.helmet".into(),
1909                        amount: 2.0,
1910                        operation: AttributeModifierOperation::AddValue,
1911                    },
1912                },
1913                AttributeModifiersEntry {
1914                    slot: EquipmentSlotGroup::Head,
1915                    kind: Attribute::ArmorToughness,
1916                    display: AttributeModifierDisplay::Default,
1917                    modifier: AttributeModifier {
1918                        id: "minecraft:armor.helmet".into(),
1919                        amount: 0.0,
1920                        operation: AttributeModifierOperation::AddValue,
1921                    },
1922                },
1923            ],
1924            ItemKind::WitherSkeletonSkull => vec![AttributeModifiersEntry {
1925                display: AttributeModifierDisplay::Hidden,
1926                slot: EquipmentSlotGroup::Head,
1927                kind: Attribute::WaypointTransmitRange,
1928                modifier: AttributeModifier {
1929                    id: "minecraft:waypoint_transmit_range_hide".into(),
1930                    amount: -1.0,
1931                    operation: AttributeModifierOperation::AddMultipliedTotal,
1932                },
1933            }],
1934            ItemKind::WolfArmor => vec![
1935                AttributeModifiersEntry {
1936                    slot: EquipmentSlotGroup::Body,
1937                    kind: Attribute::Armor,
1938                    display: AttributeModifierDisplay::Default,
1939                    modifier: AttributeModifier {
1940                        id: "minecraft:armor.body".into(),
1941                        amount: 11.0,
1942                        operation: AttributeModifierOperation::AddValue,
1943                    },
1944                },
1945                AttributeModifiersEntry {
1946                    slot: EquipmentSlotGroup::Body,
1947                    kind: Attribute::ArmorToughness,
1948                    display: AttributeModifierDisplay::Default,
1949                    modifier: AttributeModifier {
1950                        id: "minecraft:armor.body".into(),
1951                        amount: 0.0,
1952                        operation: AttributeModifierOperation::AddValue,
1953                    },
1954                },
1955            ],
1956            ItemKind::WoodenAxe => vec![
1957                AttributeModifiersEntry {
1958                    slot: EquipmentSlotGroup::Mainhand,
1959                    kind: Attribute::AttackDamage,
1960                    display: AttributeModifierDisplay::Default,
1961                    modifier: AttributeModifier {
1962                        id: "minecraft:base_attack_damage".into(),
1963                        amount: 6.0,
1964                        operation: AttributeModifierOperation::AddValue,
1965                    },
1966                },
1967                AttributeModifiersEntry {
1968                    slot: EquipmentSlotGroup::Mainhand,
1969                    kind: Attribute::AttackSpeed,
1970                    display: AttributeModifierDisplay::Default,
1971                    modifier: AttributeModifier {
1972                        id: "minecraft:base_attack_speed".into(),
1973                        amount: -3.200000047683716,
1974                        operation: AttributeModifierOperation::AddValue,
1975                    },
1976                },
1977            ],
1978            ItemKind::WoodenHoe => vec![
1979                AttributeModifiersEntry {
1980                    slot: EquipmentSlotGroup::Mainhand,
1981                    kind: Attribute::AttackDamage,
1982                    display: AttributeModifierDisplay::Default,
1983                    modifier: AttributeModifier {
1984                        id: "minecraft:base_attack_damage".into(),
1985                        amount: 0.0,
1986                        operation: AttributeModifierOperation::AddValue,
1987                    },
1988                },
1989                AttributeModifiersEntry {
1990                    slot: EquipmentSlotGroup::Mainhand,
1991                    kind: Attribute::AttackSpeed,
1992                    display: AttributeModifierDisplay::Default,
1993                    modifier: AttributeModifier {
1994                        id: "minecraft:base_attack_speed".into(),
1995                        amount: -3.0,
1996                        operation: AttributeModifierOperation::AddValue,
1997                    },
1998                },
1999            ],
2000            ItemKind::WoodenPickaxe => vec![
2001                AttributeModifiersEntry {
2002                    slot: EquipmentSlotGroup::Mainhand,
2003                    kind: Attribute::AttackDamage,
2004                    display: AttributeModifierDisplay::Default,
2005                    modifier: AttributeModifier {
2006                        id: "minecraft:base_attack_damage".into(),
2007                        amount: 1.0,
2008                        operation: AttributeModifierOperation::AddValue,
2009                    },
2010                },
2011                AttributeModifiersEntry {
2012                    slot: EquipmentSlotGroup::Mainhand,
2013                    kind: Attribute::AttackSpeed,
2014                    display: AttributeModifierDisplay::Default,
2015                    modifier: AttributeModifier {
2016                        id: "minecraft:base_attack_speed".into(),
2017                        amount: -2.799999952316284,
2018                        operation: AttributeModifierOperation::AddValue,
2019                    },
2020                },
2021            ],
2022            ItemKind::WoodenShovel => vec![
2023                AttributeModifiersEntry {
2024                    slot: EquipmentSlotGroup::Mainhand,
2025                    kind: Attribute::AttackDamage,
2026                    display: AttributeModifierDisplay::Default,
2027                    modifier: AttributeModifier {
2028                        id: "minecraft:base_attack_damage".into(),
2029                        amount: 1.5,
2030                        operation: AttributeModifierOperation::AddValue,
2031                    },
2032                },
2033                AttributeModifiersEntry {
2034                    slot: EquipmentSlotGroup::Mainhand,
2035                    kind: Attribute::AttackSpeed,
2036                    display: AttributeModifierDisplay::Default,
2037                    modifier: AttributeModifier {
2038                        id: "minecraft:base_attack_speed".into(),
2039                        amount: -3.0,
2040                        operation: AttributeModifierOperation::AddValue,
2041                    },
2042                },
2043            ],
2044            ItemKind::WoodenSpear => vec![
2045                AttributeModifiersEntry {
2046                    slot: EquipmentSlotGroup::Mainhand,
2047                    kind: Attribute::AttackDamage,
2048                    display: AttributeModifierDisplay::Default,
2049                    modifier: AttributeModifier {
2050                        id: "minecraft:base_attack_damage".into(),
2051                        amount: 0.0,
2052                        operation: AttributeModifierOperation::AddValue,
2053                    },
2054                },
2055                AttributeModifiersEntry {
2056                    slot: EquipmentSlotGroup::Mainhand,
2057                    kind: Attribute::AttackSpeed,
2058                    display: AttributeModifierDisplay::Default,
2059                    modifier: AttributeModifier {
2060                        id: "minecraft:base_attack_speed".into(),
2061                        amount: -2.4615384340286255,
2062                        operation: AttributeModifierOperation::AddValue,
2063                    },
2064                },
2065            ],
2066            ItemKind::WoodenSword => vec![
2067                AttributeModifiersEntry {
2068                    slot: EquipmentSlotGroup::Mainhand,
2069                    kind: Attribute::AttackDamage,
2070                    display: AttributeModifierDisplay::Default,
2071                    modifier: AttributeModifier {
2072                        id: "minecraft:base_attack_damage".into(),
2073                        amount: 3.0,
2074                        operation: AttributeModifierOperation::AddValue,
2075                    },
2076                },
2077                AttributeModifiersEntry {
2078                    slot: EquipmentSlotGroup::Mainhand,
2079                    kind: Attribute::AttackSpeed,
2080                    display: AttributeModifierDisplay::Default,
2081                    modifier: AttributeModifier {
2082                        id: "minecraft:base_attack_speed".into(),
2083                        amount: -2.4000000953674316,
2084                        operation: AttributeModifierOperation::AddValue,
2085                    },
2086                },
2087            ],
2088            ItemKind::ZombieHead => vec![AttributeModifiersEntry {
2089                display: AttributeModifierDisplay::Hidden,
2090                slot: EquipmentSlotGroup::Head,
2091                kind: Attribute::WaypointTransmitRange,
2092                modifier: AttributeModifier {
2093                    id: "minecraft:waypoint_transmit_range_hide".into(),
2094                    amount: -1.0,
2095                    operation: AttributeModifierOperation::AddMultipliedTotal,
2096                },
2097            }],
2098            _ => vec![],
2099        };
2100        Some(AttributeModifiers { modifiers: value })
2101    }
2102}
2103impl DefaultableComponent for BannerPatterns {
2104    fn default_for_item(item: ItemKind) -> Option<Self> {
2105        let value = match item {
2106            ItemKind::BlackBanner => vec![],
2107            ItemKind::BlueBanner => vec![],
2108            ItemKind::BrownBanner => vec![],
2109            ItemKind::CyanBanner => vec![],
2110            ItemKind::GrayBanner => vec![],
2111            ItemKind::GreenBanner => vec![],
2112            ItemKind::LightBlueBanner => vec![],
2113            ItemKind::LightGrayBanner => vec![],
2114            ItemKind::LimeBanner => vec![],
2115            ItemKind::MagentaBanner => vec![],
2116            ItemKind::OrangeBanner => vec![],
2117            ItemKind::PinkBanner => vec![],
2118            ItemKind::PurpleBanner => vec![],
2119            ItemKind::RedBanner => vec![],
2120            ItemKind::Shield => vec![],
2121            ItemKind::WhiteBanner => vec![],
2122            ItemKind::YellowBanner => vec![],
2123            _ => return None,
2124        };
2125        Some(BannerPatterns { patterns: value })
2126    }
2127}
2128impl DefaultableComponent for Bees {
2129    fn default_for_item(item: ItemKind) -> Option<Self> {
2130        let value = match item {
2131            ItemKind::BeeNest => vec![],
2132            ItemKind::Beehive => vec![],
2133            _ => return None,
2134        };
2135        Some(Bees { occupants: value })
2136    }
2137}
2138impl DefaultableComponent for BlockState {
2139    fn default_for_item(item: ItemKind) -> Option<Self> {
2140        let value = match item {
2141            ItemKind::BeeNest => HashMap::from_iter([("honey_level".to_owned(), "0".to_owned())]),
2142            ItemKind::Beehive => HashMap::from_iter([("honey_level".to_owned(), "0".to_owned())]),
2143            ItemKind::CopperGolemStatue => {
2144                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2145            }
2146            ItemKind::ExposedCopperGolemStatue => {
2147                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2148            }
2149            ItemKind::Light => HashMap::from_iter([("level".to_owned(), "15".to_owned())]),
2150            ItemKind::OxidizedCopperGolemStatue => {
2151                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2152            }
2153            ItemKind::TestBlock => HashMap::from_iter([("mode".to_owned(), "start".to_owned())]),
2154            ItemKind::WaxedCopperGolemStatue => {
2155                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2156            }
2157            ItemKind::WaxedExposedCopperGolemStatue => {
2158                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2159            }
2160            ItemKind::WaxedOxidizedCopperGolemStatue => {
2161                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2162            }
2163            ItemKind::WaxedWeatheredCopperGolemStatue => {
2164                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2165            }
2166            ItemKind::WeatheredCopperGolemStatue => {
2167                HashMap::from_iter([("copper_golem_pose".to_owned(), "standing".to_owned())])
2168            }
2169            _ => return None,
2170        };
2171        Some(BlockState { properties: value })
2172    }
2173}
2174impl DefaultableComponent for BlocksAttacks {
2175    fn default_for_item(item: ItemKind) -> Option<Self> {
2176        let value = match item {
2177            ItemKind::Shield => BlocksAttacks {
2178                block_delay_seconds: 0.25,
2179                block_sound: Some(azalea_registry::Holder::Reference(
2180                    SoundEvent::ItemShieldBlock,
2181                )),
2182                bypassed_by: Some(HolderSet::Direct { contents: vec![] }),
2183                disabled_sound: Some(azalea_registry::Holder::Reference(
2184                    SoundEvent::ItemShieldBreak,
2185                )),
2186                item_damage: ItemDamageFunction {
2187                    base: 1.0,
2188                    factor: 1.0,
2189                    threshold: 3.0,
2190                },
2191                ..BlocksAttacks::new()
2192            },
2193            _ => return None,
2194        };
2195        Some(value)
2196    }
2197}
2198impl DefaultableComponent for BreakSound {
2199    fn default_for_item(item: ItemKind) -> Option<Self> {
2200        let value = match item {
2201            ItemKind::Shield => azalea_registry::Holder::Reference(SoundEvent::ItemShieldBreak),
2202            ItemKind::WolfArmor => {
2203                azalea_registry::Holder::Reference(SoundEvent::ItemWolfArmorBreak)
2204            }
2205            _ => azalea_registry::Holder::Reference(SoundEvent::EntityItemBreak),
2206        };
2207        Some(BreakSound { sound: value })
2208    }
2209}
2210impl DefaultableComponent for BucketEntityData {
2211    fn default_for_item(item: ItemKind) -> Option<Self> {
2212        let value = match item {
2213            ItemKind::AxolotlBucket => NbtCompound::from_values(vec![]),
2214            ItemKind::CodBucket => NbtCompound::from_values(vec![]),
2215            ItemKind::PufferfishBucket => NbtCompound::from_values(vec![]),
2216            ItemKind::SalmonBucket => NbtCompound::from_values(vec![]),
2217            ItemKind::SulfurCubeBucket => NbtCompound::from_values(vec![]),
2218            ItemKind::TadpoleBucket => NbtCompound::from_values(vec![]),
2219            ItemKind::TropicalFishBucket => NbtCompound::from_values(vec![]),
2220            _ => return None,
2221        };
2222        Some(BucketEntityData { entity: value })
2223    }
2224}
2225impl DefaultableComponent for BundleContents {
2226    fn default_for_item(item: ItemKind) -> Option<Self> {
2227        let value = match item {
2228            ItemKind::BlackBundle => vec![],
2229            ItemKind::BlueBundle => vec![],
2230            ItemKind::BrownBundle => vec![],
2231            ItemKind::Bundle => vec![],
2232            ItemKind::CyanBundle => vec![],
2233            ItemKind::GrayBundle => vec![],
2234            ItemKind::GreenBundle => vec![],
2235            ItemKind::LightBlueBundle => vec![],
2236            ItemKind::LightGrayBundle => vec![],
2237            ItemKind::LimeBundle => vec![],
2238            ItemKind::MagentaBundle => vec![],
2239            ItemKind::OrangeBundle => vec![],
2240            ItemKind::PinkBundle => vec![],
2241            ItemKind::PurpleBundle => vec![],
2242            ItemKind::RedBundle => vec![],
2243            ItemKind::WhiteBundle => vec![],
2244            ItemKind::YellowBundle => vec![],
2245            _ => return None,
2246        };
2247        Some(BundleContents { items: value })
2248    }
2249}
2250impl DefaultableComponent for ChargedProjectiles {
2251    fn default_for_item(item: ItemKind) -> Option<Self> {
2252        let value = match item {
2253            ItemKind::Crossbow => vec![],
2254            _ => return None,
2255        };
2256        Some(ChargedProjectiles { items: value })
2257    }
2258}
2259impl DefaultableComponent for ChickenVariant {
2260    fn default_for_item(item: ItemKind) -> Option<Self> {
2261        let value = match item {
2262            ItemKind::BlueEgg => azalea_registry::data::ChickenVariant::new_raw(0),
2263            ItemKind::BrownEgg => azalea_registry::data::ChickenVariant::new_raw(0),
2264            ItemKind::Egg => azalea_registry::data::ChickenVariant::new_raw(0),
2265            _ => return None,
2266        };
2267        Some(ChickenVariant { data: value })
2268    }
2269}
2270impl DefaultableComponent for Consumable {
2271    fn default_for_item(item: ItemKind) -> Option<Self> {
2272        let value = match item {
2273            ItemKind::Apple => Consumable::new(),
2274            ItemKind::BakedPotato => Consumable::new(),
2275            ItemKind::Beef => Consumable::new(),
2276            ItemKind::Beetroot => Consumable::new(),
2277            ItemKind::BeetrootSoup => Consumable::new(),
2278            ItemKind::Bread => Consumable::new(),
2279            ItemKind::Carrot => Consumable::new(),
2280            ItemKind::Chicken => Consumable {
2281                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2282                    effects: vec![MobEffectInstance {
2283                        id: MobEffect::Hunger,
2284                        details: MobEffectDetails {
2285                            duration: 600,
2286                            show_icon: true,
2287                            ..MobEffectDetails::new()
2288                        },
2289                    }],
2290                    probability: 0.3,
2291                }],
2292                ..Consumable::new()
2293            },
2294            ItemKind::ChorusFruit => Consumable {
2295                on_consume_effects: vec![ConsumeEffect::TeleportRandomly { diameter: 16.0 }],
2296                ..Consumable::new()
2297            },
2298            ItemKind::Cod => Consumable::new(),
2299            ItemKind::CookedBeef => Consumable::new(),
2300            ItemKind::CookedChicken => Consumable::new(),
2301            ItemKind::CookedCod => Consumable::new(),
2302            ItemKind::CookedMutton => Consumable::new(),
2303            ItemKind::CookedPorkchop => Consumable::new(),
2304            ItemKind::CookedRabbit => Consumable::new(),
2305            ItemKind::CookedSalmon => Consumable::new(),
2306            ItemKind::Cookie => Consumable::new(),
2307            ItemKind::DriedKelp => Consumable {
2308                consume_seconds: 0.8,
2309                ..Consumable::new()
2310            },
2311            ItemKind::EnchantedGoldenApple => Consumable {
2312                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2313                    effects: vec![
2314                        MobEffectInstance {
2315                            id: MobEffect::Regeneration,
2316                            details: MobEffectDetails {
2317                                amplifier: 1,
2318                                duration: 400,
2319                                show_icon: true,
2320                                ..MobEffectDetails::new()
2321                            },
2322                        },
2323                        MobEffectInstance {
2324                            id: MobEffect::Resistance,
2325                            details: MobEffectDetails {
2326                                duration: 6000,
2327                                show_icon: true,
2328                                ..MobEffectDetails::new()
2329                            },
2330                        },
2331                        MobEffectInstance {
2332                            id: MobEffect::FireResistance,
2333                            details: MobEffectDetails {
2334                                duration: 6000,
2335                                show_icon: true,
2336                                ..MobEffectDetails::new()
2337                            },
2338                        },
2339                        MobEffectInstance {
2340                            id: MobEffect::Absorption,
2341                            details: MobEffectDetails {
2342                                amplifier: 3,
2343                                duration: 2400,
2344                                show_icon: true,
2345                                ..MobEffectDetails::new()
2346                            },
2347                        },
2348                    ],
2349                    probability: 1.0,
2350                }],
2351                ..Consumable::new()
2352            },
2353            ItemKind::GlowBerries => Consumable::new(),
2354            ItemKind::GoldenApple => Consumable {
2355                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2356                    effects: vec![
2357                        MobEffectInstance {
2358                            id: MobEffect::Regeneration,
2359                            details: MobEffectDetails {
2360                                amplifier: 1,
2361                                duration: 100,
2362                                show_icon: true,
2363                                ..MobEffectDetails::new()
2364                            },
2365                        },
2366                        MobEffectInstance {
2367                            id: MobEffect::Absorption,
2368                            details: MobEffectDetails {
2369                                duration: 2400,
2370                                show_icon: true,
2371                                ..MobEffectDetails::new()
2372                            },
2373                        },
2374                    ],
2375                    probability: 1.0,
2376                }],
2377                ..Consumable::new()
2378            },
2379            ItemKind::GoldenCarrot => Consumable::new(),
2380            ItemKind::HoneyBottle => Consumable {
2381                animation: ItemUseAnimation::Drink,
2382                consume_seconds: 2.0,
2383                has_consume_particles: false,
2384                on_consume_effects: vec![ConsumeEffect::RemoveEffects {
2385                    effects: HolderSet::Direct {
2386                        contents: vec![MobEffect::Poison],
2387                    },
2388                }],
2389                sound: azalea_registry::Holder::Reference(SoundEvent::ItemHoneyBottleDrink),
2390            },
2391            ItemKind::MelonSlice => Consumable::new(),
2392            ItemKind::MilkBucket => Consumable {
2393                animation: ItemUseAnimation::Drink,
2394                has_consume_particles: false,
2395                on_consume_effects: vec![ConsumeEffect::ClearAllEffects {}],
2396                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2397                ..Consumable::new()
2398            },
2399            ItemKind::MushroomStew => Consumable::new(),
2400            ItemKind::Mutton => Consumable::new(),
2401            ItemKind::OminousBottle => Consumable {
2402                animation: ItemUseAnimation::Drink,
2403                has_consume_particles: false,
2404                on_consume_effects: vec![ConsumeEffect::PlaySound {
2405                    sound: SoundEvent::ItemOminousBottleDispose,
2406                }],
2407                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2408                ..Consumable::new()
2409            },
2410            ItemKind::PoisonousPotato => Consumable {
2411                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2412                    effects: vec![MobEffectInstance {
2413                        id: MobEffect::Poison,
2414                        details: MobEffectDetails {
2415                            duration: 100,
2416                            show_icon: true,
2417                            ..MobEffectDetails::new()
2418                        },
2419                    }],
2420                    probability: 0.6,
2421                }],
2422                ..Consumable::new()
2423            },
2424            ItemKind::Porkchop => Consumable::new(),
2425            ItemKind::Potato => Consumable::new(),
2426            ItemKind::Potion => Consumable {
2427                animation: ItemUseAnimation::Drink,
2428                has_consume_particles: false,
2429                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2430                ..Consumable::new()
2431            },
2432            ItemKind::Pufferfish => Consumable {
2433                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2434                    effects: vec![
2435                        MobEffectInstance {
2436                            id: MobEffect::Poison,
2437                            details: MobEffectDetails {
2438                                amplifier: 1,
2439                                duration: 1200,
2440                                show_icon: true,
2441                                ..MobEffectDetails::new()
2442                            },
2443                        },
2444                        MobEffectInstance {
2445                            id: MobEffect::Hunger,
2446                            details: MobEffectDetails {
2447                                amplifier: 2,
2448                                duration: 300,
2449                                show_icon: true,
2450                                ..MobEffectDetails::new()
2451                            },
2452                        },
2453                        MobEffectInstance {
2454                            id: MobEffect::Nausea,
2455                            details: MobEffectDetails {
2456                                duration: 300,
2457                                show_icon: true,
2458                                ..MobEffectDetails::new()
2459                            },
2460                        },
2461                    ],
2462                    probability: 1.0,
2463                }],
2464                ..Consumable::new()
2465            },
2466            ItemKind::PumpkinPie => Consumable::new(),
2467            ItemKind::Rabbit => Consumable::new(),
2468            ItemKind::RabbitStew => Consumable::new(),
2469            ItemKind::RottenFlesh => Consumable {
2470                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2471                    effects: vec![MobEffectInstance {
2472                        id: MobEffect::Hunger,
2473                        details: MobEffectDetails {
2474                            duration: 600,
2475                            show_icon: true,
2476                            ..MobEffectDetails::new()
2477                        },
2478                    }],
2479                    probability: 0.8,
2480                }],
2481                ..Consumable::new()
2482            },
2483            ItemKind::Salmon => Consumable::new(),
2484            ItemKind::SpiderEye => Consumable {
2485                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2486                    effects: vec![MobEffectInstance {
2487                        id: MobEffect::Poison,
2488                        details: MobEffectDetails {
2489                            duration: 100,
2490                            show_icon: true,
2491                            ..MobEffectDetails::new()
2492                        },
2493                    }],
2494                    probability: 1.0,
2495                }],
2496                ..Consumable::new()
2497            },
2498            ItemKind::SuspiciousStew => Consumable::new(),
2499            ItemKind::SweetBerries => Consumable::new(),
2500            ItemKind::TropicalFish => Consumable::new(),
2501            _ => return None,
2502        };
2503        Some(value)
2504    }
2505}
2506impl DefaultableComponent for Container {
2507    fn default_for_item(item: ItemKind) -> Option<Self> {
2508        let value = match item {
2509            ItemKind::AcaciaShelf => vec![],
2510            ItemKind::BambooShelf => vec![],
2511            ItemKind::Barrel => vec![],
2512            ItemKind::BirchShelf => vec![],
2513            ItemKind::BlackShulkerBox => vec![],
2514            ItemKind::BlastFurnace => vec![],
2515            ItemKind::BlueShulkerBox => vec![],
2516            ItemKind::BrewingStand => vec![],
2517            ItemKind::BrownShulkerBox => vec![],
2518            ItemKind::Campfire => vec![],
2519            ItemKind::CherryShelf => vec![],
2520            ItemKind::Chest => vec![],
2521            ItemKind::ChiseledBookshelf => vec![],
2522            ItemKind::Crafter => vec![],
2523            ItemKind::CrimsonShelf => vec![],
2524            ItemKind::CyanShulkerBox => vec![],
2525            ItemKind::DarkOakShelf => vec![],
2526            ItemKind::DecoratedPot => vec![],
2527            ItemKind::Dispenser => vec![],
2528            ItemKind::Dropper => vec![],
2529            ItemKind::Furnace => vec![],
2530            ItemKind::GrayShulkerBox => vec![],
2531            ItemKind::GreenShulkerBox => vec![],
2532            ItemKind::Hopper => vec![],
2533            ItemKind::JungleShelf => vec![],
2534            ItemKind::LightBlueShulkerBox => vec![],
2535            ItemKind::LightGrayShulkerBox => vec![],
2536            ItemKind::LimeShulkerBox => vec![],
2537            ItemKind::MagentaShulkerBox => vec![],
2538            ItemKind::MangroveShelf => vec![],
2539            ItemKind::OakShelf => vec![],
2540            ItemKind::OrangeShulkerBox => vec![],
2541            ItemKind::PaleOakShelf => vec![],
2542            ItemKind::PinkShulkerBox => vec![],
2543            ItemKind::PurpleShulkerBox => vec![],
2544            ItemKind::RedShulkerBox => vec![],
2545            ItemKind::ShulkerBox => vec![],
2546            ItemKind::Smoker => vec![],
2547            ItemKind::SoulCampfire => vec![],
2548            ItemKind::SpruceShelf => vec![],
2549            ItemKind::TrappedChest => vec![],
2550            ItemKind::WarpedShelf => vec![],
2551            ItemKind::WhiteShulkerBox => vec![],
2552            ItemKind::YellowShulkerBox => vec![],
2553            _ => return None,
2554        };
2555        Some(Container { items: value })
2556    }
2557}
2558impl DefaultableComponent for Damage {
2559    fn default_for_item(item: ItemKind) -> Option<Self> {
2560        let value = match item {
2561            ItemKind::Bow => 0,
2562            ItemKind::Brush => 0,
2563            ItemKind::CarrotOnAStick => 0,
2564            ItemKind::ChainmailBoots => 0,
2565            ItemKind::ChainmailChestplate => 0,
2566            ItemKind::ChainmailHelmet => 0,
2567            ItemKind::ChainmailLeggings => 0,
2568            ItemKind::CopperAxe => 0,
2569            ItemKind::CopperBoots => 0,
2570            ItemKind::CopperChestplate => 0,
2571            ItemKind::CopperHelmet => 0,
2572            ItemKind::CopperHoe => 0,
2573            ItemKind::CopperLeggings => 0,
2574            ItemKind::CopperPickaxe => 0,
2575            ItemKind::CopperShovel => 0,
2576            ItemKind::CopperSpear => 0,
2577            ItemKind::CopperSword => 0,
2578            ItemKind::Crossbow => 0,
2579            ItemKind::DiamondAxe => 0,
2580            ItemKind::DiamondBoots => 0,
2581            ItemKind::DiamondChestplate => 0,
2582            ItemKind::DiamondHelmet => 0,
2583            ItemKind::DiamondHoe => 0,
2584            ItemKind::DiamondLeggings => 0,
2585            ItemKind::DiamondPickaxe => 0,
2586            ItemKind::DiamondShovel => 0,
2587            ItemKind::DiamondSpear => 0,
2588            ItemKind::DiamondSword => 0,
2589            ItemKind::Elytra => 0,
2590            ItemKind::FishingRod => 0,
2591            ItemKind::FlintAndSteel => 0,
2592            ItemKind::GoldenAxe => 0,
2593            ItemKind::GoldenBoots => 0,
2594            ItemKind::GoldenChestplate => 0,
2595            ItemKind::GoldenHelmet => 0,
2596            ItemKind::GoldenHoe => 0,
2597            ItemKind::GoldenLeggings => 0,
2598            ItemKind::GoldenPickaxe => 0,
2599            ItemKind::GoldenShovel => 0,
2600            ItemKind::GoldenSpear => 0,
2601            ItemKind::GoldenSword => 0,
2602            ItemKind::IronAxe => 0,
2603            ItemKind::IronBoots => 0,
2604            ItemKind::IronChestplate => 0,
2605            ItemKind::IronHelmet => 0,
2606            ItemKind::IronHoe => 0,
2607            ItemKind::IronLeggings => 0,
2608            ItemKind::IronPickaxe => 0,
2609            ItemKind::IronShovel => 0,
2610            ItemKind::IronSpear => 0,
2611            ItemKind::IronSword => 0,
2612            ItemKind::LeatherBoots => 0,
2613            ItemKind::LeatherChestplate => 0,
2614            ItemKind::LeatherHelmet => 0,
2615            ItemKind::LeatherLeggings => 0,
2616            ItemKind::Mace => 0,
2617            ItemKind::NetheriteAxe => 0,
2618            ItemKind::NetheriteBoots => 0,
2619            ItemKind::NetheriteChestplate => 0,
2620            ItemKind::NetheriteHelmet => 0,
2621            ItemKind::NetheriteHoe => 0,
2622            ItemKind::NetheriteLeggings => 0,
2623            ItemKind::NetheritePickaxe => 0,
2624            ItemKind::NetheriteShovel => 0,
2625            ItemKind::NetheriteSpear => 0,
2626            ItemKind::NetheriteSword => 0,
2627            ItemKind::Shears => 0,
2628            ItemKind::Shield => 0,
2629            ItemKind::StoneAxe => 0,
2630            ItemKind::StoneHoe => 0,
2631            ItemKind::StonePickaxe => 0,
2632            ItemKind::StoneShovel => 0,
2633            ItemKind::StoneSpear => 0,
2634            ItemKind::StoneSword => 0,
2635            ItemKind::Trident => 0,
2636            ItemKind::TurtleHelmet => 0,
2637            ItemKind::WarpedFungusOnAStick => 0,
2638            ItemKind::WolfArmor => 0,
2639            ItemKind::WoodenAxe => 0,
2640            ItemKind::WoodenHoe => 0,
2641            ItemKind::WoodenPickaxe => 0,
2642            ItemKind::WoodenShovel => 0,
2643            ItemKind::WoodenSpear => 0,
2644            ItemKind::WoodenSword => 0,
2645            _ => return None,
2646        };
2647        Some(Damage { amount: value })
2648    }
2649}
2650impl DefaultableComponent for DamageResistant {
2651    fn default_for_item(item: ItemKind) -> Option<Self> {
2652        let value = match item {
2653            ItemKind::AncientDebris => HolderSet::Direct { contents: vec![] },
2654            ItemKind::NetherStar => HolderSet::Direct { contents: vec![] },
2655            ItemKind::NetheriteAxe => HolderSet::Direct { contents: vec![] },
2656            ItemKind::NetheriteBlock => HolderSet::Direct { contents: vec![] },
2657            ItemKind::NetheriteBoots => HolderSet::Direct { contents: vec![] },
2658            ItemKind::NetheriteChestplate => HolderSet::Direct { contents: vec![] },
2659            ItemKind::NetheriteHelmet => HolderSet::Direct { contents: vec![] },
2660            ItemKind::NetheriteHoe => HolderSet::Direct { contents: vec![] },
2661            ItemKind::NetheriteHorseArmor => HolderSet::Direct { contents: vec![] },
2662            ItemKind::NetheriteIngot => HolderSet::Direct { contents: vec![] },
2663            ItemKind::NetheriteLeggings => HolderSet::Direct { contents: vec![] },
2664            ItemKind::NetheriteNautilusArmor => HolderSet::Direct { contents: vec![] },
2665            ItemKind::NetheritePickaxe => HolderSet::Direct { contents: vec![] },
2666            ItemKind::NetheriteScrap => HolderSet::Direct { contents: vec![] },
2667            ItemKind::NetheriteShovel => HolderSet::Direct { contents: vec![] },
2668            ItemKind::NetheriteSpear => HolderSet::Direct { contents: vec![] },
2669            ItemKind::NetheriteSword => HolderSet::Direct { contents: vec![] },
2670            _ => return None,
2671        };
2672        Some(DamageResistant { types: value })
2673    }
2674}
2675impl DefaultableComponent for DamageType {
2676    fn default_for_item(item: ItemKind) -> Option<Self> {
2677        let value = match item {
2678            ItemKind::CopperSpear => azalea_registry::data::DamageKind::new_raw(0),
2679            ItemKind::DiamondSpear => azalea_registry::data::DamageKind::new_raw(0),
2680            ItemKind::GoldenSpear => azalea_registry::data::DamageKind::new_raw(0),
2681            ItemKind::IronSpear => azalea_registry::data::DamageKind::new_raw(0),
2682            ItemKind::NetheriteSpear => azalea_registry::data::DamageKind::new_raw(0),
2683            ItemKind::StoneSpear => azalea_registry::data::DamageKind::new_raw(0),
2684            ItemKind::WoodenSpear => azalea_registry::data::DamageKind::new_raw(0),
2685            _ => return None,
2686        };
2687        Some(DamageType { value: value })
2688    }
2689}
2690impl DefaultableComponent for DeathProtection {
2691    fn default_for_item(item: ItemKind) -> Option<Self> {
2692        let value = match item {
2693            ItemKind::TotemOfUndying => vec![
2694                ConsumeEffect::ClearAllEffects {},
2695                ConsumeEffect::ApplyEffects {
2696                    effects: vec![
2697                        MobEffectInstance {
2698                            id: MobEffect::Regeneration,
2699                            details: MobEffectDetails {
2700                                amplifier: 1,
2701                                duration: 900,
2702                                show_icon: true,
2703                                ..MobEffectDetails::new()
2704                            },
2705                        },
2706                        MobEffectInstance {
2707                            id: MobEffect::Absorption,
2708                            details: MobEffectDetails {
2709                                amplifier: 1,
2710                                duration: 100,
2711                                show_icon: true,
2712                                ..MobEffectDetails::new()
2713                            },
2714                        },
2715                        MobEffectInstance {
2716                            id: MobEffect::FireResistance,
2717                            details: MobEffectDetails {
2718                                duration: 800,
2719                                show_icon: true,
2720                                ..MobEffectDetails::new()
2721                            },
2722                        },
2723                    ],
2724                    probability: 1.0,
2725                },
2726            ],
2727            _ => return None,
2728        };
2729        Some(DeathProtection {
2730            death_effects: value,
2731        })
2732    }
2733}
2734impl DefaultableComponent for DebugStickState {
2735    fn default_for_item(item: ItemKind) -> Option<Self> {
2736        let value = match item {
2737            ItemKind::DebugStick => NbtCompound::from_values(vec![]),
2738            _ => return None,
2739        };
2740        Some(DebugStickState { properties: value })
2741    }
2742}
2743impl DefaultableComponent for Dye {
2744    fn default_for_item(item: ItemKind) -> Option<Self> {
2745        let value = match item {
2746            ItemKind::BlackDye => DyeColor::Black,
2747            ItemKind::BlueDye => DyeColor::Blue,
2748            ItemKind::BrownDye => DyeColor::Brown,
2749            ItemKind::CyanDye => DyeColor::Cyan,
2750            ItemKind::GrayDye => DyeColor::Gray,
2751            ItemKind::GreenDye => DyeColor::Green,
2752            ItemKind::LightBlueDye => DyeColor::LightBlue,
2753            ItemKind::LightGrayDye => DyeColor::LightGray,
2754            ItemKind::LimeDye => DyeColor::Lime,
2755            ItemKind::MagentaDye => DyeColor::Magenta,
2756            ItemKind::OrangeDye => DyeColor::Orange,
2757            ItemKind::PinkDye => DyeColor::Pink,
2758            ItemKind::PurpleDye => DyeColor::Purple,
2759            ItemKind::RedDye => DyeColor::Red,
2760            ItemKind::WhiteDye => DyeColor::White,
2761            ItemKind::YellowDye => DyeColor::Yellow,
2762            _ => return None,
2763        };
2764        Some(Dye { color: value })
2765    }
2766}
2767impl DefaultableComponent for Enchantable {
2768    fn default_for_item(item: ItemKind) -> Option<Self> {
2769        let value = match item {
2770            ItemKind::Book => 1,
2771            ItemKind::Bow => 1,
2772            ItemKind::ChainmailBoots => 12,
2773            ItemKind::ChainmailChestplate => 12,
2774            ItemKind::ChainmailHelmet => 12,
2775            ItemKind::ChainmailLeggings => 12,
2776            ItemKind::CopperAxe => 13,
2777            ItemKind::CopperBoots => 8,
2778            ItemKind::CopperChestplate => 8,
2779            ItemKind::CopperHelmet => 8,
2780            ItemKind::CopperHoe => 13,
2781            ItemKind::CopperLeggings => 8,
2782            ItemKind::CopperPickaxe => 13,
2783            ItemKind::CopperShovel => 13,
2784            ItemKind::CopperSpear => 13,
2785            ItemKind::CopperSword => 13,
2786            ItemKind::Crossbow => 1,
2787            ItemKind::DiamondAxe => 10,
2788            ItemKind::DiamondBoots => 10,
2789            ItemKind::DiamondChestplate => 10,
2790            ItemKind::DiamondHelmet => 10,
2791            ItemKind::DiamondHoe => 10,
2792            ItemKind::DiamondLeggings => 10,
2793            ItemKind::DiamondPickaxe => 10,
2794            ItemKind::DiamondShovel => 10,
2795            ItemKind::DiamondSpear => 10,
2796            ItemKind::DiamondSword => 10,
2797            ItemKind::FishingRod => 1,
2798            ItemKind::GoldenAxe => 22,
2799            ItemKind::GoldenBoots => 25,
2800            ItemKind::GoldenChestplate => 25,
2801            ItemKind::GoldenHelmet => 25,
2802            ItemKind::GoldenHoe => 22,
2803            ItemKind::GoldenLeggings => 25,
2804            ItemKind::GoldenPickaxe => 22,
2805            ItemKind::GoldenShovel => 22,
2806            ItemKind::GoldenSpear => 22,
2807            ItemKind::GoldenSword => 22,
2808            ItemKind::IronAxe => 14,
2809            ItemKind::IronBoots => 9,
2810            ItemKind::IronChestplate => 9,
2811            ItemKind::IronHelmet => 9,
2812            ItemKind::IronHoe => 14,
2813            ItemKind::IronLeggings => 9,
2814            ItemKind::IronPickaxe => 14,
2815            ItemKind::IronShovel => 14,
2816            ItemKind::IronSpear => 14,
2817            ItemKind::IronSword => 14,
2818            ItemKind::LeatherBoots => 15,
2819            ItemKind::LeatherChestplate => 15,
2820            ItemKind::LeatherHelmet => 15,
2821            ItemKind::LeatherLeggings => 15,
2822            ItemKind::Mace => 15,
2823            ItemKind::NetheriteAxe => 15,
2824            ItemKind::NetheriteBoots => 15,
2825            ItemKind::NetheriteChestplate => 15,
2826            ItemKind::NetheriteHelmet => 15,
2827            ItemKind::NetheriteHoe => 15,
2828            ItemKind::NetheriteLeggings => 15,
2829            ItemKind::NetheritePickaxe => 15,
2830            ItemKind::NetheriteShovel => 15,
2831            ItemKind::NetheriteSpear => 15,
2832            ItemKind::NetheriteSword => 15,
2833            ItemKind::StoneAxe => 5,
2834            ItemKind::StoneHoe => 5,
2835            ItemKind::StonePickaxe => 5,
2836            ItemKind::StoneShovel => 5,
2837            ItemKind::StoneSpear => 5,
2838            ItemKind::StoneSword => 5,
2839            ItemKind::Trident => 1,
2840            ItemKind::TurtleHelmet => 9,
2841            ItemKind::WoodenAxe => 15,
2842            ItemKind::WoodenHoe => 15,
2843            ItemKind::WoodenPickaxe => 15,
2844            ItemKind::WoodenShovel => 15,
2845            ItemKind::WoodenSpear => 15,
2846            ItemKind::WoodenSword => 15,
2847            _ => return None,
2848        };
2849        Some(Enchantable { value: value })
2850    }
2851}
2852impl DefaultableComponent for EnchantmentGlintOverride {
2853    fn default_for_item(item: ItemKind) -> Option<Self> {
2854        let value = match item {
2855            ItemKind::DebugStick => true,
2856            ItemKind::EnchantedBook => true,
2857            ItemKind::EnchantedGoldenApple => true,
2858            ItemKind::EndCrystal => true,
2859            ItemKind::ExperienceBottle => true,
2860            ItemKind::NetherStar => true,
2861            ItemKind::WrittenBook => true,
2862            _ => return None,
2863        };
2864        Some(EnchantmentGlintOverride { show_glint: value })
2865    }
2866}
2867impl DefaultableComponent for Enchantments {
2868    fn default_for_item(_item: ItemKind) -> Option<Self> {
2869        Some(Enchantments {
2870            levels: HashMap::from_iter([]),
2871        })
2872    }
2873}
2874impl DefaultableComponent for EntityData {
2875    fn default_for_item(item: ItemKind) -> Option<Self> {
2876        let value = match item {
2877            ItemKind::AllaySpawnEgg => EntityKind::Allay,
2878            ItemKind::ArmadilloSpawnEgg => EntityKind::Armadillo,
2879            ItemKind::AxolotlSpawnEgg => EntityKind::Axolotl,
2880            ItemKind::BatSpawnEgg => EntityKind::Bat,
2881            ItemKind::BeeSpawnEgg => EntityKind::Bee,
2882            ItemKind::BlazeSpawnEgg => EntityKind::Blaze,
2883            ItemKind::BoggedSpawnEgg => EntityKind::Bogged,
2884            ItemKind::BreezeSpawnEgg => EntityKind::Breeze,
2885            ItemKind::CamelHuskSpawnEgg => EntityKind::CamelHusk,
2886            ItemKind::CamelSpawnEgg => EntityKind::Camel,
2887            ItemKind::CatSpawnEgg => EntityKind::Cat,
2888            ItemKind::CaveSpiderSpawnEgg => EntityKind::CaveSpider,
2889            ItemKind::ChickenSpawnEgg => EntityKind::Chicken,
2890            ItemKind::CodSpawnEgg => EntityKind::Cod,
2891            ItemKind::CopperGolemSpawnEgg => EntityKind::CopperGolem,
2892            ItemKind::CowSpawnEgg => EntityKind::Cow,
2893            ItemKind::CreakingSpawnEgg => EntityKind::Creaking,
2894            ItemKind::CreeperSpawnEgg => EntityKind::Creeper,
2895            ItemKind::DolphinSpawnEgg => EntityKind::Dolphin,
2896            ItemKind::DonkeySpawnEgg => EntityKind::Donkey,
2897            ItemKind::DrownedSpawnEgg => EntityKind::Drowned,
2898            ItemKind::ElderGuardianSpawnEgg => EntityKind::ElderGuardian,
2899            ItemKind::EnderDragonSpawnEgg => EntityKind::EnderDragon,
2900            ItemKind::EndermanSpawnEgg => EntityKind::Enderman,
2901            ItemKind::EndermiteSpawnEgg => EntityKind::Endermite,
2902            ItemKind::EvokerSpawnEgg => EntityKind::Evoker,
2903            ItemKind::FoxSpawnEgg => EntityKind::Fox,
2904            ItemKind::FrogSpawnEgg => EntityKind::Frog,
2905            ItemKind::GhastSpawnEgg => EntityKind::Ghast,
2906            ItemKind::GlowSquidSpawnEgg => EntityKind::GlowSquid,
2907            ItemKind::GoatSpawnEgg => EntityKind::Goat,
2908            ItemKind::GuardianSpawnEgg => EntityKind::Guardian,
2909            ItemKind::HappyGhastSpawnEgg => EntityKind::HappyGhast,
2910            ItemKind::HoglinSpawnEgg => EntityKind::Hoglin,
2911            ItemKind::HorseSpawnEgg => EntityKind::Horse,
2912            ItemKind::HuskSpawnEgg => EntityKind::Husk,
2913            ItemKind::IronGolemSpawnEgg => EntityKind::IronGolem,
2914            ItemKind::LlamaSpawnEgg => EntityKind::Llama,
2915            ItemKind::MagmaCubeSpawnEgg => EntityKind::MagmaCube,
2916            ItemKind::MooshroomSpawnEgg => EntityKind::Mooshroom,
2917            ItemKind::MuleSpawnEgg => EntityKind::Mule,
2918            ItemKind::NautilusSpawnEgg => EntityKind::Nautilus,
2919            ItemKind::OcelotSpawnEgg => EntityKind::Ocelot,
2920            ItemKind::PandaSpawnEgg => EntityKind::Panda,
2921            ItemKind::ParchedSpawnEgg => EntityKind::Parched,
2922            ItemKind::ParrotSpawnEgg => EntityKind::Parrot,
2923            ItemKind::PhantomSpawnEgg => EntityKind::Phantom,
2924            ItemKind::PigSpawnEgg => EntityKind::Pig,
2925            ItemKind::PiglinBruteSpawnEgg => EntityKind::PiglinBrute,
2926            ItemKind::PiglinSpawnEgg => EntityKind::Piglin,
2927            ItemKind::PillagerSpawnEgg => EntityKind::Pillager,
2928            ItemKind::PolarBearSpawnEgg => EntityKind::PolarBear,
2929            ItemKind::PufferfishSpawnEgg => EntityKind::Pufferfish,
2930            ItemKind::RabbitSpawnEgg => EntityKind::Rabbit,
2931            ItemKind::RavagerSpawnEgg => EntityKind::Ravager,
2932            ItemKind::SalmonSpawnEgg => EntityKind::Salmon,
2933            ItemKind::SheepSpawnEgg => EntityKind::Sheep,
2934            ItemKind::ShulkerSpawnEgg => EntityKind::Shulker,
2935            ItemKind::SilverfishSpawnEgg => EntityKind::Silverfish,
2936            ItemKind::SkeletonHorseSpawnEgg => EntityKind::SkeletonHorse,
2937            ItemKind::SkeletonSpawnEgg => EntityKind::Skeleton,
2938            ItemKind::SlimeSpawnEgg => EntityKind::Slime,
2939            ItemKind::SnifferSpawnEgg => EntityKind::Sniffer,
2940            ItemKind::SnowGolemSpawnEgg => EntityKind::SnowGolem,
2941            ItemKind::SpiderSpawnEgg => EntityKind::Spider,
2942            ItemKind::SquidSpawnEgg => EntityKind::Squid,
2943            ItemKind::StraySpawnEgg => EntityKind::Stray,
2944            ItemKind::StriderSpawnEgg => EntityKind::Strider,
2945            ItemKind::SulfurCubeSpawnEgg => EntityKind::SulfurCube,
2946            ItemKind::TadpoleSpawnEgg => EntityKind::Tadpole,
2947            ItemKind::TraderLlamaSpawnEgg => EntityKind::TraderLlama,
2948            ItemKind::TropicalFishSpawnEgg => EntityKind::TropicalFish,
2949            ItemKind::TurtleSpawnEgg => EntityKind::Turtle,
2950            ItemKind::VexSpawnEgg => EntityKind::Vex,
2951            ItemKind::VillagerSpawnEgg => EntityKind::Villager,
2952            ItemKind::VindicatorSpawnEgg => EntityKind::Vindicator,
2953            ItemKind::WanderingTraderSpawnEgg => EntityKind::WanderingTrader,
2954            ItemKind::WardenSpawnEgg => EntityKind::Warden,
2955            ItemKind::WitchSpawnEgg => EntityKind::Witch,
2956            ItemKind::WitherSkeletonSpawnEgg => EntityKind::WitherSkeleton,
2957            ItemKind::WitherSpawnEgg => EntityKind::Wither,
2958            ItemKind::WolfSpawnEgg => EntityKind::Wolf,
2959            ItemKind::ZoglinSpawnEgg => EntityKind::Zoglin,
2960            ItemKind::ZombieHorseSpawnEgg => EntityKind::ZombieHorse,
2961            ItemKind::ZombieNautilusSpawnEgg => EntityKind::ZombieNautilus,
2962            ItemKind::ZombieSpawnEgg => EntityKind::Zombie,
2963            ItemKind::ZombieVillagerSpawnEgg => EntityKind::ZombieVillager,
2964            ItemKind::ZombifiedPiglinSpawnEgg => EntityKind::ZombifiedPiglin,
2965            _ => return None,
2966        };
2967        Some(EntityData {
2968            kind: value,
2969            data: NbtCompound::new(),
2970        })
2971    }
2972}
2973impl DefaultableComponent for Equippable {
2974    fn default_for_item(item: ItemKind) -> Option<Self> {
2975        let value = match item {
2976            ItemKind::BlackCarpet => Equippable {
2977                allowed_entities: Some(HolderSet::Direct {
2978                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2979                }),
2980                asset_id: Some("minecraft:black_carpet".into()),
2981                can_be_sheared: true,
2982                equip_sound: SoundEvent::EntityLlamaSwag,
2983                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2984                slot: EquipmentSlot::Body,
2985                ..Equippable::new()
2986            },
2987            ItemKind::BlackHarness => Equippable {
2988                allowed_entities: Some(HolderSet::Direct {
2989                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2990                        .clone()
2991                        .into_iter()
2992                        .collect(),
2993                }),
2994                asset_id: Some("minecraft:black_harness".into()),
2995                can_be_sheared: true,
2996                equip_on_interact: true,
2997                equip_sound: SoundEvent::EntityHappyGhastEquip,
2998                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2999                slot: EquipmentSlot::Body,
3000                ..Equippable::new()
3001            },
3002            ItemKind::BlueCarpet => Equippable {
3003                allowed_entities: Some(HolderSet::Direct {
3004                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3005                }),
3006                asset_id: Some("minecraft:blue_carpet".into()),
3007                can_be_sheared: true,
3008                equip_sound: SoundEvent::EntityLlamaSwag,
3009                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3010                slot: EquipmentSlot::Body,
3011                ..Equippable::new()
3012            },
3013            ItemKind::BlueHarness => Equippable {
3014                allowed_entities: Some(HolderSet::Direct {
3015                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3016                        .clone()
3017                        .into_iter()
3018                        .collect(),
3019                }),
3020                asset_id: Some("minecraft:blue_harness".into()),
3021                can_be_sheared: true,
3022                equip_on_interact: true,
3023                equip_sound: SoundEvent::EntityHappyGhastEquip,
3024                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3025                slot: EquipmentSlot::Body,
3026                ..Equippable::new()
3027            },
3028            ItemKind::BrownCarpet => Equippable {
3029                allowed_entities: Some(HolderSet::Direct {
3030                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3031                }),
3032                asset_id: Some("minecraft:brown_carpet".into()),
3033                can_be_sheared: true,
3034                equip_sound: SoundEvent::EntityLlamaSwag,
3035                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3036                slot: EquipmentSlot::Body,
3037                ..Equippable::new()
3038            },
3039            ItemKind::BrownHarness => Equippable {
3040                allowed_entities: Some(HolderSet::Direct {
3041                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3042                        .clone()
3043                        .into_iter()
3044                        .collect(),
3045                }),
3046                asset_id: Some("minecraft:brown_harness".into()),
3047                can_be_sheared: true,
3048                equip_on_interact: true,
3049                equip_sound: SoundEvent::EntityHappyGhastEquip,
3050                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3051                slot: EquipmentSlot::Body,
3052                ..Equippable::new()
3053            },
3054            ItemKind::CarvedPumpkin => Equippable {
3055                camera_overlay: Some("minecraft:misc/pumpkinblur".into()),
3056                slot: EquipmentSlot::Head,
3057                swappable: false,
3058                ..Equippable::new()
3059            },
3060            ItemKind::ChainmailBoots => Equippable {
3061                asset_id: Some("minecraft:chainmail".into()),
3062                equip_sound: SoundEvent::ItemArmorEquipChain,
3063                slot: EquipmentSlot::Feet,
3064                ..Equippable::new()
3065            },
3066            ItemKind::ChainmailChestplate => Equippable {
3067                asset_id: Some("minecraft:chainmail".into()),
3068                equip_sound: SoundEvent::ItemArmorEquipChain,
3069                slot: EquipmentSlot::Chest,
3070                ..Equippable::new()
3071            },
3072            ItemKind::ChainmailHelmet => Equippable {
3073                asset_id: Some("minecraft:chainmail".into()),
3074                equip_sound: SoundEvent::ItemArmorEquipChain,
3075                slot: EquipmentSlot::Head,
3076                ..Equippable::new()
3077            },
3078            ItemKind::ChainmailLeggings => Equippable {
3079                asset_id: Some("minecraft:chainmail".into()),
3080                equip_sound: SoundEvent::ItemArmorEquipChain,
3081                slot: EquipmentSlot::Legs,
3082                ..Equippable::new()
3083            },
3084            ItemKind::CopperBoots => Equippable {
3085                asset_id: Some("minecraft:copper".into()),
3086                equip_sound: SoundEvent::ItemArmorEquipCopper,
3087                slot: EquipmentSlot::Feet,
3088                ..Equippable::new()
3089            },
3090            ItemKind::CopperChestplate => Equippable {
3091                asset_id: Some("minecraft:copper".into()),
3092                equip_sound: SoundEvent::ItemArmorEquipCopper,
3093                slot: EquipmentSlot::Chest,
3094                ..Equippable::new()
3095            },
3096            ItemKind::CopperHelmet => Equippable {
3097                asset_id: Some("minecraft:copper".into()),
3098                equip_sound: SoundEvent::ItemArmorEquipCopper,
3099                slot: EquipmentSlot::Head,
3100                ..Equippable::new()
3101            },
3102            ItemKind::CopperHorseArmor => Equippable {
3103                allowed_entities: Some(HolderSet::Direct {
3104                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3105                        .clone()
3106                        .into_iter()
3107                        .collect(),
3108                }),
3109                asset_id: Some("minecraft:copper".into()),
3110                can_be_sheared: true,
3111                damage_on_hurt: false,
3112                equip_sound: SoundEvent::EntityHorseArmor,
3113                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3114                slot: EquipmentSlot::Body,
3115                ..Equippable::new()
3116            },
3117            ItemKind::CopperLeggings => Equippable {
3118                asset_id: Some("minecraft:copper".into()),
3119                equip_sound: SoundEvent::ItemArmorEquipCopper,
3120                slot: EquipmentSlot::Legs,
3121                ..Equippable::new()
3122            },
3123            ItemKind::CopperNautilusArmor => Equippable {
3124                allowed_entities: Some(HolderSet::Direct {
3125                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3126                        .clone()
3127                        .into_iter()
3128                        .collect(),
3129                }),
3130                asset_id: Some("minecraft:copper".into()),
3131                can_be_sheared: true,
3132                damage_on_hurt: false,
3133                equip_on_interact: true,
3134                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3135                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3136                slot: EquipmentSlot::Body,
3137                ..Equippable::new()
3138            },
3139            ItemKind::CreeperHead => Equippable {
3140                slot: EquipmentSlot::Head,
3141                swappable: false,
3142                ..Equippable::new()
3143            },
3144            ItemKind::CyanCarpet => Equippable {
3145                allowed_entities: Some(HolderSet::Direct {
3146                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3147                }),
3148                asset_id: Some("minecraft:cyan_carpet".into()),
3149                can_be_sheared: true,
3150                equip_sound: SoundEvent::EntityLlamaSwag,
3151                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3152                slot: EquipmentSlot::Body,
3153                ..Equippable::new()
3154            },
3155            ItemKind::CyanHarness => Equippable {
3156                allowed_entities: Some(HolderSet::Direct {
3157                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3158                        .clone()
3159                        .into_iter()
3160                        .collect(),
3161                }),
3162                asset_id: Some("minecraft:cyan_harness".into()),
3163                can_be_sheared: true,
3164                equip_on_interact: true,
3165                equip_sound: SoundEvent::EntityHappyGhastEquip,
3166                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3167                slot: EquipmentSlot::Body,
3168                ..Equippable::new()
3169            },
3170            ItemKind::DiamondBoots => Equippable {
3171                asset_id: Some("minecraft:diamond".into()),
3172                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3173                slot: EquipmentSlot::Feet,
3174                ..Equippable::new()
3175            },
3176            ItemKind::DiamondChestplate => Equippable {
3177                asset_id: Some("minecraft:diamond".into()),
3178                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3179                slot: EquipmentSlot::Chest,
3180                ..Equippable::new()
3181            },
3182            ItemKind::DiamondHelmet => Equippable {
3183                asset_id: Some("minecraft:diamond".into()),
3184                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3185                slot: EquipmentSlot::Head,
3186                ..Equippable::new()
3187            },
3188            ItemKind::DiamondHorseArmor => Equippable {
3189                allowed_entities: Some(HolderSet::Direct {
3190                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3191                        .clone()
3192                        .into_iter()
3193                        .collect(),
3194                }),
3195                asset_id: Some("minecraft:diamond".into()),
3196                can_be_sheared: true,
3197                damage_on_hurt: false,
3198                equip_sound: SoundEvent::EntityHorseArmor,
3199                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3200                slot: EquipmentSlot::Body,
3201                ..Equippable::new()
3202            },
3203            ItemKind::DiamondLeggings => Equippable {
3204                asset_id: Some("minecraft:diamond".into()),
3205                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3206                slot: EquipmentSlot::Legs,
3207                ..Equippable::new()
3208            },
3209            ItemKind::DiamondNautilusArmor => Equippable {
3210                allowed_entities: Some(HolderSet::Direct {
3211                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3212                        .clone()
3213                        .into_iter()
3214                        .collect(),
3215                }),
3216                asset_id: Some("minecraft:diamond".into()),
3217                can_be_sheared: true,
3218                damage_on_hurt: false,
3219                equip_on_interact: true,
3220                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3221                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3222                slot: EquipmentSlot::Body,
3223                ..Equippable::new()
3224            },
3225            ItemKind::DragonHead => Equippable {
3226                slot: EquipmentSlot::Head,
3227                swappable: false,
3228                ..Equippable::new()
3229            },
3230            ItemKind::Elytra => Equippable {
3231                asset_id: Some("minecraft:elytra".into()),
3232                damage_on_hurt: false,
3233                equip_sound: SoundEvent::ItemArmorEquipElytra,
3234                slot: EquipmentSlot::Chest,
3235                ..Equippable::new()
3236            },
3237            ItemKind::GoldenBoots => Equippable {
3238                asset_id: Some("minecraft:gold".into()),
3239                equip_sound: SoundEvent::ItemArmorEquipGold,
3240                slot: EquipmentSlot::Feet,
3241                ..Equippable::new()
3242            },
3243            ItemKind::GoldenChestplate => Equippable {
3244                asset_id: Some("minecraft:gold".into()),
3245                equip_sound: SoundEvent::ItemArmorEquipGold,
3246                slot: EquipmentSlot::Chest,
3247                ..Equippable::new()
3248            },
3249            ItemKind::GoldenHelmet => Equippable {
3250                asset_id: Some("minecraft:gold".into()),
3251                equip_sound: SoundEvent::ItemArmorEquipGold,
3252                slot: EquipmentSlot::Head,
3253                ..Equippable::new()
3254            },
3255            ItemKind::GoldenHorseArmor => Equippable {
3256                allowed_entities: Some(HolderSet::Direct {
3257                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3258                        .clone()
3259                        .into_iter()
3260                        .collect(),
3261                }),
3262                asset_id: Some("minecraft:gold".into()),
3263                can_be_sheared: true,
3264                damage_on_hurt: false,
3265                equip_sound: SoundEvent::EntityHorseArmor,
3266                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3267                slot: EquipmentSlot::Body,
3268                ..Equippable::new()
3269            },
3270            ItemKind::GoldenLeggings => Equippable {
3271                asset_id: Some("minecraft:gold".into()),
3272                equip_sound: SoundEvent::ItemArmorEquipGold,
3273                slot: EquipmentSlot::Legs,
3274                ..Equippable::new()
3275            },
3276            ItemKind::GoldenNautilusArmor => Equippable {
3277                allowed_entities: Some(HolderSet::Direct {
3278                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3279                        .clone()
3280                        .into_iter()
3281                        .collect(),
3282                }),
3283                asset_id: Some("minecraft:gold".into()),
3284                can_be_sheared: true,
3285                damage_on_hurt: false,
3286                equip_on_interact: true,
3287                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3288                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3289                slot: EquipmentSlot::Body,
3290                ..Equippable::new()
3291            },
3292            ItemKind::GrayCarpet => Equippable {
3293                allowed_entities: Some(HolderSet::Direct {
3294                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3295                }),
3296                asset_id: Some("minecraft:gray_carpet".into()),
3297                can_be_sheared: true,
3298                equip_sound: SoundEvent::EntityLlamaSwag,
3299                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3300                slot: EquipmentSlot::Body,
3301                ..Equippable::new()
3302            },
3303            ItemKind::GrayHarness => Equippable {
3304                allowed_entities: Some(HolderSet::Direct {
3305                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3306                        .clone()
3307                        .into_iter()
3308                        .collect(),
3309                }),
3310                asset_id: Some("minecraft:gray_harness".into()),
3311                can_be_sheared: true,
3312                equip_on_interact: true,
3313                equip_sound: SoundEvent::EntityHappyGhastEquip,
3314                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3315                slot: EquipmentSlot::Body,
3316                ..Equippable::new()
3317            },
3318            ItemKind::GreenCarpet => Equippable {
3319                allowed_entities: Some(HolderSet::Direct {
3320                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3321                }),
3322                asset_id: Some("minecraft:green_carpet".into()),
3323                can_be_sheared: true,
3324                equip_sound: SoundEvent::EntityLlamaSwag,
3325                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3326                slot: EquipmentSlot::Body,
3327                ..Equippable::new()
3328            },
3329            ItemKind::GreenHarness => Equippable {
3330                allowed_entities: Some(HolderSet::Direct {
3331                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3332                        .clone()
3333                        .into_iter()
3334                        .collect(),
3335                }),
3336                asset_id: Some("minecraft:green_harness".into()),
3337                can_be_sheared: true,
3338                equip_on_interact: true,
3339                equip_sound: SoundEvent::EntityHappyGhastEquip,
3340                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3341                slot: EquipmentSlot::Body,
3342                ..Equippable::new()
3343            },
3344            ItemKind::IronBoots => Equippable {
3345                asset_id: Some("minecraft:iron".into()),
3346                equip_sound: SoundEvent::ItemArmorEquipIron,
3347                slot: EquipmentSlot::Feet,
3348                ..Equippable::new()
3349            },
3350            ItemKind::IronChestplate => Equippable {
3351                asset_id: Some("minecraft:iron".into()),
3352                equip_sound: SoundEvent::ItemArmorEquipIron,
3353                slot: EquipmentSlot::Chest,
3354                ..Equippable::new()
3355            },
3356            ItemKind::IronHelmet => Equippable {
3357                asset_id: Some("minecraft:iron".into()),
3358                equip_sound: SoundEvent::ItemArmorEquipIron,
3359                slot: EquipmentSlot::Head,
3360                ..Equippable::new()
3361            },
3362            ItemKind::IronHorseArmor => Equippable {
3363                allowed_entities: Some(HolderSet::Direct {
3364                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3365                        .clone()
3366                        .into_iter()
3367                        .collect(),
3368                }),
3369                asset_id: Some("minecraft:iron".into()),
3370                can_be_sheared: true,
3371                damage_on_hurt: false,
3372                equip_sound: SoundEvent::EntityHorseArmor,
3373                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3374                slot: EquipmentSlot::Body,
3375                ..Equippable::new()
3376            },
3377            ItemKind::IronLeggings => Equippable {
3378                asset_id: Some("minecraft:iron".into()),
3379                equip_sound: SoundEvent::ItemArmorEquipIron,
3380                slot: EquipmentSlot::Legs,
3381                ..Equippable::new()
3382            },
3383            ItemKind::IronNautilusArmor => Equippable {
3384                allowed_entities: Some(HolderSet::Direct {
3385                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3386                        .clone()
3387                        .into_iter()
3388                        .collect(),
3389                }),
3390                asset_id: Some("minecraft:iron".into()),
3391                can_be_sheared: true,
3392                damage_on_hurt: false,
3393                equip_on_interact: true,
3394                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3395                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3396                slot: EquipmentSlot::Body,
3397                ..Equippable::new()
3398            },
3399            ItemKind::LeatherBoots => Equippable {
3400                asset_id: Some("minecraft:leather".into()),
3401                equip_sound: SoundEvent::ItemArmorEquipLeather,
3402                slot: EquipmentSlot::Feet,
3403                ..Equippable::new()
3404            },
3405            ItemKind::LeatherChestplate => Equippable {
3406                asset_id: Some("minecraft:leather".into()),
3407                equip_sound: SoundEvent::ItemArmorEquipLeather,
3408                slot: EquipmentSlot::Chest,
3409                ..Equippable::new()
3410            },
3411            ItemKind::LeatherHelmet => Equippable {
3412                asset_id: Some("minecraft:leather".into()),
3413                equip_sound: SoundEvent::ItemArmorEquipLeather,
3414                slot: EquipmentSlot::Head,
3415                ..Equippable::new()
3416            },
3417            ItemKind::LeatherHorseArmor => Equippable {
3418                allowed_entities: Some(HolderSet::Direct {
3419                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3420                        .clone()
3421                        .into_iter()
3422                        .collect(),
3423                }),
3424                asset_id: Some("minecraft:leather".into()),
3425                can_be_sheared: true,
3426                damage_on_hurt: false,
3427                equip_sound: SoundEvent::EntityHorseArmor,
3428                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3429                slot: EquipmentSlot::Body,
3430                ..Equippable::new()
3431            },
3432            ItemKind::LeatherLeggings => Equippable {
3433                asset_id: Some("minecraft:leather".into()),
3434                equip_sound: SoundEvent::ItemArmorEquipLeather,
3435                slot: EquipmentSlot::Legs,
3436                ..Equippable::new()
3437            },
3438            ItemKind::LightBlueCarpet => Equippable {
3439                allowed_entities: Some(HolderSet::Direct {
3440                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3441                }),
3442                asset_id: Some("minecraft:light_blue_carpet".into()),
3443                can_be_sheared: true,
3444                equip_sound: SoundEvent::EntityLlamaSwag,
3445                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3446                slot: EquipmentSlot::Body,
3447                ..Equippable::new()
3448            },
3449            ItemKind::LightBlueHarness => Equippable {
3450                allowed_entities: Some(HolderSet::Direct {
3451                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3452                        .clone()
3453                        .into_iter()
3454                        .collect(),
3455                }),
3456                asset_id: Some("minecraft:light_blue_harness".into()),
3457                can_be_sheared: true,
3458                equip_on_interact: true,
3459                equip_sound: SoundEvent::EntityHappyGhastEquip,
3460                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3461                slot: EquipmentSlot::Body,
3462                ..Equippable::new()
3463            },
3464            ItemKind::LightGrayCarpet => Equippable {
3465                allowed_entities: Some(HolderSet::Direct {
3466                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3467                }),
3468                asset_id: Some("minecraft:light_gray_carpet".into()),
3469                can_be_sheared: true,
3470                equip_sound: SoundEvent::EntityLlamaSwag,
3471                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3472                slot: EquipmentSlot::Body,
3473                ..Equippable::new()
3474            },
3475            ItemKind::LightGrayHarness => Equippable {
3476                allowed_entities: Some(HolderSet::Direct {
3477                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3478                        .clone()
3479                        .into_iter()
3480                        .collect(),
3481                }),
3482                asset_id: Some("minecraft:light_gray_harness".into()),
3483                can_be_sheared: true,
3484                equip_on_interact: true,
3485                equip_sound: SoundEvent::EntityHappyGhastEquip,
3486                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3487                slot: EquipmentSlot::Body,
3488                ..Equippable::new()
3489            },
3490            ItemKind::LimeCarpet => Equippable {
3491                allowed_entities: Some(HolderSet::Direct {
3492                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3493                }),
3494                asset_id: Some("minecraft:lime_carpet".into()),
3495                can_be_sheared: true,
3496                equip_sound: SoundEvent::EntityLlamaSwag,
3497                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3498                slot: EquipmentSlot::Body,
3499                ..Equippable::new()
3500            },
3501            ItemKind::LimeHarness => Equippable {
3502                allowed_entities: Some(HolderSet::Direct {
3503                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3504                        .clone()
3505                        .into_iter()
3506                        .collect(),
3507                }),
3508                asset_id: Some("minecraft:lime_harness".into()),
3509                can_be_sheared: true,
3510                equip_on_interact: true,
3511                equip_sound: SoundEvent::EntityHappyGhastEquip,
3512                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3513                slot: EquipmentSlot::Body,
3514                ..Equippable::new()
3515            },
3516            ItemKind::MagentaCarpet => Equippable {
3517                allowed_entities: Some(HolderSet::Direct {
3518                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3519                }),
3520                asset_id: Some("minecraft:magenta_carpet".into()),
3521                can_be_sheared: true,
3522                equip_sound: SoundEvent::EntityLlamaSwag,
3523                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3524                slot: EquipmentSlot::Body,
3525                ..Equippable::new()
3526            },
3527            ItemKind::MagentaHarness => Equippable {
3528                allowed_entities: Some(HolderSet::Direct {
3529                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3530                        .clone()
3531                        .into_iter()
3532                        .collect(),
3533                }),
3534                asset_id: Some("minecraft:magenta_harness".into()),
3535                can_be_sheared: true,
3536                equip_on_interact: true,
3537                equip_sound: SoundEvent::EntityHappyGhastEquip,
3538                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3539                slot: EquipmentSlot::Body,
3540                ..Equippable::new()
3541            },
3542            ItemKind::NetheriteBoots => Equippable {
3543                asset_id: Some("minecraft:netherite".into()),
3544                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3545                slot: EquipmentSlot::Feet,
3546                ..Equippable::new()
3547            },
3548            ItemKind::NetheriteChestplate => Equippable {
3549                asset_id: Some("minecraft:netherite".into()),
3550                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3551                slot: EquipmentSlot::Chest,
3552                ..Equippable::new()
3553            },
3554            ItemKind::NetheriteHelmet => Equippable {
3555                asset_id: Some("minecraft:netherite".into()),
3556                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3557                slot: EquipmentSlot::Head,
3558                ..Equippable::new()
3559            },
3560            ItemKind::NetheriteHorseArmor => Equippable {
3561                allowed_entities: Some(HolderSet::Direct {
3562                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3563                        .clone()
3564                        .into_iter()
3565                        .collect(),
3566                }),
3567                asset_id: Some("minecraft:netherite".into()),
3568                can_be_sheared: true,
3569                damage_on_hurt: false,
3570                equip_sound: SoundEvent::EntityHorseArmor,
3571                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3572                slot: EquipmentSlot::Body,
3573                ..Equippable::new()
3574            },
3575            ItemKind::NetheriteLeggings => Equippable {
3576                asset_id: Some("minecraft:netherite".into()),
3577                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3578                slot: EquipmentSlot::Legs,
3579                ..Equippable::new()
3580            },
3581            ItemKind::NetheriteNautilusArmor => Equippable {
3582                allowed_entities: Some(HolderSet::Direct {
3583                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3584                        .clone()
3585                        .into_iter()
3586                        .collect(),
3587                }),
3588                asset_id: Some("minecraft:netherite".into()),
3589                can_be_sheared: true,
3590                damage_on_hurt: false,
3591                equip_on_interact: true,
3592                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3593                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3594                slot: EquipmentSlot::Body,
3595                ..Equippable::new()
3596            },
3597            ItemKind::OrangeCarpet => Equippable {
3598                allowed_entities: Some(HolderSet::Direct {
3599                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3600                }),
3601                asset_id: Some("minecraft:orange_carpet".into()),
3602                can_be_sheared: true,
3603                equip_sound: SoundEvent::EntityLlamaSwag,
3604                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3605                slot: EquipmentSlot::Body,
3606                ..Equippable::new()
3607            },
3608            ItemKind::OrangeHarness => Equippable {
3609                allowed_entities: Some(HolderSet::Direct {
3610                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3611                        .clone()
3612                        .into_iter()
3613                        .collect(),
3614                }),
3615                asset_id: Some("minecraft:orange_harness".into()),
3616                can_be_sheared: true,
3617                equip_on_interact: true,
3618                equip_sound: SoundEvent::EntityHappyGhastEquip,
3619                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3620                slot: EquipmentSlot::Body,
3621                ..Equippable::new()
3622            },
3623            ItemKind::PiglinHead => Equippable {
3624                slot: EquipmentSlot::Head,
3625                swappable: false,
3626                ..Equippable::new()
3627            },
3628            ItemKind::PinkCarpet => Equippable {
3629                allowed_entities: Some(HolderSet::Direct {
3630                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3631                }),
3632                asset_id: Some("minecraft:pink_carpet".into()),
3633                can_be_sheared: true,
3634                equip_sound: SoundEvent::EntityLlamaSwag,
3635                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3636                slot: EquipmentSlot::Body,
3637                ..Equippable::new()
3638            },
3639            ItemKind::PinkHarness => Equippable {
3640                allowed_entities: Some(HolderSet::Direct {
3641                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3642                        .clone()
3643                        .into_iter()
3644                        .collect(),
3645                }),
3646                asset_id: Some("minecraft:pink_harness".into()),
3647                can_be_sheared: true,
3648                equip_on_interact: true,
3649                equip_sound: SoundEvent::EntityHappyGhastEquip,
3650                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3651                slot: EquipmentSlot::Body,
3652                ..Equippable::new()
3653            },
3654            ItemKind::PlayerHead => Equippable {
3655                slot: EquipmentSlot::Head,
3656                swappable: false,
3657                ..Equippable::new()
3658            },
3659            ItemKind::PurpleCarpet => Equippable {
3660                allowed_entities: Some(HolderSet::Direct {
3661                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3662                }),
3663                asset_id: Some("minecraft:purple_carpet".into()),
3664                can_be_sheared: true,
3665                equip_sound: SoundEvent::EntityLlamaSwag,
3666                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3667                slot: EquipmentSlot::Body,
3668                ..Equippable::new()
3669            },
3670            ItemKind::PurpleHarness => Equippable {
3671                allowed_entities: Some(HolderSet::Direct {
3672                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3673                        .clone()
3674                        .into_iter()
3675                        .collect(),
3676                }),
3677                asset_id: Some("minecraft:purple_harness".into()),
3678                can_be_sheared: true,
3679                equip_on_interact: true,
3680                equip_sound: SoundEvent::EntityHappyGhastEquip,
3681                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3682                slot: EquipmentSlot::Body,
3683                ..Equippable::new()
3684            },
3685            ItemKind::RedCarpet => Equippable {
3686                allowed_entities: Some(HolderSet::Direct {
3687                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3688                }),
3689                asset_id: Some("minecraft:red_carpet".into()),
3690                can_be_sheared: true,
3691                equip_sound: SoundEvent::EntityLlamaSwag,
3692                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3693                slot: EquipmentSlot::Body,
3694                ..Equippable::new()
3695            },
3696            ItemKind::RedHarness => Equippable {
3697                allowed_entities: Some(HolderSet::Direct {
3698                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3699                        .clone()
3700                        .into_iter()
3701                        .collect(),
3702                }),
3703                asset_id: Some("minecraft:red_harness".into()),
3704                can_be_sheared: true,
3705                equip_on_interact: true,
3706                equip_sound: SoundEvent::EntityHappyGhastEquip,
3707                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3708                slot: EquipmentSlot::Body,
3709                ..Equippable::new()
3710            },
3711            ItemKind::Saddle => Equippable {
3712                allowed_entities: Some(HolderSet::Direct {
3713                    contents: azalea_registry::tags::entities::CAN_EQUIP_SADDLE
3714                        .clone()
3715                        .into_iter()
3716                        .collect(),
3717                }),
3718                asset_id: Some("minecraft:saddle".into()),
3719                can_be_sheared: true,
3720                equip_on_interact: true,
3721                equip_sound: SoundEvent::EntityHorseSaddle,
3722                shearing_sound: SoundEvent::ItemSaddleUnequip,
3723                slot: EquipmentSlot::Saddle,
3724                ..Equippable::new()
3725            },
3726            ItemKind::Shield => Equippable {
3727                slot: EquipmentSlot::Offhand,
3728                swappable: false,
3729                ..Equippable::new()
3730            },
3731            ItemKind::SkeletonSkull => Equippable {
3732                slot: EquipmentSlot::Head,
3733                swappable: false,
3734                ..Equippable::new()
3735            },
3736            ItemKind::TurtleHelmet => Equippable {
3737                asset_id: Some("minecraft:turtle_scute".into()),
3738                equip_sound: SoundEvent::ItemArmorEquipTurtle,
3739                slot: EquipmentSlot::Head,
3740                ..Equippable::new()
3741            },
3742            ItemKind::WhiteCarpet => Equippable {
3743                allowed_entities: Some(HolderSet::Direct {
3744                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3745                }),
3746                asset_id: Some("minecraft:white_carpet".into()),
3747                can_be_sheared: true,
3748                equip_sound: SoundEvent::EntityLlamaSwag,
3749                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3750                slot: EquipmentSlot::Body,
3751                ..Equippable::new()
3752            },
3753            ItemKind::WhiteHarness => Equippable {
3754                allowed_entities: Some(HolderSet::Direct {
3755                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3756                        .clone()
3757                        .into_iter()
3758                        .collect(),
3759                }),
3760                asset_id: Some("minecraft:white_harness".into()),
3761                can_be_sheared: true,
3762                equip_on_interact: true,
3763                equip_sound: SoundEvent::EntityHappyGhastEquip,
3764                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3765                slot: EquipmentSlot::Body,
3766                ..Equippable::new()
3767            },
3768            ItemKind::WitherSkeletonSkull => Equippable {
3769                slot: EquipmentSlot::Head,
3770                swappable: false,
3771                ..Equippable::new()
3772            },
3773            ItemKind::WolfArmor => Equippable {
3774                allowed_entities: Some(HolderSet::Direct {
3775                    contents: vec![EntityKind::Wolf],
3776                }),
3777                asset_id: Some("minecraft:armadillo_scute".into()),
3778                can_be_sheared: true,
3779                equip_sound: SoundEvent::ItemArmorEquipWolf,
3780                shearing_sound: SoundEvent::ItemArmorUnequipWolf,
3781                slot: EquipmentSlot::Body,
3782                ..Equippable::new()
3783            },
3784            ItemKind::YellowCarpet => Equippable {
3785                allowed_entities: Some(HolderSet::Direct {
3786                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3787                }),
3788                asset_id: Some("minecraft:yellow_carpet".into()),
3789                can_be_sheared: true,
3790                equip_sound: SoundEvent::EntityLlamaSwag,
3791                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3792                slot: EquipmentSlot::Body,
3793                ..Equippable::new()
3794            },
3795            ItemKind::YellowHarness => Equippable {
3796                allowed_entities: Some(HolderSet::Direct {
3797                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3798                        .clone()
3799                        .into_iter()
3800                        .collect(),
3801                }),
3802                asset_id: Some("minecraft:yellow_harness".into()),
3803                can_be_sheared: true,
3804                equip_on_interact: true,
3805                equip_sound: SoundEvent::EntityHappyGhastEquip,
3806                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3807                slot: EquipmentSlot::Body,
3808                ..Equippable::new()
3809            },
3810            ItemKind::ZombieHead => Equippable {
3811                slot: EquipmentSlot::Head,
3812                swappable: false,
3813                ..Equippable::new()
3814            },
3815            _ => return None,
3816        };
3817        Some(value)
3818    }
3819}
3820impl DefaultableComponent for Fireworks {
3821    fn default_for_item(item: ItemKind) -> Option<Self> {
3822        let value = match item {
3823            ItemKind::FireworkRocket => Fireworks {
3824                flight_duration: 1,
3825                ..Fireworks::new()
3826            },
3827            _ => return None,
3828        };
3829        Some(value)
3830    }
3831}
3832impl DefaultableComponent for Food {
3833    fn default_for_item(item: ItemKind) -> Option<Self> {
3834        let value = match item {
3835            ItemKind::Apple => Food {
3836                nutrition: 4,
3837                saturation: 2.4,
3838                ..Food::new()
3839            },
3840            ItemKind::BakedPotato => Food {
3841                nutrition: 5,
3842                saturation: 6.0,
3843                ..Food::new()
3844            },
3845            ItemKind::Beef => Food {
3846                nutrition: 3,
3847                saturation: 1.8000001,
3848                ..Food::new()
3849            },
3850            ItemKind::Beetroot => Food {
3851                nutrition: 1,
3852                saturation: 1.2,
3853                ..Food::new()
3854            },
3855            ItemKind::BeetrootSoup => Food {
3856                nutrition: 6,
3857                saturation: 7.2000003,
3858                ..Food::new()
3859            },
3860            ItemKind::Bread => Food {
3861                nutrition: 5,
3862                saturation: 6.0,
3863                ..Food::new()
3864            },
3865            ItemKind::Carrot => Food {
3866                nutrition: 3,
3867                saturation: 3.6000001,
3868                ..Food::new()
3869            },
3870            ItemKind::Chicken => Food {
3871                nutrition: 2,
3872                saturation: 1.2,
3873                ..Food::new()
3874            },
3875            ItemKind::ChorusFruit => Food {
3876                can_always_eat: true,
3877                nutrition: 4,
3878                saturation: 2.4,
3879            },
3880            ItemKind::Cod => Food {
3881                nutrition: 2,
3882                saturation: 0.4,
3883                ..Food::new()
3884            },
3885            ItemKind::CodBucket => Food {
3886                nutrition: 2,
3887                saturation: 0.4,
3888                ..Food::new()
3889            },
3890            ItemKind::CookedBeef => Food {
3891                nutrition: 8,
3892                saturation: 12.8,
3893                ..Food::new()
3894            },
3895            ItemKind::CookedChicken => Food {
3896                nutrition: 6,
3897                saturation: 7.2000003,
3898                ..Food::new()
3899            },
3900            ItemKind::CookedCod => Food {
3901                nutrition: 5,
3902                saturation: 6.0,
3903                ..Food::new()
3904            },
3905            ItemKind::CookedMutton => Food {
3906                nutrition: 6,
3907                saturation: 9.6,
3908                ..Food::new()
3909            },
3910            ItemKind::CookedPorkchop => Food {
3911                nutrition: 8,
3912                saturation: 12.8,
3913                ..Food::new()
3914            },
3915            ItemKind::CookedRabbit => Food {
3916                nutrition: 5,
3917                saturation: 6.0,
3918                ..Food::new()
3919            },
3920            ItemKind::CookedSalmon => Food {
3921                nutrition: 6,
3922                saturation: 9.6,
3923                ..Food::new()
3924            },
3925            ItemKind::Cookie => Food {
3926                nutrition: 2,
3927                saturation: 0.4,
3928                ..Food::new()
3929            },
3930            ItemKind::DriedKelp => Food {
3931                nutrition: 1,
3932                saturation: 0.6,
3933                ..Food::new()
3934            },
3935            ItemKind::EnchantedGoldenApple => Food {
3936                can_always_eat: true,
3937                nutrition: 4,
3938                saturation: 9.6,
3939            },
3940            ItemKind::GlowBerries => Food {
3941                nutrition: 2,
3942                saturation: 0.4,
3943                ..Food::new()
3944            },
3945            ItemKind::GoldenApple => Food {
3946                can_always_eat: true,
3947                nutrition: 4,
3948                saturation: 9.6,
3949            },
3950            ItemKind::GoldenCarrot => Food {
3951                nutrition: 6,
3952                saturation: 14.400001,
3953                ..Food::new()
3954            },
3955            ItemKind::HoneyBottle => Food {
3956                can_always_eat: true,
3957                nutrition: 6,
3958                saturation: 1.2,
3959            },
3960            ItemKind::MelonSlice => Food {
3961                nutrition: 2,
3962                saturation: 1.2,
3963                ..Food::new()
3964            },
3965            ItemKind::MushroomStew => Food {
3966                nutrition: 6,
3967                saturation: 7.2000003,
3968                ..Food::new()
3969            },
3970            ItemKind::Mutton => Food {
3971                nutrition: 2,
3972                saturation: 1.2,
3973                ..Food::new()
3974            },
3975            ItemKind::PoisonousPotato => Food {
3976                nutrition: 2,
3977                saturation: 1.2,
3978                ..Food::new()
3979            },
3980            ItemKind::Porkchop => Food {
3981                nutrition: 3,
3982                saturation: 1.8000001,
3983                ..Food::new()
3984            },
3985            ItemKind::Potato => Food {
3986                nutrition: 1,
3987                saturation: 0.6,
3988                ..Food::new()
3989            },
3990            ItemKind::Pufferfish => Food {
3991                nutrition: 1,
3992                saturation: 0.2,
3993                ..Food::new()
3994            },
3995            ItemKind::PufferfishBucket => Food {
3996                nutrition: 1,
3997                saturation: 0.2,
3998                ..Food::new()
3999            },
4000            ItemKind::PumpkinPie => Food {
4001                nutrition: 8,
4002                saturation: 4.8,
4003                ..Food::new()
4004            },
4005            ItemKind::Rabbit => Food {
4006                nutrition: 3,
4007                saturation: 1.8000001,
4008                ..Food::new()
4009            },
4010            ItemKind::RabbitStew => Food {
4011                nutrition: 10,
4012                saturation: 12.0,
4013                ..Food::new()
4014            },
4015            ItemKind::RottenFlesh => Food {
4016                nutrition: 4,
4017                saturation: 0.8,
4018                ..Food::new()
4019            },
4020            ItemKind::Salmon => Food {
4021                nutrition: 2,
4022                saturation: 0.4,
4023                ..Food::new()
4024            },
4025            ItemKind::SalmonBucket => Food {
4026                nutrition: 2,
4027                saturation: 0.4,
4028                ..Food::new()
4029            },
4030            ItemKind::SpiderEye => Food {
4031                nutrition: 2,
4032                saturation: 3.2,
4033                ..Food::new()
4034            },
4035            ItemKind::SuspiciousStew => Food {
4036                can_always_eat: true,
4037                nutrition: 6,
4038                saturation: 7.2000003,
4039            },
4040            ItemKind::SweetBerries => Food {
4041                nutrition: 2,
4042                saturation: 0.4,
4043                ..Food::new()
4044            },
4045            ItemKind::TropicalFish => Food {
4046                nutrition: 1,
4047                saturation: 0.2,
4048                ..Food::new()
4049            },
4050            ItemKind::TropicalFishBucket => Food {
4051                nutrition: 1,
4052                saturation: 0.2,
4053                ..Food::new()
4054            },
4055            _ => return None,
4056        };
4057        Some(value)
4058    }
4059}
4060impl DefaultableComponent for Glider {
4061    fn default_for_item(item: ItemKind) -> Option<Self> {
4062        let value = match item {
4063            ItemKind::Elytra => Glider,
4064            _ => return None,
4065        };
4066        Some(value)
4067    }
4068}
4069impl DefaultableComponent for Instrument {
4070    fn default_for_item(item: ItemKind) -> Option<Self> {
4071        let value = match item {
4072            ItemKind::GoatHorn => {
4073                azalea_registry::Holder::Reference(azalea_registry::data::Instrument::new_raw(0))
4074            }
4075            _ => return None,
4076        };
4077        Some(Instrument { value: value })
4078    }
4079}
4080#[rustfmt::skip]
4081static ITEM_MODEL_VALUES: [&str; 1537] = ["minecraft:air","minecraft:stone","minecraft:granite","minecraft:polished_granite","minecraft:diorite","minecraft:polished_diorite","minecraft:andesite","minecraft:polished_andesite","minecraft:deepslate","minecraft:cobbled_deepslate","minecraft:polished_deepslate","minecraft:calcite","minecraft:tuff","minecraft:tuff_slab","minecraft:tuff_stairs","minecraft:tuff_wall","minecraft:chiseled_tuff","minecraft:polished_tuff","minecraft:polished_tuff_slab","minecraft:polished_tuff_stairs","minecraft:polished_tuff_wall","minecraft:tuff_bricks","minecraft:tuff_brick_slab","minecraft:tuff_brick_stairs","minecraft:tuff_brick_wall","minecraft:chiseled_tuff_bricks","minecraft:sulfur","minecraft:potent_sulfur","minecraft:sulfur_slab","minecraft:sulfur_stairs","minecraft:sulfur_wall","minecraft:polished_sulfur","minecraft:polished_sulfur_slab","minecraft:polished_sulfur_stairs","minecraft:polished_sulfur_wall","minecraft:sulfur_bricks","minecraft:sulfur_brick_slab","minecraft:sulfur_brick_stairs","minecraft:sulfur_brick_wall","minecraft:chiseled_sulfur","minecraft:cinnabar","minecraft:cinnabar_slab","minecraft:cinnabar_stairs","minecraft:cinnabar_wall","minecraft:polished_cinnabar","minecraft:polished_cinnabar_slab","minecraft:polished_cinnabar_stairs","minecraft:polished_cinnabar_wall","minecraft:cinnabar_bricks","minecraft:cinnabar_brick_slab","minecraft:cinnabar_brick_stairs","minecraft:cinnabar_brick_wall","minecraft:chiseled_cinnabar","minecraft:dripstone_block","minecraft:grass_block","minecraft:dirt","minecraft:coarse_dirt","minecraft:podzol","minecraft:rooted_dirt","minecraft:mud","minecraft:crimson_nylium","minecraft:warped_nylium","minecraft:cobblestone","minecraft:oak_planks","minecraft:spruce_planks","minecraft:birch_planks","minecraft:jungle_planks","minecraft:acacia_planks","minecraft:cherry_planks","minecraft:dark_oak_planks","minecraft:pale_oak_planks","minecraft:mangrove_planks","minecraft:bamboo_planks","minecraft:crimson_planks","minecraft:warped_planks","minecraft:bamboo_mosaic","minecraft:oak_sapling","minecraft:spruce_sapling","minecraft:birch_sapling","minecraft:jungle_sapling","minecraft:acacia_sapling","minecraft:cherry_sapling","minecraft:dark_oak_sapling","minecraft:pale_oak_sapling","minecraft:mangrove_propagule","minecraft:bedrock","minecraft:sand","minecraft:suspicious_sand","minecraft:suspicious_gravel","minecraft:red_sand","minecraft:gravel","minecraft:coal_ore","minecraft:deepslate_coal_ore","minecraft:iron_ore","minecraft:deepslate_iron_ore","minecraft:copper_ore","minecraft:deepslate_copper_ore","minecraft:gold_ore","minecraft:deepslate_gold_ore","minecraft:redstone_ore","minecraft:deepslate_redstone_ore","minecraft:emerald_ore","minecraft:deepslate_emerald_ore","minecraft:lapis_ore","minecraft:deepslate_lapis_ore","minecraft:diamond_ore","minecraft:deepslate_diamond_ore","minecraft:nether_gold_ore","minecraft:nether_quartz_ore","minecraft:ancient_debris","minecraft:coal_block","minecraft:raw_iron_block","minecraft:raw_copper_block","minecraft:raw_gold_block","minecraft:heavy_core","minecraft:amethyst_block","minecraft:budding_amethyst","minecraft:iron_block","minecraft:copper_block","minecraft:exposed_copper","minecraft:weathered_copper","minecraft:oxidized_copper","minecraft:waxed_copper_block","minecraft:waxed_exposed_copper","minecraft:waxed_weathered_copper","minecraft:waxed_oxidized_copper","minecraft:gold_block","minecraft:diamond_block","minecraft:netherite_block","minecraft:chiseled_copper","minecraft:exposed_chiseled_copper","minecraft:weathered_chiseled_copper","minecraft:oxidized_chiseled_copper","minecraft:waxed_chiseled_copper","minecraft:waxed_exposed_chiseled_copper","minecraft:waxed_weathered_chiseled_copper","minecraft:waxed_oxidized_chiseled_copper","minecraft:cut_copper","minecraft:exposed_cut_copper","minecraft:weathered_cut_copper","minecraft:oxidized_cut_copper","minecraft:waxed_cut_copper","minecraft:waxed_exposed_cut_copper","minecraft:waxed_weathered_cut_copper","minecraft:waxed_oxidized_cut_copper","minecraft:cut_copper_stairs","minecraft:exposed_cut_copper_stairs","minecraft:weathered_cut_copper_stairs","minecraft:oxidized_cut_copper_stairs","minecraft:waxed_cut_copper_stairs","minecraft:waxed_exposed_cut_copper_stairs","minecraft:waxed_weathered_cut_copper_stairs","minecraft:waxed_oxidized_cut_copper_stairs","minecraft:cut_copper_slab","minecraft:exposed_cut_copper_slab","minecraft:weathered_cut_copper_slab","minecraft:oxidized_cut_copper_slab","minecraft:waxed_cut_copper_slab","minecraft:waxed_exposed_cut_copper_slab","minecraft:waxed_weathered_cut_copper_slab","minecraft:waxed_oxidized_cut_copper_slab","minecraft:oak_log","minecraft:spruce_log","minecraft:birch_log","minecraft:jungle_log","minecraft:acacia_log","minecraft:cherry_log","minecraft:pale_oak_log","minecraft:dark_oak_log","minecraft:mangrove_log","minecraft:mangrove_roots","minecraft:muddy_mangrove_roots","minecraft:crimson_stem","minecraft:warped_stem","minecraft:bamboo_block","minecraft:stripped_oak_log","minecraft:stripped_spruce_log","minecraft:stripped_birch_log","minecraft:stripped_jungle_log","minecraft:stripped_acacia_log","minecraft:stripped_cherry_log","minecraft:stripped_dark_oak_log","minecraft:stripped_pale_oak_log","minecraft:stripped_mangrove_log","minecraft:stripped_crimson_stem","minecraft:stripped_warped_stem","minecraft:stripped_oak_wood","minecraft:stripped_spruce_wood","minecraft:stripped_birch_wood","minecraft:stripped_jungle_wood","minecraft:stripped_acacia_wood","minecraft:stripped_cherry_wood","minecraft:stripped_dark_oak_wood","minecraft:stripped_pale_oak_wood","minecraft:stripped_mangrove_wood","minecraft:stripped_crimson_hyphae","minecraft:stripped_warped_hyphae","minecraft:stripped_bamboo_block","minecraft:oak_wood","minecraft:spruce_wood","minecraft:birch_wood","minecraft:jungle_wood","minecraft:acacia_wood","minecraft:cherry_wood","minecraft:pale_oak_wood","minecraft:dark_oak_wood","minecraft:mangrove_wood","minecraft:crimson_hyphae","minecraft:warped_hyphae","minecraft:oak_leaves","minecraft:spruce_leaves","minecraft:birch_leaves","minecraft:jungle_leaves","minecraft:acacia_leaves","minecraft:cherry_leaves","minecraft:dark_oak_leaves","minecraft:pale_oak_leaves","minecraft:mangrove_leaves","minecraft:azalea_leaves","minecraft:flowering_azalea_leaves","minecraft:sponge","minecraft:wet_sponge","minecraft:glass","minecraft:tinted_glass","minecraft:lapis_block","minecraft:sandstone","minecraft:chiseled_sandstone","minecraft:cut_sandstone","minecraft:cobweb","minecraft:short_grass","minecraft:fern","minecraft:bush","minecraft:azalea","minecraft:flowering_azalea","minecraft:dead_bush","minecraft:firefly_bush","minecraft:short_dry_grass","minecraft:tall_dry_grass","minecraft:seagrass","minecraft:sea_pickle","minecraft:white_wool","minecraft:orange_wool","minecraft:magenta_wool","minecraft:light_blue_wool","minecraft:yellow_wool","minecraft:lime_wool","minecraft:pink_wool","minecraft:gray_wool","minecraft:light_gray_wool","minecraft:cyan_wool","minecraft:purple_wool","minecraft:blue_wool","minecraft:brown_wool","minecraft:green_wool","minecraft:red_wool","minecraft:black_wool","minecraft:dandelion","minecraft:golden_dandelion","minecraft:open_eyeblossom","minecraft:closed_eyeblossom","minecraft:poppy","minecraft:blue_orchid","minecraft:allium","minecraft:azure_bluet","minecraft:red_tulip","minecraft:orange_tulip","minecraft:white_tulip","minecraft:pink_tulip","minecraft:oxeye_daisy","minecraft:cornflower","minecraft:lily_of_the_valley","minecraft:wither_rose","minecraft:torchflower","minecraft:pitcher_plant","minecraft:spore_blossom","minecraft:brown_mushroom","minecraft:red_mushroom","minecraft:crimson_fungus","minecraft:warped_fungus","minecraft:crimson_roots","minecraft:warped_roots","minecraft:nether_sprouts","minecraft:weeping_vines","minecraft:twisting_vines","minecraft:sugar_cane","minecraft:kelp","minecraft:pink_petals","minecraft:wildflowers","minecraft:leaf_litter","minecraft:moss_carpet","minecraft:moss_block","minecraft:pale_moss_carpet","minecraft:pale_hanging_moss","minecraft:pale_moss_block","minecraft:hanging_roots","minecraft:big_dripleaf","minecraft:small_dripleaf","minecraft:bamboo","minecraft:oak_slab","minecraft:spruce_slab","minecraft:birch_slab","minecraft:jungle_slab","minecraft:acacia_slab","minecraft:cherry_slab","minecraft:dark_oak_slab","minecraft:pale_oak_slab","minecraft:mangrove_slab","minecraft:bamboo_slab","minecraft:bamboo_mosaic_slab","minecraft:crimson_slab","minecraft:warped_slab","minecraft:stone_slab","minecraft:smooth_stone_slab","minecraft:sandstone_slab","minecraft:cut_sandstone_slab","minecraft:petrified_oak_slab","minecraft:cobblestone_slab","minecraft:brick_slab","minecraft:stone_brick_slab","minecraft:mud_brick_slab","minecraft:nether_brick_slab","minecraft:quartz_slab","minecraft:red_sandstone_slab","minecraft:cut_red_sandstone_slab","minecraft:purpur_slab","minecraft:prismarine_slab","minecraft:prismarine_brick_slab","minecraft:dark_prismarine_slab","minecraft:smooth_quartz","minecraft:smooth_red_sandstone","minecraft:smooth_sandstone","minecraft:smooth_stone","minecraft:bricks","minecraft:acacia_shelf","minecraft:bamboo_shelf","minecraft:birch_shelf","minecraft:cherry_shelf","minecraft:crimson_shelf","minecraft:dark_oak_shelf","minecraft:jungle_shelf","minecraft:mangrove_shelf","minecraft:oak_shelf","minecraft:pale_oak_shelf","minecraft:spruce_shelf","minecraft:warped_shelf","minecraft:bookshelf","minecraft:chiseled_bookshelf","minecraft:decorated_pot","minecraft:mossy_cobblestone","minecraft:obsidian","minecraft:torch","minecraft:end_rod","minecraft:chorus_plant","minecraft:chorus_flower","minecraft:purpur_block","minecraft:purpur_pillar","minecraft:purpur_stairs","minecraft:spawner","minecraft:creaking_heart","minecraft:chest","minecraft:crafting_table","minecraft:farmland","minecraft:furnace","minecraft:ladder","minecraft:cobblestone_stairs","minecraft:snow","minecraft:ice","minecraft:snow_block","minecraft:cactus","minecraft:cactus_flower","minecraft:clay","minecraft:jukebox","minecraft:oak_fence","minecraft:spruce_fence","minecraft:birch_fence","minecraft:jungle_fence","minecraft:acacia_fence","minecraft:cherry_fence","minecraft:dark_oak_fence","minecraft:pale_oak_fence","minecraft:mangrove_fence","minecraft:bamboo_fence","minecraft:crimson_fence","minecraft:warped_fence","minecraft:pumpkin","minecraft:carved_pumpkin","minecraft:jack_o_lantern","minecraft:netherrack","minecraft:soul_sand","minecraft:soul_soil","minecraft:basalt","minecraft:polished_basalt","minecraft:smooth_basalt","minecraft:soul_torch","minecraft:copper_torch","minecraft:glowstone","minecraft:infested_stone","minecraft:infested_cobblestone","minecraft:infested_stone_bricks","minecraft:infested_mossy_stone_bricks","minecraft:infested_cracked_stone_bricks","minecraft:infested_chiseled_stone_bricks","minecraft:infested_deepslate","minecraft:stone_bricks","minecraft:mossy_stone_bricks","minecraft:cracked_stone_bricks","minecraft:chiseled_stone_bricks","minecraft:packed_mud","minecraft:mud_bricks","minecraft:deepslate_bricks","minecraft:cracked_deepslate_bricks","minecraft:deepslate_tiles","minecraft:cracked_deepslate_tiles","minecraft:chiseled_deepslate","minecraft:reinforced_deepslate","minecraft:brown_mushroom_block","minecraft:red_mushroom_block","minecraft:mushroom_stem","minecraft:iron_bars","minecraft:copper_bars","minecraft:exposed_copper_bars","minecraft:weathered_copper_bars","minecraft:oxidized_copper_bars","minecraft:waxed_copper_bars","minecraft:waxed_exposed_copper_bars","minecraft:waxed_weathered_copper_bars","minecraft:waxed_oxidized_copper_bars","minecraft:iron_chain","minecraft:copper_chain","minecraft:exposed_copper_chain","minecraft:weathered_copper_chain","minecraft:oxidized_copper_chain","minecraft:waxed_copper_chain","minecraft:waxed_exposed_copper_chain","minecraft:waxed_weathered_copper_chain","minecraft:waxed_oxidized_copper_chain","minecraft:glass_pane","minecraft:melon","minecraft:vine","minecraft:glow_lichen","minecraft:resin_clump","minecraft:resin_block","minecraft:resin_bricks","minecraft:resin_brick_stairs","minecraft:resin_brick_slab","minecraft:resin_brick_wall","minecraft:chiseled_resin_bricks","minecraft:brick_stairs","minecraft:stone_brick_stairs","minecraft:mud_brick_stairs","minecraft:mycelium","minecraft:lily_pad","minecraft:nether_bricks","minecraft:cracked_nether_bricks","minecraft:chiseled_nether_bricks","minecraft:nether_brick_fence","minecraft:nether_brick_stairs","minecraft:sculk","minecraft:sculk_vein","minecraft:sculk_catalyst","minecraft:sculk_shrieker","minecraft:enchanting_table","minecraft:end_portal_frame","minecraft:end_stone","minecraft:end_stone_bricks","minecraft:dragon_egg","minecraft:sandstone_stairs","minecraft:ender_chest","minecraft:emerald_block","minecraft:oak_stairs","minecraft:spruce_stairs","minecraft:birch_stairs","minecraft:jungle_stairs","minecraft:acacia_stairs","minecraft:cherry_stairs","minecraft:dark_oak_stairs","minecraft:pale_oak_stairs","minecraft:mangrove_stairs","minecraft:bamboo_stairs","minecraft:bamboo_mosaic_stairs","minecraft:crimson_stairs","minecraft:warped_stairs","minecraft:command_block","minecraft:beacon","minecraft:cobblestone_wall","minecraft:mossy_cobblestone_wall","minecraft:brick_wall","minecraft:prismarine_wall","minecraft:red_sandstone_wall","minecraft:mossy_stone_brick_wall","minecraft:granite_wall","minecraft:stone_brick_wall","minecraft:mud_brick_wall","minecraft:nether_brick_wall","minecraft:andesite_wall","minecraft:red_nether_brick_wall","minecraft:sandstone_wall","minecraft:end_stone_brick_wall","minecraft:diorite_wall","minecraft:blackstone_wall","minecraft:polished_blackstone_wall","minecraft:polished_blackstone_brick_wall","minecraft:cobbled_deepslate_wall","minecraft:polished_deepslate_wall","minecraft:deepslate_brick_wall","minecraft:deepslate_tile_wall","minecraft:anvil","minecraft:chipped_anvil","minecraft:damaged_anvil","minecraft:chiseled_quartz_block","minecraft:quartz_block","minecraft:quartz_bricks","minecraft:quartz_pillar","minecraft:quartz_stairs","minecraft:white_terracotta","minecraft:orange_terracotta","minecraft:magenta_terracotta","minecraft:light_blue_terracotta","minecraft:yellow_terracotta","minecraft:lime_terracotta","minecraft:pink_terracotta","minecraft:gray_terracotta","minecraft:light_gray_terracotta","minecraft:cyan_terracotta","minecraft:purple_terracotta","minecraft:blue_terracotta","minecraft:brown_terracotta","minecraft:green_terracotta","minecraft:red_terracotta","minecraft:black_terracotta","minecraft:barrier","minecraft:light","minecraft:hay_block","minecraft:white_carpet","minecraft:orange_carpet","minecraft:magenta_carpet","minecraft:light_blue_carpet","minecraft:yellow_carpet","minecraft:lime_carpet","minecraft:pink_carpet","minecraft:gray_carpet","minecraft:light_gray_carpet","minecraft:cyan_carpet","minecraft:purple_carpet","minecraft:blue_carpet","minecraft:brown_carpet","minecraft:green_carpet","minecraft:red_carpet","minecraft:black_carpet","minecraft:terracotta","minecraft:packed_ice","minecraft:dirt_path","minecraft:sunflower","minecraft:lilac","minecraft:rose_bush","minecraft:peony","minecraft:tall_grass","minecraft:large_fern","minecraft:white_stained_glass","minecraft:orange_stained_glass","minecraft:magenta_stained_glass","minecraft:light_blue_stained_glass","minecraft:yellow_stained_glass","minecraft:lime_stained_glass","minecraft:pink_stained_glass","minecraft:gray_stained_glass","minecraft:light_gray_stained_glass","minecraft:cyan_stained_glass","minecraft:purple_stained_glass","minecraft:blue_stained_glass","minecraft:brown_stained_glass","minecraft:green_stained_glass","minecraft:red_stained_glass","minecraft:black_stained_glass","minecraft:white_stained_glass_pane","minecraft:orange_stained_glass_pane","minecraft:magenta_stained_glass_pane","minecraft:light_blue_stained_glass_pane","minecraft:yellow_stained_glass_pane","minecraft:lime_stained_glass_pane","minecraft:pink_stained_glass_pane","minecraft:gray_stained_glass_pane","minecraft:light_gray_stained_glass_pane","minecraft:cyan_stained_glass_pane","minecraft:purple_stained_glass_pane","minecraft:blue_stained_glass_pane","minecraft:brown_stained_glass_pane","minecraft:green_stained_glass_pane","minecraft:red_stained_glass_pane","minecraft:black_stained_glass_pane","minecraft:prismarine","minecraft:prismarine_bricks","minecraft:dark_prismarine","minecraft:prismarine_stairs","minecraft:prismarine_brick_stairs","minecraft:dark_prismarine_stairs","minecraft:sea_lantern","minecraft:red_sandstone","minecraft:chiseled_red_sandstone","minecraft:cut_red_sandstone","minecraft:red_sandstone_stairs","minecraft:repeating_command_block","minecraft:chain_command_block","minecraft:magma_block","minecraft:nether_wart_block","minecraft:warped_wart_block","minecraft:red_nether_bricks","minecraft:bone_block","minecraft:structure_void","minecraft:shulker_box","minecraft:white_shulker_box","minecraft:orange_shulker_box","minecraft:magenta_shulker_box","minecraft:light_blue_shulker_box","minecraft:yellow_shulker_box","minecraft:lime_shulker_box","minecraft:pink_shulker_box","minecraft:gray_shulker_box","minecraft:light_gray_shulker_box","minecraft:cyan_shulker_box","minecraft:purple_shulker_box","minecraft:blue_shulker_box","minecraft:brown_shulker_box","minecraft:green_shulker_box","minecraft:red_shulker_box","minecraft:black_shulker_box","minecraft:white_glazed_terracotta","minecraft:orange_glazed_terracotta","minecraft:magenta_glazed_terracotta","minecraft:light_blue_glazed_terracotta","minecraft:yellow_glazed_terracotta","minecraft:lime_glazed_terracotta","minecraft:pink_glazed_terracotta","minecraft:gray_glazed_terracotta","minecraft:light_gray_glazed_terracotta","minecraft:cyan_glazed_terracotta","minecraft:purple_glazed_terracotta","minecraft:blue_glazed_terracotta","minecraft:brown_glazed_terracotta","minecraft:green_glazed_terracotta","minecraft:red_glazed_terracotta","minecraft:black_glazed_terracotta","minecraft:white_concrete","minecraft:orange_concrete","minecraft:magenta_concrete","minecraft:light_blue_concrete","minecraft:yellow_concrete","minecraft:lime_concrete","minecraft:pink_concrete","minecraft:gray_concrete","minecraft:light_gray_concrete","minecraft:cyan_concrete","minecraft:purple_concrete","minecraft:blue_concrete","minecraft:brown_concrete","minecraft:green_concrete","minecraft:red_concrete","minecraft:black_concrete","minecraft:white_concrete_powder","minecraft:orange_concrete_powder","minecraft:magenta_concrete_powder","minecraft:light_blue_concrete_powder","minecraft:yellow_concrete_powder","minecraft:lime_concrete_powder","minecraft:pink_concrete_powder","minecraft:gray_concrete_powder","minecraft:light_gray_concrete_powder","minecraft:cyan_concrete_powder","minecraft:purple_concrete_powder","minecraft:blue_concrete_powder","minecraft:brown_concrete_powder","minecraft:green_concrete_powder","minecraft:red_concrete_powder","minecraft:black_concrete_powder","minecraft:turtle_egg","minecraft:sniffer_egg","minecraft:dried_ghast","minecraft:dead_tube_coral_block","minecraft:dead_brain_coral_block","minecraft:dead_bubble_coral_block","minecraft:dead_fire_coral_block","minecraft:dead_horn_coral_block","minecraft:tube_coral_block","minecraft:brain_coral_block","minecraft:bubble_coral_block","minecraft:fire_coral_block","minecraft:horn_coral_block","minecraft:tube_coral","minecraft:brain_coral","minecraft:bubble_coral","minecraft:fire_coral","minecraft:horn_coral","minecraft:dead_brain_coral","minecraft:dead_bubble_coral","minecraft:dead_fire_coral","minecraft:dead_horn_coral","minecraft:dead_tube_coral","minecraft:tube_coral_fan","minecraft:brain_coral_fan","minecraft:bubble_coral_fan","minecraft:fire_coral_fan","minecraft:horn_coral_fan","minecraft:dead_tube_coral_fan","minecraft:dead_brain_coral_fan","minecraft:dead_bubble_coral_fan","minecraft:dead_fire_coral_fan","minecraft:dead_horn_coral_fan","minecraft:blue_ice","minecraft:conduit","minecraft:polished_granite_stairs","minecraft:smooth_red_sandstone_stairs","minecraft:mossy_stone_brick_stairs","minecraft:polished_diorite_stairs","minecraft:mossy_cobblestone_stairs","minecraft:end_stone_brick_stairs","minecraft:stone_stairs","minecraft:smooth_sandstone_stairs","minecraft:smooth_quartz_stairs","minecraft:granite_stairs","minecraft:andesite_stairs","minecraft:red_nether_brick_stairs","minecraft:polished_andesite_stairs","minecraft:diorite_stairs","minecraft:cobbled_deepslate_stairs","minecraft:polished_deepslate_stairs","minecraft:deepslate_brick_stairs","minecraft:deepslate_tile_stairs","minecraft:polished_granite_slab","minecraft:smooth_red_sandstone_slab","minecraft:mossy_stone_brick_slab","minecraft:polished_diorite_slab","minecraft:mossy_cobblestone_slab","minecraft:end_stone_brick_slab","minecraft:smooth_sandstone_slab","minecraft:smooth_quartz_slab","minecraft:granite_slab","minecraft:andesite_slab","minecraft:red_nether_brick_slab","minecraft:polished_andesite_slab","minecraft:diorite_slab","minecraft:cobbled_deepslate_slab","minecraft:polished_deepslate_slab","minecraft:deepslate_brick_slab","minecraft:deepslate_tile_slab","minecraft:scaffolding","minecraft:redstone","minecraft:redstone_torch","minecraft:redstone_block","minecraft:repeater","minecraft:comparator","minecraft:piston","minecraft:sticky_piston","minecraft:slime_block","minecraft:honey_block","minecraft:observer","minecraft:hopper","minecraft:dispenser","minecraft:dropper","minecraft:lectern","minecraft:target","minecraft:lever","minecraft:lightning_rod","minecraft:exposed_lightning_rod","minecraft:weathered_lightning_rod","minecraft:oxidized_lightning_rod","minecraft:waxed_lightning_rod","minecraft:waxed_exposed_lightning_rod","minecraft:waxed_weathered_lightning_rod","minecraft:waxed_oxidized_lightning_rod","minecraft:daylight_detector","minecraft:sculk_sensor","minecraft:calibrated_sculk_sensor","minecraft:tripwire_hook","minecraft:trapped_chest","minecraft:tnt","minecraft:redstone_lamp","minecraft:note_block","minecraft:stone_button","minecraft:polished_blackstone_button","minecraft:oak_button","minecraft:spruce_button","minecraft:birch_button","minecraft:jungle_button","minecraft:acacia_button","minecraft:cherry_button","minecraft:dark_oak_button","minecraft:pale_oak_button","minecraft:mangrove_button","minecraft:bamboo_button","minecraft:crimson_button","minecraft:warped_button","minecraft:stone_pressure_plate","minecraft:polished_blackstone_pressure_plate","minecraft:light_weighted_pressure_plate","minecraft:heavy_weighted_pressure_plate","minecraft:oak_pressure_plate","minecraft:spruce_pressure_plate","minecraft:birch_pressure_plate","minecraft:jungle_pressure_plate","minecraft:acacia_pressure_plate","minecraft:cherry_pressure_plate","minecraft:dark_oak_pressure_plate","minecraft:pale_oak_pressure_plate","minecraft:mangrove_pressure_plate","minecraft:bamboo_pressure_plate","minecraft:crimson_pressure_plate","minecraft:warped_pressure_plate","minecraft:iron_door","minecraft:oak_door","minecraft:spruce_door","minecraft:birch_door","minecraft:jungle_door","minecraft:acacia_door","minecraft:cherry_door","minecraft:dark_oak_door","minecraft:pale_oak_door","minecraft:mangrove_door","minecraft:bamboo_door","minecraft:crimson_door","minecraft:warped_door","minecraft:copper_door","minecraft:exposed_copper_door","minecraft:weathered_copper_door","minecraft:oxidized_copper_door","minecraft:waxed_copper_door","minecraft:waxed_exposed_copper_door","minecraft:waxed_weathered_copper_door","minecraft:waxed_oxidized_copper_door","minecraft:iron_trapdoor","minecraft:oak_trapdoor","minecraft:spruce_trapdoor","minecraft:birch_trapdoor","minecraft:jungle_trapdoor","minecraft:acacia_trapdoor","minecraft:cherry_trapdoor","minecraft:dark_oak_trapdoor","minecraft:pale_oak_trapdoor","minecraft:mangrove_trapdoor","minecraft:bamboo_trapdoor","minecraft:crimson_trapdoor","minecraft:warped_trapdoor","minecraft:copper_trapdoor","minecraft:exposed_copper_trapdoor","minecraft:weathered_copper_trapdoor","minecraft:oxidized_copper_trapdoor","minecraft:waxed_copper_trapdoor","minecraft:waxed_exposed_copper_trapdoor","minecraft:waxed_weathered_copper_trapdoor","minecraft:waxed_oxidized_copper_trapdoor","minecraft:oak_fence_gate","minecraft:spruce_fence_gate","minecraft:birch_fence_gate","minecraft:jungle_fence_gate","minecraft:acacia_fence_gate","minecraft:cherry_fence_gate","minecraft:dark_oak_fence_gate","minecraft:pale_oak_fence_gate","minecraft:mangrove_fence_gate","minecraft:bamboo_fence_gate","minecraft:crimson_fence_gate","minecraft:warped_fence_gate","minecraft:powered_rail","minecraft:detector_rail","minecraft:rail","minecraft:activator_rail","minecraft:saddle","minecraft:white_harness","minecraft:orange_harness","minecraft:magenta_harness","minecraft:light_blue_harness","minecraft:yellow_harness","minecraft:lime_harness","minecraft:pink_harness","minecraft:gray_harness","minecraft:light_gray_harness","minecraft:cyan_harness","minecraft:purple_harness","minecraft:blue_harness","minecraft:brown_harness","minecraft:green_harness","minecraft:red_harness","minecraft:black_harness","minecraft:minecart","minecraft:chest_minecart","minecraft:furnace_minecart","minecraft:tnt_minecart","minecraft:hopper_minecart","minecraft:carrot_on_a_stick","minecraft:warped_fungus_on_a_stick","minecraft:phantom_membrane","minecraft:elytra","minecraft:oak_boat","minecraft:oak_chest_boat","minecraft:spruce_boat","minecraft:spruce_chest_boat","minecraft:birch_boat","minecraft:birch_chest_boat","minecraft:jungle_boat","minecraft:jungle_chest_boat","minecraft:acacia_boat","minecraft:acacia_chest_boat","minecraft:cherry_boat","minecraft:cherry_chest_boat","minecraft:dark_oak_boat","minecraft:dark_oak_chest_boat","minecraft:pale_oak_boat","minecraft:pale_oak_chest_boat","minecraft:mangrove_boat","minecraft:mangrove_chest_boat","minecraft:bamboo_raft","minecraft:bamboo_chest_raft","minecraft:structure_block","minecraft:jigsaw","minecraft:test_block","minecraft:test_instance_block","minecraft:turtle_helmet","minecraft:turtle_scute","minecraft:armadillo_scute","minecraft:wolf_armor","minecraft:flint_and_steel","minecraft:bowl","minecraft:apple","minecraft:bow","minecraft:arrow","minecraft:coal","minecraft:charcoal","minecraft:diamond","minecraft:emerald","minecraft:lapis_lazuli","minecraft:quartz","minecraft:amethyst_shard","minecraft:raw_iron","minecraft:iron_ingot","minecraft:raw_copper","minecraft:copper_ingot","minecraft:raw_gold","minecraft:gold_ingot","minecraft:netherite_ingot","minecraft:netherite_scrap","minecraft:wooden_sword","minecraft:wooden_shovel","minecraft:wooden_pickaxe","minecraft:wooden_axe","minecraft:wooden_hoe","minecraft:copper_sword","minecraft:copper_shovel","minecraft:copper_pickaxe","minecraft:copper_axe","minecraft:copper_hoe","minecraft:stone_sword","minecraft:stone_shovel","minecraft:stone_pickaxe","minecraft:stone_axe","minecraft:stone_hoe","minecraft:golden_sword","minecraft:golden_shovel","minecraft:golden_pickaxe","minecraft:golden_axe","minecraft:golden_hoe","minecraft:iron_sword","minecraft:iron_shovel","minecraft:iron_pickaxe","minecraft:iron_axe","minecraft:iron_hoe","minecraft:diamond_sword","minecraft:diamond_shovel","minecraft:diamond_pickaxe","minecraft:diamond_axe","minecraft:diamond_hoe","minecraft:netherite_sword","minecraft:netherite_shovel","minecraft:netherite_pickaxe","minecraft:netherite_axe","minecraft:netherite_hoe","minecraft:stick","minecraft:mushroom_stew","minecraft:string","minecraft:feather","minecraft:gunpowder","minecraft:wheat_seeds","minecraft:wheat","minecraft:bread","minecraft:leather_helmet","minecraft:leather_chestplate","minecraft:leather_leggings","minecraft:leather_boots","minecraft:copper_helmet","minecraft:copper_chestplate","minecraft:copper_leggings","minecraft:copper_boots","minecraft:chainmail_helmet","minecraft:chainmail_chestplate","minecraft:chainmail_leggings","minecraft:chainmail_boots","minecraft:iron_helmet","minecraft:iron_chestplate","minecraft:iron_leggings","minecraft:iron_boots","minecraft:diamond_helmet","minecraft:diamond_chestplate","minecraft:diamond_leggings","minecraft:diamond_boots","minecraft:golden_helmet","minecraft:golden_chestplate","minecraft:golden_leggings","minecraft:golden_boots","minecraft:netherite_helmet","minecraft:netherite_chestplate","minecraft:netherite_leggings","minecraft:netherite_boots","minecraft:flint","minecraft:porkchop","minecraft:cooked_porkchop","minecraft:painting","minecraft:golden_apple","minecraft:enchanted_golden_apple","minecraft:oak_sign","minecraft:spruce_sign","minecraft:birch_sign","minecraft:jungle_sign","minecraft:acacia_sign","minecraft:cherry_sign","minecraft:dark_oak_sign","minecraft:pale_oak_sign","minecraft:mangrove_sign","minecraft:bamboo_sign","minecraft:crimson_sign","minecraft:warped_sign","minecraft:oak_hanging_sign","minecraft:spruce_hanging_sign","minecraft:birch_hanging_sign","minecraft:jungle_hanging_sign","minecraft:acacia_hanging_sign","minecraft:cherry_hanging_sign","minecraft:dark_oak_hanging_sign","minecraft:pale_oak_hanging_sign","minecraft:mangrove_hanging_sign","minecraft:bamboo_hanging_sign","minecraft:crimson_hanging_sign","minecraft:warped_hanging_sign","minecraft:bucket","minecraft:water_bucket","minecraft:lava_bucket","minecraft:powder_snow_bucket","minecraft:snowball","minecraft:leather","minecraft:milk_bucket","minecraft:pufferfish_bucket","minecraft:salmon_bucket","minecraft:cod_bucket","minecraft:tropical_fish_bucket","minecraft:axolotl_bucket","minecraft:sulfur_cube_bucket","minecraft:tadpole_bucket","minecraft:brick","minecraft:clay_ball","minecraft:dried_kelp_block","minecraft:paper","minecraft:book","minecraft:slime_ball","minecraft:egg","minecraft:blue_egg","minecraft:brown_egg","minecraft:compass","minecraft:recovery_compass","minecraft:bundle","minecraft:white_bundle","minecraft:orange_bundle","minecraft:magenta_bundle","minecraft:light_blue_bundle","minecraft:yellow_bundle","minecraft:lime_bundle","minecraft:pink_bundle","minecraft:gray_bundle","minecraft:light_gray_bundle","minecraft:cyan_bundle","minecraft:purple_bundle","minecraft:blue_bundle","minecraft:brown_bundle","minecraft:green_bundle","minecraft:red_bundle","minecraft:black_bundle","minecraft:fishing_rod","minecraft:clock","minecraft:spyglass","minecraft:glowstone_dust","minecraft:cod","minecraft:salmon","minecraft:tropical_fish","minecraft:pufferfish","minecraft:cooked_cod","minecraft:cooked_salmon","minecraft:ink_sac","minecraft:glow_ink_sac","minecraft:cocoa_beans","minecraft:white_dye","minecraft:orange_dye","minecraft:magenta_dye","minecraft:light_blue_dye","minecraft:yellow_dye","minecraft:lime_dye","minecraft:pink_dye","minecraft:gray_dye","minecraft:light_gray_dye","minecraft:cyan_dye","minecraft:purple_dye","minecraft:blue_dye","minecraft:brown_dye","minecraft:green_dye","minecraft:red_dye","minecraft:black_dye","minecraft:bone_meal","minecraft:bone","minecraft:sugar","minecraft:cake","minecraft:white_bed","minecraft:orange_bed","minecraft:magenta_bed","minecraft:light_blue_bed","minecraft:yellow_bed","minecraft:lime_bed","minecraft:pink_bed","minecraft:gray_bed","minecraft:light_gray_bed","minecraft:cyan_bed","minecraft:purple_bed","minecraft:blue_bed","minecraft:brown_bed","minecraft:green_bed","minecraft:red_bed","minecraft:black_bed","minecraft:cookie","minecraft:crafter","minecraft:filled_map","minecraft:shears","minecraft:melon_slice","minecraft:dried_kelp","minecraft:pumpkin_seeds","minecraft:melon_seeds","minecraft:beef","minecraft:cooked_beef","minecraft:chicken","minecraft:cooked_chicken","minecraft:rotten_flesh","minecraft:ender_pearl","minecraft:blaze_rod","minecraft:ghast_tear","minecraft:gold_nugget","minecraft:nether_wart","minecraft:glass_bottle","minecraft:potion","minecraft:spider_eye","minecraft:fermented_spider_eye","minecraft:blaze_powder","minecraft:magma_cream","minecraft:brewing_stand","minecraft:cauldron","minecraft:ender_eye","minecraft:glistering_melon_slice","minecraft:chicken_spawn_egg","minecraft:cow_spawn_egg","minecraft:pig_spawn_egg","minecraft:sheep_spawn_egg","minecraft:camel_spawn_egg","minecraft:donkey_spawn_egg","minecraft:horse_spawn_egg","minecraft:mule_spawn_egg","minecraft:cat_spawn_egg","minecraft:parrot_spawn_egg","minecraft:wolf_spawn_egg","minecraft:armadillo_spawn_egg","minecraft:bat_spawn_egg","minecraft:bee_spawn_egg","minecraft:fox_spawn_egg","minecraft:goat_spawn_egg","minecraft:llama_spawn_egg","minecraft:ocelot_spawn_egg","minecraft:panda_spawn_egg","minecraft:polar_bear_spawn_egg","minecraft:rabbit_spawn_egg","minecraft:axolotl_spawn_egg","minecraft:cod_spawn_egg","minecraft:dolphin_spawn_egg","minecraft:frog_spawn_egg","minecraft:glow_squid_spawn_egg","minecraft:nautilus_spawn_egg","minecraft:pufferfish_spawn_egg","minecraft:salmon_spawn_egg","minecraft:squid_spawn_egg","minecraft:tadpole_spawn_egg","minecraft:tropical_fish_spawn_egg","minecraft:turtle_spawn_egg","minecraft:allay_spawn_egg","minecraft:mooshroom_spawn_egg","minecraft:sniffer_spawn_egg","minecraft:sulfur_cube_spawn_egg","minecraft:copper_golem_spawn_egg","minecraft:iron_golem_spawn_egg","minecraft:snow_golem_spawn_egg","minecraft:trader_llama_spawn_egg","minecraft:villager_spawn_egg","minecraft:wandering_trader_spawn_egg","minecraft:bogged_spawn_egg","minecraft:camel_husk_spawn_egg","minecraft:drowned_spawn_egg","minecraft:husk_spawn_egg","minecraft:parched_spawn_egg","minecraft:skeleton_spawn_egg","minecraft:skeleton_horse_spawn_egg","minecraft:stray_spawn_egg","minecraft:wither_spawn_egg","minecraft:wither_skeleton_spawn_egg","minecraft:zombie_spawn_egg","minecraft:zombie_horse_spawn_egg","minecraft:zombie_nautilus_spawn_egg","minecraft:zombie_villager_spawn_egg","minecraft:cave_spider_spawn_egg","minecraft:spider_spawn_egg","minecraft:breeze_spawn_egg","minecraft:creaking_spawn_egg","minecraft:creeper_spawn_egg","minecraft:elder_guardian_spawn_egg","minecraft:guardian_spawn_egg","minecraft:phantom_spawn_egg","minecraft:silverfish_spawn_egg","minecraft:slime_spawn_egg","minecraft:warden_spawn_egg","minecraft:witch_spawn_egg","minecraft:evoker_spawn_egg","minecraft:pillager_spawn_egg","minecraft:ravager_spawn_egg","minecraft:vindicator_spawn_egg","minecraft:vex_spawn_egg","minecraft:blaze_spawn_egg","minecraft:ghast_spawn_egg","minecraft:happy_ghast_spawn_egg","minecraft:hoglin_spawn_egg","minecraft:magma_cube_spawn_egg","minecraft:piglin_spawn_egg","minecraft:piglin_brute_spawn_egg","minecraft:strider_spawn_egg","minecraft:zoglin_spawn_egg","minecraft:zombified_piglin_spawn_egg","minecraft:ender_dragon_spawn_egg","minecraft:enderman_spawn_egg","minecraft:endermite_spawn_egg","minecraft:shulker_spawn_egg","minecraft:experience_bottle","minecraft:fire_charge","minecraft:wind_charge","minecraft:writable_book","minecraft:written_book","minecraft:breeze_rod","minecraft:mace","minecraft:item_frame","minecraft:glow_item_frame","minecraft:flower_pot","minecraft:carrot","minecraft:potato","minecraft:baked_potato","minecraft:poisonous_potato","minecraft:map","minecraft:golden_carrot","minecraft:skeleton_skull","minecraft:wither_skeleton_skull","minecraft:player_head","minecraft:zombie_head","minecraft:creeper_head","minecraft:dragon_head","minecraft:piglin_head","minecraft:nether_star","minecraft:pumpkin_pie","minecraft:firework_rocket","minecraft:firework_star","minecraft:enchanted_book","minecraft:nether_brick","minecraft:resin_brick","minecraft:prismarine_shard","minecraft:prismarine_crystals","minecraft:rabbit","minecraft:cooked_rabbit","minecraft:rabbit_stew","minecraft:rabbit_foot","minecraft:rabbit_hide","minecraft:armor_stand","minecraft:copper_horse_armor","minecraft:iron_horse_armor","minecraft:golden_horse_armor","minecraft:diamond_horse_armor","minecraft:netherite_horse_armor","minecraft:leather_horse_armor","minecraft:lead","minecraft:name_tag","minecraft:command_block_minecart","minecraft:mutton","minecraft:cooked_mutton","minecraft:white_banner","minecraft:orange_banner","minecraft:magenta_banner","minecraft:light_blue_banner","minecraft:yellow_banner","minecraft:lime_banner","minecraft:pink_banner","minecraft:gray_banner","minecraft:light_gray_banner","minecraft:cyan_banner","minecraft:purple_banner","minecraft:blue_banner","minecraft:brown_banner","minecraft:green_banner","minecraft:red_banner","minecraft:black_banner","minecraft:end_crystal","minecraft:chorus_fruit","minecraft:popped_chorus_fruit","minecraft:torchflower_seeds","minecraft:pitcher_pod","minecraft:beetroot","minecraft:beetroot_seeds","minecraft:beetroot_soup","minecraft:dragon_breath","minecraft:splash_potion","minecraft:spectral_arrow","minecraft:tipped_arrow","minecraft:lingering_potion","minecraft:shield","minecraft:wooden_spear","minecraft:stone_spear","minecraft:copper_spear","minecraft:iron_spear","minecraft:golden_spear","minecraft:diamond_spear","minecraft:netherite_spear","minecraft:totem_of_undying","minecraft:shulker_shell","minecraft:iron_nugget","minecraft:copper_nugget","minecraft:knowledge_book","minecraft:debug_stick","minecraft:music_disc_13","minecraft:music_disc_cat","minecraft:music_disc_blocks","minecraft:music_disc_bounce","minecraft:music_disc_chirp","minecraft:music_disc_creator","minecraft:music_disc_creator_music_box","minecraft:music_disc_far","minecraft:music_disc_lava_chicken","minecraft:music_disc_mall","minecraft:music_disc_mellohi","minecraft:music_disc_stal","minecraft:music_disc_strad","minecraft:music_disc_ward","minecraft:music_disc_11","minecraft:music_disc_wait","minecraft:music_disc_otherside","minecraft:music_disc_relic","minecraft:music_disc_5","minecraft:music_disc_pigstep","minecraft:music_disc_precipice","minecraft:music_disc_tears","minecraft:disc_fragment_5","minecraft:trident","minecraft:nautilus_shell","minecraft:iron_nautilus_armor","minecraft:golden_nautilus_armor","minecraft:diamond_nautilus_armor","minecraft:netherite_nautilus_armor","minecraft:copper_nautilus_armor","minecraft:heart_of_the_sea","minecraft:crossbow","minecraft:suspicious_stew","minecraft:loom","minecraft:flower_banner_pattern","minecraft:creeper_banner_pattern","minecraft:skull_banner_pattern","minecraft:mojang_banner_pattern","minecraft:globe_banner_pattern","minecraft:piglin_banner_pattern","minecraft:flow_banner_pattern","minecraft:guster_banner_pattern","minecraft:field_masoned_banner_pattern","minecraft:bordure_indented_banner_pattern","minecraft:goat_horn","minecraft:composter","minecraft:barrel","minecraft:smoker","minecraft:blast_furnace","minecraft:cartography_table","minecraft:fletching_table","minecraft:grindstone","minecraft:smithing_table","minecraft:stonecutter","minecraft:bell","minecraft:lantern","minecraft:soul_lantern","minecraft:copper_lantern","minecraft:exposed_copper_lantern","minecraft:weathered_copper_lantern","minecraft:oxidized_copper_lantern","minecraft:waxed_copper_lantern","minecraft:waxed_exposed_copper_lantern","minecraft:waxed_weathered_copper_lantern","minecraft:waxed_oxidized_copper_lantern","minecraft:sweet_berries","minecraft:glow_berries","minecraft:campfire","minecraft:soul_campfire","minecraft:shroomlight","minecraft:honeycomb","minecraft:bee_nest","minecraft:beehive","minecraft:honey_bottle","minecraft:honeycomb_block","minecraft:lodestone","minecraft:crying_obsidian","minecraft:blackstone","minecraft:blackstone_slab","minecraft:blackstone_stairs","minecraft:gilded_blackstone","minecraft:polished_blackstone","minecraft:polished_blackstone_slab","minecraft:polished_blackstone_stairs","minecraft:chiseled_polished_blackstone","minecraft:polished_blackstone_bricks","minecraft:polished_blackstone_brick_slab","minecraft:polished_blackstone_brick_stairs","minecraft:cracked_polished_blackstone_bricks","minecraft:respawn_anchor","minecraft:candle","minecraft:white_candle","minecraft:orange_candle","minecraft:magenta_candle","minecraft:light_blue_candle","minecraft:yellow_candle","minecraft:lime_candle","minecraft:pink_candle","minecraft:gray_candle","minecraft:light_gray_candle","minecraft:cyan_candle","minecraft:purple_candle","minecraft:blue_candle","minecraft:brown_candle","minecraft:green_candle","minecraft:red_candle","minecraft:black_candle","minecraft:small_amethyst_bud","minecraft:medium_amethyst_bud","minecraft:large_amethyst_bud","minecraft:amethyst_cluster","minecraft:pointed_dripstone","minecraft:sulfur_spike","minecraft:ochre_froglight","minecraft:verdant_froglight","minecraft:pearlescent_froglight","minecraft:frogspawn","minecraft:echo_shard","minecraft:brush","minecraft:netherite_upgrade_smithing_template","minecraft:sentry_armor_trim_smithing_template","minecraft:dune_armor_trim_smithing_template","minecraft:coast_armor_trim_smithing_template","minecraft:wild_armor_trim_smithing_template","minecraft:ward_armor_trim_smithing_template","minecraft:eye_armor_trim_smithing_template","minecraft:vex_armor_trim_smithing_template","minecraft:tide_armor_trim_smithing_template","minecraft:snout_armor_trim_smithing_template","minecraft:rib_armor_trim_smithing_template","minecraft:spire_armor_trim_smithing_template","minecraft:wayfinder_armor_trim_smithing_template","minecraft:shaper_armor_trim_smithing_template","minecraft:silence_armor_trim_smithing_template","minecraft:raiser_armor_trim_smithing_template","minecraft:host_armor_trim_smithing_template","minecraft:flow_armor_trim_smithing_template","minecraft:bolt_armor_trim_smithing_template","minecraft:angler_pottery_sherd","minecraft:archer_pottery_sherd","minecraft:arms_up_pottery_sherd","minecraft:blade_pottery_sherd","minecraft:brewer_pottery_sherd","minecraft:burn_pottery_sherd","minecraft:danger_pottery_sherd","minecraft:explorer_pottery_sherd","minecraft:flow_pottery_sherd","minecraft:friend_pottery_sherd","minecraft:guster_pottery_sherd","minecraft:heart_pottery_sherd","minecraft:heartbreak_pottery_sherd","minecraft:howl_pottery_sherd","minecraft:miner_pottery_sherd","minecraft:mourner_pottery_sherd","minecraft:plenty_pottery_sherd","minecraft:prize_pottery_sherd","minecraft:scrape_pottery_sherd","minecraft:sheaf_pottery_sherd","minecraft:shelter_pottery_sherd","minecraft:skull_pottery_sherd","minecraft:snort_pottery_sherd","minecraft:copper_grate","minecraft:exposed_copper_grate","minecraft:weathered_copper_grate","minecraft:oxidized_copper_grate","minecraft:waxed_copper_grate","minecraft:waxed_exposed_copper_grate","minecraft:waxed_weathered_copper_grate","minecraft:waxed_oxidized_copper_grate","minecraft:copper_bulb","minecraft:exposed_copper_bulb","minecraft:weathered_copper_bulb","minecraft:oxidized_copper_bulb","minecraft:waxed_copper_bulb","minecraft:waxed_exposed_copper_bulb","minecraft:waxed_weathered_copper_bulb","minecraft:waxed_oxidized_copper_bulb","minecraft:copper_chest","minecraft:exposed_copper_chest","minecraft:weathered_copper_chest","minecraft:oxidized_copper_chest","minecraft:waxed_copper_chest","minecraft:waxed_exposed_copper_chest","minecraft:waxed_weathered_copper_chest","minecraft:waxed_oxidized_copper_chest","minecraft:copper_golem_statue","minecraft:exposed_copper_golem_statue","minecraft:weathered_copper_golem_statue","minecraft:oxidized_copper_golem_statue","minecraft:waxed_copper_golem_statue","minecraft:waxed_exposed_copper_golem_statue","minecraft:waxed_weathered_copper_golem_statue","minecraft:waxed_oxidized_copper_golem_statue","minecraft:trial_spawner","minecraft:trial_key","minecraft:ominous_trial_key","minecraft:vault","minecraft:ominous_bottle"];
4082impl DefaultableComponent for ItemModel {
4083    fn default_for_item(item: ItemKind) -> Option<Self> {
4084        let value = ITEM_MODEL_VALUES[item as usize];
4085        Some(ItemModel {
4086            resource_location: value.into(),
4087        })
4088    }
4089}
4090#[rustfmt::skip]
4091static ITEM_NAME_VALUES: [&str; 1537] = ["block.minecraft.air","block.minecraft.stone","block.minecraft.granite","block.minecraft.polished_granite","block.minecraft.diorite","block.minecraft.polished_diorite","block.minecraft.andesite","block.minecraft.polished_andesite","block.minecraft.deepslate","block.minecraft.cobbled_deepslate","block.minecraft.polished_deepslate","block.minecraft.calcite","block.minecraft.tuff","block.minecraft.tuff_slab","block.minecraft.tuff_stairs","block.minecraft.tuff_wall","block.minecraft.chiseled_tuff","block.minecraft.polished_tuff","block.minecraft.polished_tuff_slab","block.minecraft.polished_tuff_stairs","block.minecraft.polished_tuff_wall","block.minecraft.tuff_bricks","block.minecraft.tuff_brick_slab","block.minecraft.tuff_brick_stairs","block.minecraft.tuff_brick_wall","block.minecraft.chiseled_tuff_bricks","block.minecraft.sulfur","block.minecraft.potent_sulfur","block.minecraft.sulfur_slab","block.minecraft.sulfur_stairs","block.minecraft.sulfur_wall","block.minecraft.polished_sulfur","block.minecraft.polished_sulfur_slab","block.minecraft.polished_sulfur_stairs","block.minecraft.polished_sulfur_wall","block.minecraft.sulfur_bricks","block.minecraft.sulfur_brick_slab","block.minecraft.sulfur_brick_stairs","block.minecraft.sulfur_brick_wall","block.minecraft.chiseled_sulfur","block.minecraft.cinnabar","block.minecraft.cinnabar_slab","block.minecraft.cinnabar_stairs","block.minecraft.cinnabar_wall","block.minecraft.polished_cinnabar","block.minecraft.polished_cinnabar_slab","block.minecraft.polished_cinnabar_stairs","block.minecraft.polished_cinnabar_wall","block.minecraft.cinnabar_bricks","block.minecraft.cinnabar_brick_slab","block.minecraft.cinnabar_brick_stairs","block.minecraft.cinnabar_brick_wall","block.minecraft.chiseled_cinnabar","block.minecraft.dripstone_block","block.minecraft.grass_block","block.minecraft.dirt","block.minecraft.coarse_dirt","block.minecraft.podzol","block.minecraft.rooted_dirt","block.minecraft.mud","block.minecraft.crimson_nylium","block.minecraft.warped_nylium","block.minecraft.cobblestone","block.minecraft.oak_planks","block.minecraft.spruce_planks","block.minecraft.birch_planks","block.minecraft.jungle_planks","block.minecraft.acacia_planks","block.minecraft.cherry_planks","block.minecraft.dark_oak_planks","block.minecraft.pale_oak_planks","block.minecraft.mangrove_planks","block.minecraft.bamboo_planks","block.minecraft.crimson_planks","block.minecraft.warped_planks","block.minecraft.bamboo_mosaic","block.minecraft.oak_sapling","block.minecraft.spruce_sapling","block.minecraft.birch_sapling","block.minecraft.jungle_sapling","block.minecraft.acacia_sapling","block.minecraft.cherry_sapling","block.minecraft.dark_oak_sapling","block.minecraft.pale_oak_sapling","block.minecraft.mangrove_propagule","block.minecraft.bedrock","block.minecraft.sand","block.minecraft.suspicious_sand","block.minecraft.suspicious_gravel","block.minecraft.red_sand","block.minecraft.gravel","block.minecraft.coal_ore","block.minecraft.deepslate_coal_ore","block.minecraft.iron_ore","block.minecraft.deepslate_iron_ore","block.minecraft.copper_ore","block.minecraft.deepslate_copper_ore","block.minecraft.gold_ore","block.minecraft.deepslate_gold_ore","block.minecraft.redstone_ore","block.minecraft.deepslate_redstone_ore","block.minecraft.emerald_ore","block.minecraft.deepslate_emerald_ore","block.minecraft.lapis_ore","block.minecraft.deepslate_lapis_ore","block.minecraft.diamond_ore","block.minecraft.deepslate_diamond_ore","block.minecraft.nether_gold_ore","block.minecraft.nether_quartz_ore","block.minecraft.ancient_debris","block.minecraft.coal_block","block.minecraft.raw_iron_block","block.minecraft.raw_copper_block","block.minecraft.raw_gold_block","block.minecraft.heavy_core","block.minecraft.amethyst_block","block.minecraft.budding_amethyst","block.minecraft.iron_block","block.minecraft.copper_block","block.minecraft.exposed_copper","block.minecraft.weathered_copper","block.minecraft.oxidized_copper","block.minecraft.waxed_copper_block","block.minecraft.waxed_exposed_copper","block.minecraft.waxed_weathered_copper","block.minecraft.waxed_oxidized_copper","block.minecraft.gold_block","block.minecraft.diamond_block","block.minecraft.netherite_block","block.minecraft.chiseled_copper","block.minecraft.exposed_chiseled_copper","block.minecraft.weathered_chiseled_copper","block.minecraft.oxidized_chiseled_copper","block.minecraft.waxed_chiseled_copper","block.minecraft.waxed_exposed_chiseled_copper","block.minecraft.waxed_weathered_chiseled_copper","block.minecraft.waxed_oxidized_chiseled_copper","block.minecraft.cut_copper","block.minecraft.exposed_cut_copper","block.minecraft.weathered_cut_copper","block.minecraft.oxidized_cut_copper","block.minecraft.waxed_cut_copper","block.minecraft.waxed_exposed_cut_copper","block.minecraft.waxed_weathered_cut_copper","block.minecraft.waxed_oxidized_cut_copper","block.minecraft.cut_copper_stairs","block.minecraft.exposed_cut_copper_stairs","block.minecraft.weathered_cut_copper_stairs","block.minecraft.oxidized_cut_copper_stairs","block.minecraft.waxed_cut_copper_stairs","block.minecraft.waxed_exposed_cut_copper_stairs","block.minecraft.waxed_weathered_cut_copper_stairs","block.minecraft.waxed_oxidized_cut_copper_stairs","block.minecraft.cut_copper_slab","block.minecraft.exposed_cut_copper_slab","block.minecraft.weathered_cut_copper_slab","block.minecraft.oxidized_cut_copper_slab","block.minecraft.waxed_cut_copper_slab","block.minecraft.waxed_exposed_cut_copper_slab","block.minecraft.waxed_weathered_cut_copper_slab","block.minecraft.waxed_oxidized_cut_copper_slab","block.minecraft.oak_log","block.minecraft.spruce_log","block.minecraft.birch_log","block.minecraft.jungle_log","block.minecraft.acacia_log","block.minecraft.cherry_log","block.minecraft.pale_oak_log","block.minecraft.dark_oak_log","block.minecraft.mangrove_log","block.minecraft.mangrove_roots","block.minecraft.muddy_mangrove_roots","block.minecraft.crimson_stem","block.minecraft.warped_stem","block.minecraft.bamboo_block","block.minecraft.stripped_oak_log","block.minecraft.stripped_spruce_log","block.minecraft.stripped_birch_log","block.minecraft.stripped_jungle_log","block.minecraft.stripped_acacia_log","block.minecraft.stripped_cherry_log","block.minecraft.stripped_dark_oak_log","block.minecraft.stripped_pale_oak_log","block.minecraft.stripped_mangrove_log","block.minecraft.stripped_crimson_stem","block.minecraft.stripped_warped_stem","block.minecraft.stripped_oak_wood","block.minecraft.stripped_spruce_wood","block.minecraft.stripped_birch_wood","block.minecraft.stripped_jungle_wood","block.minecraft.stripped_acacia_wood","block.minecraft.stripped_cherry_wood","block.minecraft.stripped_dark_oak_wood","block.minecraft.stripped_pale_oak_wood","block.minecraft.stripped_mangrove_wood","block.minecraft.stripped_crimson_hyphae","block.minecraft.stripped_warped_hyphae","block.minecraft.stripped_bamboo_block","block.minecraft.oak_wood","block.minecraft.spruce_wood","block.minecraft.birch_wood","block.minecraft.jungle_wood","block.minecraft.acacia_wood","block.minecraft.cherry_wood","block.minecraft.pale_oak_wood","block.minecraft.dark_oak_wood","block.minecraft.mangrove_wood","block.minecraft.crimson_hyphae","block.minecraft.warped_hyphae","block.minecraft.oak_leaves","block.minecraft.spruce_leaves","block.minecraft.birch_leaves","block.minecraft.jungle_leaves","block.minecraft.acacia_leaves","block.minecraft.cherry_leaves","block.minecraft.dark_oak_leaves","block.minecraft.pale_oak_leaves","block.minecraft.mangrove_leaves","block.minecraft.azalea_leaves","block.minecraft.flowering_azalea_leaves","block.minecraft.sponge","block.minecraft.wet_sponge","block.minecraft.glass","block.minecraft.tinted_glass","block.minecraft.lapis_block","block.minecraft.sandstone","block.minecraft.chiseled_sandstone","block.minecraft.cut_sandstone","block.minecraft.cobweb","block.minecraft.short_grass","block.minecraft.fern","block.minecraft.bush","block.minecraft.azalea","block.minecraft.flowering_azalea","block.minecraft.dead_bush","block.minecraft.firefly_bush","block.minecraft.short_dry_grass","block.minecraft.tall_dry_grass","block.minecraft.seagrass","block.minecraft.sea_pickle","block.minecraft.white_wool","block.minecraft.orange_wool","block.minecraft.magenta_wool","block.minecraft.light_blue_wool","block.minecraft.yellow_wool","block.minecraft.lime_wool","block.minecraft.pink_wool","block.minecraft.gray_wool","block.minecraft.light_gray_wool","block.minecraft.cyan_wool","block.minecraft.purple_wool","block.minecraft.blue_wool","block.minecraft.brown_wool","block.minecraft.green_wool","block.minecraft.red_wool","block.minecraft.black_wool","block.minecraft.dandelion","block.minecraft.golden_dandelion","block.minecraft.open_eyeblossom","block.minecraft.closed_eyeblossom","block.minecraft.poppy","block.minecraft.blue_orchid","block.minecraft.allium","block.minecraft.azure_bluet","block.minecraft.red_tulip","block.minecraft.orange_tulip","block.minecraft.white_tulip","block.minecraft.pink_tulip","block.minecraft.oxeye_daisy","block.minecraft.cornflower","block.minecraft.lily_of_the_valley","block.minecraft.wither_rose","block.minecraft.torchflower","block.minecraft.pitcher_plant","block.minecraft.spore_blossom","block.minecraft.brown_mushroom","block.minecraft.red_mushroom","block.minecraft.crimson_fungus","block.minecraft.warped_fungus","block.minecraft.crimson_roots","block.minecraft.warped_roots","block.minecraft.nether_sprouts","block.minecraft.weeping_vines","block.minecraft.twisting_vines","block.minecraft.sugar_cane","block.minecraft.kelp","block.minecraft.pink_petals","block.minecraft.wildflowers","block.minecraft.leaf_litter","block.minecraft.moss_carpet","block.minecraft.moss_block","block.minecraft.pale_moss_carpet","block.minecraft.pale_hanging_moss","block.minecraft.pale_moss_block","block.minecraft.hanging_roots","block.minecraft.big_dripleaf","block.minecraft.small_dripleaf","block.minecraft.bamboo","block.minecraft.oak_slab","block.minecraft.spruce_slab","block.minecraft.birch_slab","block.minecraft.jungle_slab","block.minecraft.acacia_slab","block.minecraft.cherry_slab","block.minecraft.dark_oak_slab","block.minecraft.pale_oak_slab","block.minecraft.mangrove_slab","block.minecraft.bamboo_slab","block.minecraft.bamboo_mosaic_slab","block.minecraft.crimson_slab","block.minecraft.warped_slab","block.minecraft.stone_slab","block.minecraft.smooth_stone_slab","block.minecraft.sandstone_slab","block.minecraft.cut_sandstone_slab","block.minecraft.petrified_oak_slab","block.minecraft.cobblestone_slab","block.minecraft.brick_slab","block.minecraft.stone_brick_slab","block.minecraft.mud_brick_slab","block.minecraft.nether_brick_slab","block.minecraft.quartz_slab","block.minecraft.red_sandstone_slab","block.minecraft.cut_red_sandstone_slab","block.minecraft.purpur_slab","block.minecraft.prismarine_slab","block.minecraft.prismarine_brick_slab","block.minecraft.dark_prismarine_slab","block.minecraft.smooth_quartz","block.minecraft.smooth_red_sandstone","block.minecraft.smooth_sandstone","block.minecraft.smooth_stone","block.minecraft.bricks","block.minecraft.acacia_shelf","block.minecraft.bamboo_shelf","block.minecraft.birch_shelf","block.minecraft.cherry_shelf","block.minecraft.crimson_shelf","block.minecraft.dark_oak_shelf","block.minecraft.jungle_shelf","block.minecraft.mangrove_shelf","block.minecraft.oak_shelf","block.minecraft.pale_oak_shelf","block.minecraft.spruce_shelf","block.minecraft.warped_shelf","block.minecraft.bookshelf","block.minecraft.chiseled_bookshelf","block.minecraft.decorated_pot","block.minecraft.mossy_cobblestone","block.minecraft.obsidian","block.minecraft.torch","block.minecraft.end_rod","block.minecraft.chorus_plant","block.minecraft.chorus_flower","block.minecraft.purpur_block","block.minecraft.purpur_pillar","block.minecraft.purpur_stairs","block.minecraft.spawner","block.minecraft.creaking_heart","block.minecraft.chest","block.minecraft.crafting_table","block.minecraft.farmland","block.minecraft.furnace","block.minecraft.ladder","block.minecraft.cobblestone_stairs","block.minecraft.snow","block.minecraft.ice","block.minecraft.snow_block","block.minecraft.cactus","block.minecraft.cactus_flower","block.minecraft.clay","block.minecraft.jukebox","block.minecraft.oak_fence","block.minecraft.spruce_fence","block.minecraft.birch_fence","block.minecraft.jungle_fence","block.minecraft.acacia_fence","block.minecraft.cherry_fence","block.minecraft.dark_oak_fence","block.minecraft.pale_oak_fence","block.minecraft.mangrove_fence","block.minecraft.bamboo_fence","block.minecraft.crimson_fence","block.minecraft.warped_fence","block.minecraft.pumpkin","block.minecraft.carved_pumpkin","block.minecraft.jack_o_lantern","block.minecraft.netherrack","block.minecraft.soul_sand","block.minecraft.soul_soil","block.minecraft.basalt","block.minecraft.polished_basalt","block.minecraft.smooth_basalt","block.minecraft.soul_torch","block.minecraft.copper_torch","block.minecraft.glowstone","block.minecraft.infested_stone","block.minecraft.infested_cobblestone","block.minecraft.infested_stone_bricks","block.minecraft.infested_mossy_stone_bricks","block.minecraft.infested_cracked_stone_bricks","block.minecraft.infested_chiseled_stone_bricks","block.minecraft.infested_deepslate","block.minecraft.stone_bricks","block.minecraft.mossy_stone_bricks","block.minecraft.cracked_stone_bricks","block.minecraft.chiseled_stone_bricks","block.minecraft.packed_mud","block.minecraft.mud_bricks","block.minecraft.deepslate_bricks","block.minecraft.cracked_deepslate_bricks","block.minecraft.deepslate_tiles","block.minecraft.cracked_deepslate_tiles","block.minecraft.chiseled_deepslate","block.minecraft.reinforced_deepslate","block.minecraft.brown_mushroom_block","block.minecraft.red_mushroom_block","block.minecraft.mushroom_stem","block.minecraft.iron_bars","block.minecraft.copper_bars","block.minecraft.exposed_copper_bars","block.minecraft.weathered_copper_bars","block.minecraft.oxidized_copper_bars","block.minecraft.waxed_copper_bars","block.minecraft.waxed_exposed_copper_bars","block.minecraft.waxed_weathered_copper_bars","block.minecraft.waxed_oxidized_copper_bars","block.minecraft.iron_chain","block.minecraft.copper_chain","block.minecraft.exposed_copper_chain","block.minecraft.weathered_copper_chain","block.minecraft.oxidized_copper_chain","block.minecraft.waxed_copper_chain","block.minecraft.waxed_exposed_copper_chain","block.minecraft.waxed_weathered_copper_chain","block.minecraft.waxed_oxidized_copper_chain","block.minecraft.glass_pane","block.minecraft.melon","block.minecraft.vine","block.minecraft.glow_lichen","item.minecraft.resin_clump","block.minecraft.resin_block","block.minecraft.resin_bricks","block.minecraft.resin_brick_stairs","block.minecraft.resin_brick_slab","block.minecraft.resin_brick_wall","block.minecraft.chiseled_resin_bricks","block.minecraft.brick_stairs","block.minecraft.stone_brick_stairs","block.minecraft.mud_brick_stairs","block.minecraft.mycelium","block.minecraft.lily_pad","block.minecraft.nether_bricks","block.minecraft.cracked_nether_bricks","block.minecraft.chiseled_nether_bricks","block.minecraft.nether_brick_fence","block.minecraft.nether_brick_stairs","block.minecraft.sculk","block.minecraft.sculk_vein","block.minecraft.sculk_catalyst","block.minecraft.sculk_shrieker","block.minecraft.enchanting_table","block.minecraft.end_portal_frame","block.minecraft.end_stone","block.minecraft.end_stone_bricks","block.minecraft.dragon_egg","block.minecraft.sandstone_stairs","block.minecraft.ender_chest","block.minecraft.emerald_block","block.minecraft.oak_stairs","block.minecraft.spruce_stairs","block.minecraft.birch_stairs","block.minecraft.jungle_stairs","block.minecraft.acacia_stairs","block.minecraft.cherry_stairs","block.minecraft.dark_oak_stairs","block.minecraft.pale_oak_stairs","block.minecraft.mangrove_stairs","block.minecraft.bamboo_stairs","block.minecraft.bamboo_mosaic_stairs","block.minecraft.crimson_stairs","block.minecraft.warped_stairs","block.minecraft.command_block","block.minecraft.beacon","block.minecraft.cobblestone_wall","block.minecraft.mossy_cobblestone_wall","block.minecraft.brick_wall","block.minecraft.prismarine_wall","block.minecraft.red_sandstone_wall","block.minecraft.mossy_stone_brick_wall","block.minecraft.granite_wall","block.minecraft.stone_brick_wall","block.minecraft.mud_brick_wall","block.minecraft.nether_brick_wall","block.minecraft.andesite_wall","block.minecraft.red_nether_brick_wall","block.minecraft.sandstone_wall","block.minecraft.end_stone_brick_wall","block.minecraft.diorite_wall","block.minecraft.blackstone_wall","block.minecraft.polished_blackstone_wall","block.minecraft.polished_blackstone_brick_wall","block.minecraft.cobbled_deepslate_wall","block.minecraft.polished_deepslate_wall","block.minecraft.deepslate_brick_wall","block.minecraft.deepslate_tile_wall","block.minecraft.anvil","block.minecraft.chipped_anvil","block.minecraft.damaged_anvil","block.minecraft.chiseled_quartz_block","block.minecraft.quartz_block","block.minecraft.quartz_bricks","block.minecraft.quartz_pillar","block.minecraft.quartz_stairs","block.minecraft.white_terracotta","block.minecraft.orange_terracotta","block.minecraft.magenta_terracotta","block.minecraft.light_blue_terracotta","block.minecraft.yellow_terracotta","block.minecraft.lime_terracotta","block.minecraft.pink_terracotta","block.minecraft.gray_terracotta","block.minecraft.light_gray_terracotta","block.minecraft.cyan_terracotta","block.minecraft.purple_terracotta","block.minecraft.blue_terracotta","block.minecraft.brown_terracotta","block.minecraft.green_terracotta","block.minecraft.red_terracotta","block.minecraft.black_terracotta","block.minecraft.barrier","block.minecraft.light","block.minecraft.hay_block","block.minecraft.white_carpet","block.minecraft.orange_carpet","block.minecraft.magenta_carpet","block.minecraft.light_blue_carpet","block.minecraft.yellow_carpet","block.minecraft.lime_carpet","block.minecraft.pink_carpet","block.minecraft.gray_carpet","block.minecraft.light_gray_carpet","block.minecraft.cyan_carpet","block.minecraft.purple_carpet","block.minecraft.blue_carpet","block.minecraft.brown_carpet","block.minecraft.green_carpet","block.minecraft.red_carpet","block.minecraft.black_carpet","block.minecraft.terracotta","block.minecraft.packed_ice","block.minecraft.dirt_path","block.minecraft.sunflower","block.minecraft.lilac","block.minecraft.rose_bush","block.minecraft.peony","block.minecraft.tall_grass","block.minecraft.large_fern","block.minecraft.white_stained_glass","block.minecraft.orange_stained_glass","block.minecraft.magenta_stained_glass","block.minecraft.light_blue_stained_glass","block.minecraft.yellow_stained_glass","block.minecraft.lime_stained_glass","block.minecraft.pink_stained_glass","block.minecraft.gray_stained_glass","block.minecraft.light_gray_stained_glass","block.minecraft.cyan_stained_glass","block.minecraft.purple_stained_glass","block.minecraft.blue_stained_glass","block.minecraft.brown_stained_glass","block.minecraft.green_stained_glass","block.minecraft.red_stained_glass","block.minecraft.black_stained_glass","block.minecraft.white_stained_glass_pane","block.minecraft.orange_stained_glass_pane","block.minecraft.magenta_stained_glass_pane","block.minecraft.light_blue_stained_glass_pane","block.minecraft.yellow_stained_glass_pane","block.minecraft.lime_stained_glass_pane","block.minecraft.pink_stained_glass_pane","block.minecraft.gray_stained_glass_pane","block.minecraft.light_gray_stained_glass_pane","block.minecraft.cyan_stained_glass_pane","block.minecraft.purple_stained_glass_pane","block.minecraft.blue_stained_glass_pane","block.minecraft.brown_stained_glass_pane","block.minecraft.green_stained_glass_pane","block.minecraft.red_stained_glass_pane","block.minecraft.black_stained_glass_pane","block.minecraft.prismarine","block.minecraft.prismarine_bricks","block.minecraft.dark_prismarine","block.minecraft.prismarine_stairs","block.minecraft.prismarine_brick_stairs","block.minecraft.dark_prismarine_stairs","block.minecraft.sea_lantern","block.minecraft.red_sandstone","block.minecraft.chiseled_red_sandstone","block.minecraft.cut_red_sandstone","block.minecraft.red_sandstone_stairs","block.minecraft.repeating_command_block","block.minecraft.chain_command_block","block.minecraft.magma_block","block.minecraft.nether_wart_block","block.minecraft.warped_wart_block","block.minecraft.red_nether_bricks","block.minecraft.bone_block","block.minecraft.structure_void","block.minecraft.shulker_box","block.minecraft.white_shulker_box","block.minecraft.orange_shulker_box","block.minecraft.magenta_shulker_box","block.minecraft.light_blue_shulker_box","block.minecraft.yellow_shulker_box","block.minecraft.lime_shulker_box","block.minecraft.pink_shulker_box","block.minecraft.gray_shulker_box","block.minecraft.light_gray_shulker_box","block.minecraft.cyan_shulker_box","block.minecraft.purple_shulker_box","block.minecraft.blue_shulker_box","block.minecraft.brown_shulker_box","block.minecraft.green_shulker_box","block.minecraft.red_shulker_box","block.minecraft.black_shulker_box","block.minecraft.white_glazed_terracotta","block.minecraft.orange_glazed_terracotta","block.minecraft.magenta_glazed_terracotta","block.minecraft.light_blue_glazed_terracotta","block.minecraft.yellow_glazed_terracotta","block.minecraft.lime_glazed_terracotta","block.minecraft.pink_glazed_terracotta","block.minecraft.gray_glazed_terracotta","block.minecraft.light_gray_glazed_terracotta","block.minecraft.cyan_glazed_terracotta","block.minecraft.purple_glazed_terracotta","block.minecraft.blue_glazed_terracotta","block.minecraft.brown_glazed_terracotta","block.minecraft.green_glazed_terracotta","block.minecraft.red_glazed_terracotta","block.minecraft.black_glazed_terracotta","block.minecraft.white_concrete","block.minecraft.orange_concrete","block.minecraft.magenta_concrete","block.minecraft.light_blue_concrete","block.minecraft.yellow_concrete","block.minecraft.lime_concrete","block.minecraft.pink_concrete","block.minecraft.gray_concrete","block.minecraft.light_gray_concrete","block.minecraft.cyan_concrete","block.minecraft.purple_concrete","block.minecraft.blue_concrete","block.minecraft.brown_concrete","block.minecraft.green_concrete","block.minecraft.red_concrete","block.minecraft.black_concrete","block.minecraft.white_concrete_powder","block.minecraft.orange_concrete_powder","block.minecraft.magenta_concrete_powder","block.minecraft.light_blue_concrete_powder","block.minecraft.yellow_concrete_powder","block.minecraft.lime_concrete_powder","block.minecraft.pink_concrete_powder","block.minecraft.gray_concrete_powder","block.minecraft.light_gray_concrete_powder","block.minecraft.cyan_concrete_powder","block.minecraft.purple_concrete_powder","block.minecraft.blue_concrete_powder","block.minecraft.brown_concrete_powder","block.minecraft.green_concrete_powder","block.minecraft.red_concrete_powder","block.minecraft.black_concrete_powder","block.minecraft.turtle_egg","block.minecraft.sniffer_egg","block.minecraft.dried_ghast","block.minecraft.dead_tube_coral_block","block.minecraft.dead_brain_coral_block","block.minecraft.dead_bubble_coral_block","block.minecraft.dead_fire_coral_block","block.minecraft.dead_horn_coral_block","block.minecraft.tube_coral_block","block.minecraft.brain_coral_block","block.minecraft.bubble_coral_block","block.minecraft.fire_coral_block","block.minecraft.horn_coral_block","block.minecraft.tube_coral","block.minecraft.brain_coral","block.minecraft.bubble_coral","block.minecraft.fire_coral","block.minecraft.horn_coral","block.minecraft.dead_brain_coral","block.minecraft.dead_bubble_coral","block.minecraft.dead_fire_coral","block.minecraft.dead_horn_coral","block.minecraft.dead_tube_coral","block.minecraft.tube_coral_fan","block.minecraft.brain_coral_fan","block.minecraft.bubble_coral_fan","block.minecraft.fire_coral_fan","block.minecraft.horn_coral_fan","block.minecraft.dead_tube_coral_fan","block.minecraft.dead_brain_coral_fan","block.minecraft.dead_bubble_coral_fan","block.minecraft.dead_fire_coral_fan","block.minecraft.dead_horn_coral_fan","block.minecraft.blue_ice","block.minecraft.conduit","block.minecraft.polished_granite_stairs","block.minecraft.smooth_red_sandstone_stairs","block.minecraft.mossy_stone_brick_stairs","block.minecraft.polished_diorite_stairs","block.minecraft.mossy_cobblestone_stairs","block.minecraft.end_stone_brick_stairs","block.minecraft.stone_stairs","block.minecraft.smooth_sandstone_stairs","block.minecraft.smooth_quartz_stairs","block.minecraft.granite_stairs","block.minecraft.andesite_stairs","block.minecraft.red_nether_brick_stairs","block.minecraft.polished_andesite_stairs","block.minecraft.diorite_stairs","block.minecraft.cobbled_deepslate_stairs","block.minecraft.polished_deepslate_stairs","block.minecraft.deepslate_brick_stairs","block.minecraft.deepslate_tile_stairs","block.minecraft.polished_granite_slab","block.minecraft.smooth_red_sandstone_slab","block.minecraft.mossy_stone_brick_slab","block.minecraft.polished_diorite_slab","block.minecraft.mossy_cobblestone_slab","block.minecraft.end_stone_brick_slab","block.minecraft.smooth_sandstone_slab","block.minecraft.smooth_quartz_slab","block.minecraft.granite_slab","block.minecraft.andesite_slab","block.minecraft.red_nether_brick_slab","block.minecraft.polished_andesite_slab","block.minecraft.diorite_slab","block.minecraft.cobbled_deepslate_slab","block.minecraft.polished_deepslate_slab","block.minecraft.deepslate_brick_slab","block.minecraft.deepslate_tile_slab","block.minecraft.scaffolding","item.minecraft.redstone","block.minecraft.redstone_torch","block.minecraft.redstone_block","block.minecraft.repeater","block.minecraft.comparator","block.minecraft.piston","block.minecraft.sticky_piston","block.minecraft.slime_block","block.minecraft.honey_block","block.minecraft.observer","block.minecraft.hopper","block.minecraft.dispenser","block.minecraft.dropper","block.minecraft.lectern","block.minecraft.target","block.minecraft.lever","block.minecraft.lightning_rod","block.minecraft.exposed_lightning_rod","block.minecraft.weathered_lightning_rod","block.minecraft.oxidized_lightning_rod","block.minecraft.waxed_lightning_rod","block.minecraft.waxed_exposed_lightning_rod","block.minecraft.waxed_weathered_lightning_rod","block.minecraft.waxed_oxidized_lightning_rod","block.minecraft.daylight_detector","block.minecraft.sculk_sensor","block.minecraft.calibrated_sculk_sensor","block.minecraft.tripwire_hook","block.minecraft.trapped_chest","block.minecraft.tnt","block.minecraft.redstone_lamp","block.minecraft.note_block","block.minecraft.stone_button","block.minecraft.polished_blackstone_button","block.minecraft.oak_button","block.minecraft.spruce_button","block.minecraft.birch_button","block.minecraft.jungle_button","block.minecraft.acacia_button","block.minecraft.cherry_button","block.minecraft.dark_oak_button","block.minecraft.pale_oak_button","block.minecraft.mangrove_button","block.minecraft.bamboo_button","block.minecraft.crimson_button","block.minecraft.warped_button","block.minecraft.stone_pressure_plate","block.minecraft.polished_blackstone_pressure_plate","block.minecraft.light_weighted_pressure_plate","block.minecraft.heavy_weighted_pressure_plate","block.minecraft.oak_pressure_plate","block.minecraft.spruce_pressure_plate","block.minecraft.birch_pressure_plate","block.minecraft.jungle_pressure_plate","block.minecraft.acacia_pressure_plate","block.minecraft.cherry_pressure_plate","block.minecraft.dark_oak_pressure_plate","block.minecraft.pale_oak_pressure_plate","block.minecraft.mangrove_pressure_plate","block.minecraft.bamboo_pressure_plate","block.minecraft.crimson_pressure_plate","block.minecraft.warped_pressure_plate","block.minecraft.iron_door","block.minecraft.oak_door","block.minecraft.spruce_door","block.minecraft.birch_door","block.minecraft.jungle_door","block.minecraft.acacia_door","block.minecraft.cherry_door","block.minecraft.dark_oak_door","block.minecraft.pale_oak_door","block.minecraft.mangrove_door","block.minecraft.bamboo_door","block.minecraft.crimson_door","block.minecraft.warped_door","block.minecraft.copper_door","block.minecraft.exposed_copper_door","block.minecraft.weathered_copper_door","block.minecraft.oxidized_copper_door","block.minecraft.waxed_copper_door","block.minecraft.waxed_exposed_copper_door","block.minecraft.waxed_weathered_copper_door","block.minecraft.waxed_oxidized_copper_door","block.minecraft.iron_trapdoor","block.minecraft.oak_trapdoor","block.minecraft.spruce_trapdoor","block.minecraft.birch_trapdoor","block.minecraft.jungle_trapdoor","block.minecraft.acacia_trapdoor","block.minecraft.cherry_trapdoor","block.minecraft.dark_oak_trapdoor","block.minecraft.pale_oak_trapdoor","block.minecraft.mangrove_trapdoor","block.minecraft.bamboo_trapdoor","block.minecraft.crimson_trapdoor","block.minecraft.warped_trapdoor","block.minecraft.copper_trapdoor","block.minecraft.exposed_copper_trapdoor","block.minecraft.weathered_copper_trapdoor","block.minecraft.oxidized_copper_trapdoor","block.minecraft.waxed_copper_trapdoor","block.minecraft.waxed_exposed_copper_trapdoor","block.minecraft.waxed_weathered_copper_trapdoor","block.minecraft.waxed_oxidized_copper_trapdoor","block.minecraft.oak_fence_gate","block.minecraft.spruce_fence_gate","block.minecraft.birch_fence_gate","block.minecraft.jungle_fence_gate","block.minecraft.acacia_fence_gate","block.minecraft.cherry_fence_gate","block.minecraft.dark_oak_fence_gate","block.minecraft.pale_oak_fence_gate","block.minecraft.mangrove_fence_gate","block.minecraft.bamboo_fence_gate","block.minecraft.crimson_fence_gate","block.minecraft.warped_fence_gate","block.minecraft.powered_rail","block.minecraft.detector_rail","block.minecraft.rail","block.minecraft.activator_rail","item.minecraft.saddle","item.minecraft.white_harness","item.minecraft.orange_harness","item.minecraft.magenta_harness","item.minecraft.light_blue_harness","item.minecraft.yellow_harness","item.minecraft.lime_harness","item.minecraft.pink_harness","item.minecraft.gray_harness","item.minecraft.light_gray_harness","item.minecraft.cyan_harness","item.minecraft.purple_harness","item.minecraft.blue_harness","item.minecraft.brown_harness","item.minecraft.green_harness","item.minecraft.red_harness","item.minecraft.black_harness","item.minecraft.minecart","item.minecraft.chest_minecart","item.minecraft.furnace_minecart","item.minecraft.tnt_minecart","item.minecraft.hopper_minecart","item.minecraft.carrot_on_a_stick","item.minecraft.warped_fungus_on_a_stick","item.minecraft.phantom_membrane","item.minecraft.elytra","item.minecraft.oak_boat","item.minecraft.oak_chest_boat","item.minecraft.spruce_boat","item.minecraft.spruce_chest_boat","item.minecraft.birch_boat","item.minecraft.birch_chest_boat","item.minecraft.jungle_boat","item.minecraft.jungle_chest_boat","item.minecraft.acacia_boat","item.minecraft.acacia_chest_boat","item.minecraft.cherry_boat","item.minecraft.cherry_chest_boat","item.minecraft.dark_oak_boat","item.minecraft.dark_oak_chest_boat","item.minecraft.pale_oak_boat","item.minecraft.pale_oak_chest_boat","item.minecraft.mangrove_boat","item.minecraft.mangrove_chest_boat","item.minecraft.bamboo_raft","item.minecraft.bamboo_chest_raft","block.minecraft.structure_block","block.minecraft.jigsaw","block.minecraft.test_block","block.minecraft.test_instance_block","item.minecraft.turtle_helmet","item.minecraft.turtle_scute","item.minecraft.armadillo_scute","item.minecraft.wolf_armor","item.minecraft.flint_and_steel","item.minecraft.bowl","item.minecraft.apple","item.minecraft.bow","item.minecraft.arrow","item.minecraft.coal","item.minecraft.charcoal","item.minecraft.diamond","item.minecraft.emerald","item.minecraft.lapis_lazuli","item.minecraft.quartz","item.minecraft.amethyst_shard","item.minecraft.raw_iron","item.minecraft.iron_ingot","item.minecraft.raw_copper","item.minecraft.copper_ingot","item.minecraft.raw_gold","item.minecraft.gold_ingot","item.minecraft.netherite_ingot","item.minecraft.netherite_scrap","item.minecraft.wooden_sword","item.minecraft.wooden_shovel","item.minecraft.wooden_pickaxe","item.minecraft.wooden_axe","item.minecraft.wooden_hoe","item.minecraft.copper_sword","item.minecraft.copper_shovel","item.minecraft.copper_pickaxe","item.minecraft.copper_axe","item.minecraft.copper_hoe","item.minecraft.stone_sword","item.minecraft.stone_shovel","item.minecraft.stone_pickaxe","item.minecraft.stone_axe","item.minecraft.stone_hoe","item.minecraft.golden_sword","item.minecraft.golden_shovel","item.minecraft.golden_pickaxe","item.minecraft.golden_axe","item.minecraft.golden_hoe","item.minecraft.iron_sword","item.minecraft.iron_shovel","item.minecraft.iron_pickaxe","item.minecraft.iron_axe","item.minecraft.iron_hoe","item.minecraft.diamond_sword","item.minecraft.diamond_shovel","item.minecraft.diamond_pickaxe","item.minecraft.diamond_axe","item.minecraft.diamond_hoe","item.minecraft.netherite_sword","item.minecraft.netherite_shovel","item.minecraft.netherite_pickaxe","item.minecraft.netherite_axe","item.minecraft.netherite_hoe","item.minecraft.stick","item.minecraft.mushroom_stew","item.minecraft.string","item.minecraft.feather","item.minecraft.gunpowder","item.minecraft.wheat_seeds","item.minecraft.wheat","item.minecraft.bread","item.minecraft.leather_helmet","item.minecraft.leather_chestplate","item.minecraft.leather_leggings","item.minecraft.leather_boots","item.minecraft.copper_helmet","item.minecraft.copper_chestplate","item.minecraft.copper_leggings","item.minecraft.copper_boots","item.minecraft.chainmail_helmet","item.minecraft.chainmail_chestplate","item.minecraft.chainmail_leggings","item.minecraft.chainmail_boots","item.minecraft.iron_helmet","item.minecraft.iron_chestplate","item.minecraft.iron_leggings","item.minecraft.iron_boots","item.minecraft.diamond_helmet","item.minecraft.diamond_chestplate","item.minecraft.diamond_leggings","item.minecraft.diamond_boots","item.minecraft.golden_helmet","item.minecraft.golden_chestplate","item.minecraft.golden_leggings","item.minecraft.golden_boots","item.minecraft.netherite_helmet","item.minecraft.netherite_chestplate","item.minecraft.netherite_leggings","item.minecraft.netherite_boots","item.minecraft.flint","item.minecraft.porkchop","item.minecraft.cooked_porkchop","item.minecraft.painting","item.minecraft.golden_apple","item.minecraft.enchanted_golden_apple","block.minecraft.oak_sign","block.minecraft.spruce_sign","block.minecraft.birch_sign","block.minecraft.jungle_sign","block.minecraft.acacia_sign","block.minecraft.cherry_sign","block.minecraft.dark_oak_sign","block.minecraft.pale_oak_sign","block.minecraft.mangrove_sign","block.minecraft.bamboo_sign","block.minecraft.crimson_sign","block.minecraft.warped_sign","block.minecraft.oak_hanging_sign","block.minecraft.spruce_hanging_sign","block.minecraft.birch_hanging_sign","block.minecraft.jungle_hanging_sign","block.minecraft.acacia_hanging_sign","block.minecraft.cherry_hanging_sign","block.minecraft.dark_oak_hanging_sign","block.minecraft.pale_oak_hanging_sign","block.minecraft.mangrove_hanging_sign","block.minecraft.bamboo_hanging_sign","block.minecraft.crimson_hanging_sign","block.minecraft.warped_hanging_sign","item.minecraft.bucket","item.minecraft.water_bucket","item.minecraft.lava_bucket","item.minecraft.powder_snow_bucket","item.minecraft.snowball","item.minecraft.leather","item.minecraft.milk_bucket","item.minecraft.pufferfish_bucket","item.minecraft.salmon_bucket","item.minecraft.cod_bucket","item.minecraft.tropical_fish_bucket","item.minecraft.axolotl_bucket","item.minecraft.sulfur_cube_bucket","item.minecraft.tadpole_bucket","item.minecraft.brick","item.minecraft.clay_ball","block.minecraft.dried_kelp_block","item.minecraft.paper","item.minecraft.book","item.minecraft.slime_ball","item.minecraft.egg","item.minecraft.blue_egg","item.minecraft.brown_egg","item.minecraft.compass","item.minecraft.recovery_compass","item.minecraft.bundle","item.minecraft.white_bundle","item.minecraft.orange_bundle","item.minecraft.magenta_bundle","item.minecraft.light_blue_bundle","item.minecraft.yellow_bundle","item.minecraft.lime_bundle","item.minecraft.pink_bundle","item.minecraft.gray_bundle","item.minecraft.light_gray_bundle","item.minecraft.cyan_bundle","item.minecraft.purple_bundle","item.minecraft.blue_bundle","item.minecraft.brown_bundle","item.minecraft.green_bundle","item.minecraft.red_bundle","item.minecraft.black_bundle","item.minecraft.fishing_rod","item.minecraft.clock","item.minecraft.spyglass","item.minecraft.glowstone_dust","item.minecraft.cod","item.minecraft.salmon","item.minecraft.tropical_fish","item.minecraft.pufferfish","item.minecraft.cooked_cod","item.minecraft.cooked_salmon","item.minecraft.ink_sac","item.minecraft.glow_ink_sac","item.minecraft.cocoa_beans","item.minecraft.white_dye","item.minecraft.orange_dye","item.minecraft.magenta_dye","item.minecraft.light_blue_dye","item.minecraft.yellow_dye","item.minecraft.lime_dye","item.minecraft.pink_dye","item.minecraft.gray_dye","item.minecraft.light_gray_dye","item.minecraft.cyan_dye","item.minecraft.purple_dye","item.minecraft.blue_dye","item.minecraft.brown_dye","item.minecraft.green_dye","item.minecraft.red_dye","item.minecraft.black_dye","item.minecraft.bone_meal","item.minecraft.bone","item.minecraft.sugar","block.minecraft.cake","block.minecraft.white_bed","block.minecraft.orange_bed","block.minecraft.magenta_bed","block.minecraft.light_blue_bed","block.minecraft.yellow_bed","block.minecraft.lime_bed","block.minecraft.pink_bed","block.minecraft.gray_bed","block.minecraft.light_gray_bed","block.minecraft.cyan_bed","block.minecraft.purple_bed","block.minecraft.blue_bed","block.minecraft.brown_bed","block.minecraft.green_bed","block.minecraft.red_bed","block.minecraft.black_bed","item.minecraft.cookie","block.minecraft.crafter","item.minecraft.filled_map","item.minecraft.shears","item.minecraft.melon_slice","item.minecraft.dried_kelp","item.minecraft.pumpkin_seeds","item.minecraft.melon_seeds","item.minecraft.beef","item.minecraft.cooked_beef","item.minecraft.chicken","item.minecraft.cooked_chicken","item.minecraft.rotten_flesh","item.minecraft.ender_pearl","item.minecraft.blaze_rod","item.minecraft.ghast_tear","item.minecraft.gold_nugget","item.minecraft.nether_wart","item.minecraft.glass_bottle","item.minecraft.potion","item.minecraft.spider_eye","item.minecraft.fermented_spider_eye","item.minecraft.blaze_powder","item.minecraft.magma_cream","block.minecraft.brewing_stand","block.minecraft.cauldron","item.minecraft.ender_eye","item.minecraft.glistering_melon_slice","item.minecraft.chicken_spawn_egg","item.minecraft.cow_spawn_egg","item.minecraft.pig_spawn_egg","item.minecraft.sheep_spawn_egg","item.minecraft.camel_spawn_egg","item.minecraft.donkey_spawn_egg","item.minecraft.horse_spawn_egg","item.minecraft.mule_spawn_egg","item.minecraft.cat_spawn_egg","item.minecraft.parrot_spawn_egg","item.minecraft.wolf_spawn_egg","item.minecraft.armadillo_spawn_egg","item.minecraft.bat_spawn_egg","item.minecraft.bee_spawn_egg","item.minecraft.fox_spawn_egg","item.minecraft.goat_spawn_egg","item.minecraft.llama_spawn_egg","item.minecraft.ocelot_spawn_egg","item.minecraft.panda_spawn_egg","item.minecraft.polar_bear_spawn_egg","item.minecraft.rabbit_spawn_egg","item.minecraft.axolotl_spawn_egg","item.minecraft.cod_spawn_egg","item.minecraft.dolphin_spawn_egg","item.minecraft.frog_spawn_egg","item.minecraft.glow_squid_spawn_egg","item.minecraft.nautilus_spawn_egg","item.minecraft.pufferfish_spawn_egg","item.minecraft.salmon_spawn_egg","item.minecraft.squid_spawn_egg","item.minecraft.tadpole_spawn_egg","item.minecraft.tropical_fish_spawn_egg","item.minecraft.turtle_spawn_egg","item.minecraft.allay_spawn_egg","item.minecraft.mooshroom_spawn_egg","item.minecraft.sniffer_spawn_egg","item.minecraft.sulfur_cube_spawn_egg","item.minecraft.copper_golem_spawn_egg","item.minecraft.iron_golem_spawn_egg","item.minecraft.snow_golem_spawn_egg","item.minecraft.trader_llama_spawn_egg","item.minecraft.villager_spawn_egg","item.minecraft.wandering_trader_spawn_egg","item.minecraft.bogged_spawn_egg","item.minecraft.camel_husk_spawn_egg","item.minecraft.drowned_spawn_egg","item.minecraft.husk_spawn_egg","item.minecraft.parched_spawn_egg","item.minecraft.skeleton_spawn_egg","item.minecraft.skeleton_horse_spawn_egg","item.minecraft.stray_spawn_egg","item.minecraft.wither_spawn_egg","item.minecraft.wither_skeleton_spawn_egg","item.minecraft.zombie_spawn_egg","item.minecraft.zombie_horse_spawn_egg","item.minecraft.zombie_nautilus_spawn_egg","item.minecraft.zombie_villager_spawn_egg","item.minecraft.cave_spider_spawn_egg","item.minecraft.spider_spawn_egg","item.minecraft.breeze_spawn_egg","item.minecraft.creaking_spawn_egg","item.minecraft.creeper_spawn_egg","item.minecraft.elder_guardian_spawn_egg","item.minecraft.guardian_spawn_egg","item.minecraft.phantom_spawn_egg","item.minecraft.silverfish_spawn_egg","item.minecraft.slime_spawn_egg","item.minecraft.warden_spawn_egg","item.minecraft.witch_spawn_egg","item.minecraft.evoker_spawn_egg","item.minecraft.pillager_spawn_egg","item.minecraft.ravager_spawn_egg","item.minecraft.vindicator_spawn_egg","item.minecraft.vex_spawn_egg","item.minecraft.blaze_spawn_egg","item.minecraft.ghast_spawn_egg","item.minecraft.happy_ghast_spawn_egg","item.minecraft.hoglin_spawn_egg","item.minecraft.magma_cube_spawn_egg","item.minecraft.piglin_spawn_egg","item.minecraft.piglin_brute_spawn_egg","item.minecraft.strider_spawn_egg","item.minecraft.zoglin_spawn_egg","item.minecraft.zombified_piglin_spawn_egg","item.minecraft.ender_dragon_spawn_egg","item.minecraft.enderman_spawn_egg","item.minecraft.endermite_spawn_egg","item.minecraft.shulker_spawn_egg","item.minecraft.experience_bottle","item.minecraft.fire_charge","item.minecraft.wind_charge","item.minecraft.writable_book","item.minecraft.written_book","item.minecraft.breeze_rod","item.minecraft.mace","item.minecraft.item_frame","item.minecraft.glow_item_frame","block.minecraft.flower_pot","item.minecraft.carrot","item.minecraft.potato","item.minecraft.baked_potato","item.minecraft.poisonous_potato","item.minecraft.map","item.minecraft.golden_carrot","block.minecraft.skeleton_skull","block.minecraft.wither_skeleton_skull","block.minecraft.player_head","block.minecraft.zombie_head","block.minecraft.creeper_head","block.minecraft.dragon_head","block.minecraft.piglin_head","item.minecraft.nether_star","item.minecraft.pumpkin_pie","item.minecraft.firework_rocket","item.minecraft.firework_star","item.minecraft.enchanted_book","item.minecraft.nether_brick","item.minecraft.resin_brick","item.minecraft.prismarine_shard","item.minecraft.prismarine_crystals","item.minecraft.rabbit","item.minecraft.cooked_rabbit","item.minecraft.rabbit_stew","item.minecraft.rabbit_foot","item.minecraft.rabbit_hide","item.minecraft.armor_stand","item.minecraft.copper_horse_armor","item.minecraft.iron_horse_armor","item.minecraft.golden_horse_armor","item.minecraft.diamond_horse_armor","item.minecraft.netherite_horse_armor","item.minecraft.leather_horse_armor","item.minecraft.lead","item.minecraft.name_tag","item.minecraft.command_block_minecart","item.minecraft.mutton","item.minecraft.cooked_mutton","block.minecraft.white_banner","block.minecraft.orange_banner","block.minecraft.magenta_banner","block.minecraft.light_blue_banner","block.minecraft.yellow_banner","block.minecraft.lime_banner","block.minecraft.pink_banner","block.minecraft.gray_banner","block.minecraft.light_gray_banner","block.minecraft.cyan_banner","block.minecraft.purple_banner","block.minecraft.blue_banner","block.minecraft.brown_banner","block.minecraft.green_banner","block.minecraft.red_banner","block.minecraft.black_banner","item.minecraft.end_crystal","item.minecraft.chorus_fruit","item.minecraft.popped_chorus_fruit","item.minecraft.torchflower_seeds","item.minecraft.pitcher_pod","item.minecraft.beetroot","item.minecraft.beetroot_seeds","item.minecraft.beetroot_soup","item.minecraft.dragon_breath","item.minecraft.splash_potion","item.minecraft.spectral_arrow","item.minecraft.tipped_arrow","item.minecraft.lingering_potion","item.minecraft.shield","item.minecraft.wooden_spear","item.minecraft.stone_spear","item.minecraft.copper_spear","item.minecraft.iron_spear","item.minecraft.golden_spear","item.minecraft.diamond_spear","item.minecraft.netherite_spear","item.minecraft.totem_of_undying","item.minecraft.shulker_shell","item.minecraft.iron_nugget","item.minecraft.copper_nugget","item.minecraft.knowledge_book","item.minecraft.debug_stick","item.minecraft.music_disc_13","item.minecraft.music_disc_cat","item.minecraft.music_disc_blocks","item.minecraft.music_disc_bounce","item.minecraft.music_disc_chirp","item.minecraft.music_disc_creator","item.minecraft.music_disc_creator_music_box","item.minecraft.music_disc_far","item.minecraft.music_disc_lava_chicken","item.minecraft.music_disc_mall","item.minecraft.music_disc_mellohi","item.minecraft.music_disc_stal","item.minecraft.music_disc_strad","item.minecraft.music_disc_ward","item.minecraft.music_disc_11","item.minecraft.music_disc_wait","item.minecraft.music_disc_otherside","item.minecraft.music_disc_relic","item.minecraft.music_disc_5","item.minecraft.music_disc_pigstep","item.minecraft.music_disc_precipice","item.minecraft.music_disc_tears","item.minecraft.disc_fragment_5","item.minecraft.trident","item.minecraft.nautilus_shell","item.minecraft.iron_nautilus_armor","item.minecraft.golden_nautilus_armor","item.minecraft.diamond_nautilus_armor","item.minecraft.netherite_nautilus_armor","item.minecraft.copper_nautilus_armor","item.minecraft.heart_of_the_sea","item.minecraft.crossbow","item.minecraft.suspicious_stew","block.minecraft.loom","item.minecraft.flower_banner_pattern","item.minecraft.creeper_banner_pattern","item.minecraft.skull_banner_pattern","item.minecraft.mojang_banner_pattern","item.minecraft.globe_banner_pattern","item.minecraft.piglin_banner_pattern","item.minecraft.flow_banner_pattern","item.minecraft.guster_banner_pattern","item.minecraft.field_masoned_banner_pattern","item.minecraft.bordure_indented_banner_pattern","item.minecraft.goat_horn","block.minecraft.composter","block.minecraft.barrel","block.minecraft.smoker","block.minecraft.blast_furnace","block.minecraft.cartography_table","block.minecraft.fletching_table","block.minecraft.grindstone","block.minecraft.smithing_table","block.minecraft.stonecutter","block.minecraft.bell","block.minecraft.lantern","block.minecraft.soul_lantern","block.minecraft.copper_lantern","block.minecraft.exposed_copper_lantern","block.minecraft.weathered_copper_lantern","block.minecraft.oxidized_copper_lantern","block.minecraft.waxed_copper_lantern","block.minecraft.waxed_exposed_copper_lantern","block.minecraft.waxed_weathered_copper_lantern","block.minecraft.waxed_oxidized_copper_lantern","item.minecraft.sweet_berries","item.minecraft.glow_berries","block.minecraft.campfire","block.minecraft.soul_campfire","block.minecraft.shroomlight","item.minecraft.honeycomb","block.minecraft.bee_nest","block.minecraft.beehive","item.minecraft.honey_bottle","block.minecraft.honeycomb_block","block.minecraft.lodestone","block.minecraft.crying_obsidian","block.minecraft.blackstone","block.minecraft.blackstone_slab","block.minecraft.blackstone_stairs","block.minecraft.gilded_blackstone","block.minecraft.polished_blackstone","block.minecraft.polished_blackstone_slab","block.minecraft.polished_blackstone_stairs","block.minecraft.chiseled_polished_blackstone","block.minecraft.polished_blackstone_bricks","block.minecraft.polished_blackstone_brick_slab","block.minecraft.polished_blackstone_brick_stairs","block.minecraft.cracked_polished_blackstone_bricks","block.minecraft.respawn_anchor","block.minecraft.candle","block.minecraft.white_candle","block.minecraft.orange_candle","block.minecraft.magenta_candle","block.minecraft.light_blue_candle","block.minecraft.yellow_candle","block.minecraft.lime_candle","block.minecraft.pink_candle","block.minecraft.gray_candle","block.minecraft.light_gray_candle","block.minecraft.cyan_candle","block.minecraft.purple_candle","block.minecraft.blue_candle","block.minecraft.brown_candle","block.minecraft.green_candle","block.minecraft.red_candle","block.minecraft.black_candle","block.minecraft.small_amethyst_bud","block.minecraft.medium_amethyst_bud","block.minecraft.large_amethyst_bud","block.minecraft.amethyst_cluster","block.minecraft.pointed_dripstone","block.minecraft.sulfur_spike","block.minecraft.ochre_froglight","block.minecraft.verdant_froglight","block.minecraft.pearlescent_froglight","block.minecraft.frogspawn","item.minecraft.echo_shard","item.minecraft.brush","item.minecraft.netherite_upgrade_smithing_template","item.minecraft.sentry_armor_trim_smithing_template","item.minecraft.dune_armor_trim_smithing_template","item.minecraft.coast_armor_trim_smithing_template","item.minecraft.wild_armor_trim_smithing_template","item.minecraft.ward_armor_trim_smithing_template","item.minecraft.eye_armor_trim_smithing_template","item.minecraft.vex_armor_trim_smithing_template","item.minecraft.tide_armor_trim_smithing_template","item.minecraft.snout_armor_trim_smithing_template","item.minecraft.rib_armor_trim_smithing_template","item.minecraft.spire_armor_trim_smithing_template","item.minecraft.wayfinder_armor_trim_smithing_template","item.minecraft.shaper_armor_trim_smithing_template","item.minecraft.silence_armor_trim_smithing_template","item.minecraft.raiser_armor_trim_smithing_template","item.minecraft.host_armor_trim_smithing_template","item.minecraft.flow_armor_trim_smithing_template","item.minecraft.bolt_armor_trim_smithing_template","item.minecraft.angler_pottery_sherd","item.minecraft.archer_pottery_sherd","item.minecraft.arms_up_pottery_sherd","item.minecraft.blade_pottery_sherd","item.minecraft.brewer_pottery_sherd","item.minecraft.burn_pottery_sherd","item.minecraft.danger_pottery_sherd","item.minecraft.explorer_pottery_sherd","item.minecraft.flow_pottery_sherd","item.minecraft.friend_pottery_sherd","item.minecraft.guster_pottery_sherd","item.minecraft.heart_pottery_sherd","item.minecraft.heartbreak_pottery_sherd","item.minecraft.howl_pottery_sherd","item.minecraft.miner_pottery_sherd","item.minecraft.mourner_pottery_sherd","item.minecraft.plenty_pottery_sherd","item.minecraft.prize_pottery_sherd","item.minecraft.scrape_pottery_sherd","item.minecraft.sheaf_pottery_sherd","item.minecraft.shelter_pottery_sherd","item.minecraft.skull_pottery_sherd","item.minecraft.snort_pottery_sherd","block.minecraft.copper_grate","block.minecraft.exposed_copper_grate","block.minecraft.weathered_copper_grate","block.minecraft.oxidized_copper_grate","block.minecraft.waxed_copper_grate","block.minecraft.waxed_exposed_copper_grate","block.minecraft.waxed_weathered_copper_grate","block.minecraft.waxed_oxidized_copper_grate","block.minecraft.copper_bulb","block.minecraft.exposed_copper_bulb","block.minecraft.weathered_copper_bulb","block.minecraft.oxidized_copper_bulb","block.minecraft.waxed_copper_bulb","block.minecraft.waxed_exposed_copper_bulb","block.minecraft.waxed_weathered_copper_bulb","block.minecraft.waxed_oxidized_copper_bulb","block.minecraft.copper_chest","block.minecraft.exposed_copper_chest","block.minecraft.weathered_copper_chest","block.minecraft.oxidized_copper_chest","block.minecraft.waxed_copper_chest","block.minecraft.waxed_exposed_copper_chest","block.minecraft.waxed_weathered_copper_chest","block.minecraft.waxed_oxidized_copper_chest","block.minecraft.copper_golem_statue","block.minecraft.exposed_copper_golem_statue","block.minecraft.weathered_copper_golem_statue","block.minecraft.oxidized_copper_golem_statue","block.minecraft.waxed_copper_golem_statue","block.minecraft.waxed_exposed_copper_golem_statue","block.minecraft.waxed_weathered_copper_golem_statue","block.minecraft.waxed_oxidized_copper_golem_statue","block.minecraft.trial_spawner","item.minecraft.trial_key","item.minecraft.ominous_trial_key","block.minecraft.vault","item.minecraft.ominous_bottle"];
4092impl DefaultableComponent for ItemName {
4093    fn default_for_item(item: ItemKind) -> Option<Self> {
4094        let value = ITEM_NAME_VALUES[item as usize];
4095        Some(ItemName {
4096            name: TranslatableComponent::from(value).into(),
4097        })
4098    }
4099}
4100impl DefaultableComponent for JukeboxPlayable {
4101    fn default_for_item(item: ItemKind) -> Option<Self> {
4102        let value = match item {
4103            ItemKind::MusicDisc11 => {
4104                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4105            }
4106            ItemKind::MusicDisc13 => {
4107                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4108            }
4109            ItemKind::MusicDisc5 => {
4110                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4111            }
4112            ItemKind::MusicDiscBlocks => {
4113                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4114            }
4115            ItemKind::MusicDiscBounce => {
4116                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4117            }
4118            ItemKind::MusicDiscCat => {
4119                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4120            }
4121            ItemKind::MusicDiscChirp => {
4122                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4123            }
4124            ItemKind::MusicDiscCreator => {
4125                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4126            }
4127            ItemKind::MusicDiscCreatorMusicBox => {
4128                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4129            }
4130            ItemKind::MusicDiscFar => {
4131                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4132            }
4133            ItemKind::MusicDiscLavaChicken => {
4134                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4135            }
4136            ItemKind::MusicDiscMall => {
4137                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4138            }
4139            ItemKind::MusicDiscMellohi => {
4140                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4141            }
4142            ItemKind::MusicDiscOtherside => {
4143                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4144            }
4145            ItemKind::MusicDiscPigstep => {
4146                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4147            }
4148            ItemKind::MusicDiscPrecipice => {
4149                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4150            }
4151            ItemKind::MusicDiscRelic => {
4152                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4153            }
4154            ItemKind::MusicDiscStal => {
4155                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4156            }
4157            ItemKind::MusicDiscStrad => {
4158                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4159            }
4160            ItemKind::MusicDiscTears => {
4161                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4162            }
4163            ItemKind::MusicDiscWait => {
4164                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4165            }
4166            ItemKind::MusicDiscWard => {
4167                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4168            }
4169            _ => return None,
4170        };
4171        Some(JukeboxPlayable { value: value })
4172    }
4173}
4174impl DefaultableComponent for KineticWeapon {
4175    fn default_for_item(item: ItemKind) -> Option<Self> {
4176        let value = match item {
4177            ItemKind::CopperSpear => KineticWeapon {
4178                damage_conditions: Some(KineticWeaponCondition {
4179                    max_duration_ticks: 250,
4180                    min_relative_speed: 4.6,
4181                    ..KineticWeaponCondition::new()
4182                }),
4183                damage_multiplier: 0.82,
4184                delay_ticks: 13,
4185                dismount_conditions: Some(KineticWeaponCondition {
4186                    max_duration_ticks: 80,
4187                    min_speed: 12.0,
4188                    ..KineticWeaponCondition::new()
4189                }),
4190                forward_movement: 0.38,
4191                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4192                knockback_conditions: Some(KineticWeaponCondition {
4193                    max_duration_ticks: 165,
4194                    min_speed: 5.1,
4195                    ..KineticWeaponCondition::new()
4196                }),
4197                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4198                ..KineticWeapon::new()
4199            },
4200            ItemKind::DiamondSpear => KineticWeapon {
4201                damage_conditions: Some(KineticWeaponCondition {
4202                    max_duration_ticks: 200,
4203                    min_relative_speed: 4.6,
4204                    ..KineticWeaponCondition::new()
4205                }),
4206                damage_multiplier: 1.075,
4207                delay_ticks: 10,
4208                dismount_conditions: Some(KineticWeaponCondition {
4209                    max_duration_ticks: 60,
4210                    min_speed: 10.0,
4211                    ..KineticWeaponCondition::new()
4212                }),
4213                forward_movement: 0.38,
4214                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4215                knockback_conditions: Some(KineticWeaponCondition {
4216                    max_duration_ticks: 130,
4217                    min_speed: 5.1,
4218                    ..KineticWeaponCondition::new()
4219                }),
4220                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4221                ..KineticWeapon::new()
4222            },
4223            ItemKind::GoldenSpear => KineticWeapon {
4224                damage_conditions: Some(KineticWeaponCondition {
4225                    max_duration_ticks: 275,
4226                    min_relative_speed: 4.6,
4227                    ..KineticWeaponCondition::new()
4228                }),
4229                damage_multiplier: 0.7,
4230                delay_ticks: 14,
4231                dismount_conditions: Some(KineticWeaponCondition {
4232                    max_duration_ticks: 70,
4233                    min_speed: 13.0,
4234                    ..KineticWeaponCondition::new()
4235                }),
4236                forward_movement: 0.38,
4237                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4238                knockback_conditions: Some(KineticWeaponCondition {
4239                    max_duration_ticks: 170,
4240                    min_speed: 5.1,
4241                    ..KineticWeaponCondition::new()
4242                }),
4243                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4244                ..KineticWeapon::new()
4245            },
4246            ItemKind::IronSpear => KineticWeapon {
4247                damage_conditions: Some(KineticWeaponCondition {
4248                    max_duration_ticks: 225,
4249                    min_relative_speed: 4.6,
4250                    ..KineticWeaponCondition::new()
4251                }),
4252                damage_multiplier: 0.95,
4253                delay_ticks: 12,
4254                dismount_conditions: Some(KineticWeaponCondition {
4255                    max_duration_ticks: 50,
4256                    min_speed: 11.0,
4257                    ..KineticWeaponCondition::new()
4258                }),
4259                forward_movement: 0.38,
4260                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4261                knockback_conditions: Some(KineticWeaponCondition {
4262                    max_duration_ticks: 135,
4263                    min_speed: 5.1,
4264                    ..KineticWeaponCondition::new()
4265                }),
4266                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4267                ..KineticWeapon::new()
4268            },
4269            ItemKind::NetheriteSpear => KineticWeapon {
4270                damage_conditions: Some(KineticWeaponCondition {
4271                    max_duration_ticks: 175,
4272                    min_relative_speed: 4.6,
4273                    ..KineticWeaponCondition::new()
4274                }),
4275                damage_multiplier: 1.2,
4276                delay_ticks: 8,
4277                dismount_conditions: Some(KineticWeaponCondition {
4278                    max_duration_ticks: 50,
4279                    min_speed: 9.0,
4280                    ..KineticWeaponCondition::new()
4281                }),
4282                forward_movement: 0.38,
4283                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4284                knockback_conditions: Some(KineticWeaponCondition {
4285                    max_duration_ticks: 110,
4286                    min_speed: 5.1,
4287                    ..KineticWeaponCondition::new()
4288                }),
4289                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4290                ..KineticWeapon::new()
4291            },
4292            ItemKind::StoneSpear => KineticWeapon {
4293                damage_conditions: Some(KineticWeaponCondition {
4294                    max_duration_ticks: 275,
4295                    min_relative_speed: 4.6,
4296                    ..KineticWeaponCondition::new()
4297                }),
4298                damage_multiplier: 0.82,
4299                delay_ticks: 14,
4300                dismount_conditions: Some(KineticWeaponCondition {
4301                    max_duration_ticks: 90,
4302                    min_speed: 13.0,
4303                    ..KineticWeaponCondition::new()
4304                }),
4305                forward_movement: 0.38,
4306                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4307                knockback_conditions: Some(KineticWeaponCondition {
4308                    max_duration_ticks: 180,
4309                    min_speed: 5.1,
4310                    ..KineticWeaponCondition::new()
4311                }),
4312                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4313                ..KineticWeapon::new()
4314            },
4315            ItemKind::WoodenSpear => KineticWeapon {
4316                damage_conditions: Some(KineticWeaponCondition {
4317                    max_duration_ticks: 300,
4318                    min_relative_speed: 4.6,
4319                    ..KineticWeaponCondition::new()
4320                }),
4321                damage_multiplier: 0.7,
4322                delay_ticks: 15,
4323                dismount_conditions: Some(KineticWeaponCondition {
4324                    max_duration_ticks: 100,
4325                    min_speed: 14.0,
4326                    ..KineticWeaponCondition::new()
4327                }),
4328                forward_movement: 0.38,
4329                hit_sound: Some(azalea_registry::Holder::Reference(
4330                    SoundEvent::ItemSpearWoodHit,
4331                )),
4332                knockback_conditions: Some(KineticWeaponCondition {
4333                    max_duration_ticks: 200,
4334                    min_speed: 5.1,
4335                    ..KineticWeaponCondition::new()
4336                }),
4337                sound: Some(azalea_registry::Holder::Reference(
4338                    SoundEvent::ItemSpearWoodUse,
4339                )),
4340                ..KineticWeapon::new()
4341            },
4342            _ => return None,
4343        };
4344        Some(value)
4345    }
4346}
4347impl DefaultableComponent for Lore {
4348    fn default_for_item(_item: ItemKind) -> Option<Self> {
4349        Some(Lore { lines: vec![] })
4350    }
4351}
4352impl DefaultableComponent for MapColor {
4353    fn default_for_item(item: ItemKind) -> Option<Self> {
4354        let value = match item {
4355            ItemKind::FilledMap => 4603950,
4356            _ => return None,
4357        };
4358        Some(MapColor { color: value })
4359    }
4360}
4361impl DefaultableComponent for MapDecorations {
4362    fn default_for_item(item: ItemKind) -> Option<Self> {
4363        let value = match item {
4364            ItemKind::FilledMap => NbtCompound::from_values(vec![]),
4365            _ => return None,
4366        };
4367        Some(MapDecorations { decorations: value })
4368    }
4369}
4370impl DefaultableComponent for MaxDamage {
4371    fn default_for_item(item: ItemKind) -> Option<Self> {
4372        let value = match item {
4373            ItemKind::Bow => 384,
4374            ItemKind::Brush => 64,
4375            ItemKind::CarrotOnAStick => 25,
4376            ItemKind::ChainmailBoots => 195,
4377            ItemKind::ChainmailChestplate => 240,
4378            ItemKind::ChainmailHelmet => 165,
4379            ItemKind::ChainmailLeggings => 225,
4380            ItemKind::CopperAxe => 190,
4381            ItemKind::CopperBoots => 143,
4382            ItemKind::CopperChestplate => 176,
4383            ItemKind::CopperHelmet => 121,
4384            ItemKind::CopperHoe => 190,
4385            ItemKind::CopperLeggings => 165,
4386            ItemKind::CopperPickaxe => 190,
4387            ItemKind::CopperShovel => 190,
4388            ItemKind::CopperSpear => 190,
4389            ItemKind::CopperSword => 190,
4390            ItemKind::Crossbow => 465,
4391            ItemKind::DiamondAxe => 1561,
4392            ItemKind::DiamondBoots => 429,
4393            ItemKind::DiamondChestplate => 528,
4394            ItemKind::DiamondHelmet => 363,
4395            ItemKind::DiamondHoe => 1561,
4396            ItemKind::DiamondLeggings => 495,
4397            ItemKind::DiamondPickaxe => 1561,
4398            ItemKind::DiamondShovel => 1561,
4399            ItemKind::DiamondSpear => 1561,
4400            ItemKind::DiamondSword => 1561,
4401            ItemKind::Elytra => 432,
4402            ItemKind::FishingRod => 64,
4403            ItemKind::FlintAndSteel => 64,
4404            ItemKind::GoldenAxe => 32,
4405            ItemKind::GoldenBoots => 91,
4406            ItemKind::GoldenChestplate => 112,
4407            ItemKind::GoldenHelmet => 77,
4408            ItemKind::GoldenHoe => 32,
4409            ItemKind::GoldenLeggings => 105,
4410            ItemKind::GoldenPickaxe => 32,
4411            ItemKind::GoldenShovel => 32,
4412            ItemKind::GoldenSpear => 32,
4413            ItemKind::GoldenSword => 32,
4414            ItemKind::IronAxe => 250,
4415            ItemKind::IronBoots => 195,
4416            ItemKind::IronChestplate => 240,
4417            ItemKind::IronHelmet => 165,
4418            ItemKind::IronHoe => 250,
4419            ItemKind::IronLeggings => 225,
4420            ItemKind::IronPickaxe => 250,
4421            ItemKind::IronShovel => 250,
4422            ItemKind::IronSpear => 250,
4423            ItemKind::IronSword => 250,
4424            ItemKind::LeatherBoots => 65,
4425            ItemKind::LeatherChestplate => 80,
4426            ItemKind::LeatherHelmet => 55,
4427            ItemKind::LeatherLeggings => 75,
4428            ItemKind::Mace => 500,
4429            ItemKind::NetheriteAxe => 2031,
4430            ItemKind::NetheriteBoots => 481,
4431            ItemKind::NetheriteChestplate => 592,
4432            ItemKind::NetheriteHelmet => 407,
4433            ItemKind::NetheriteHoe => 2031,
4434            ItemKind::NetheriteLeggings => 555,
4435            ItemKind::NetheritePickaxe => 2031,
4436            ItemKind::NetheriteShovel => 2031,
4437            ItemKind::NetheriteSpear => 2031,
4438            ItemKind::NetheriteSword => 2031,
4439            ItemKind::Shears => 238,
4440            ItemKind::Shield => 336,
4441            ItemKind::StoneAxe => 131,
4442            ItemKind::StoneHoe => 131,
4443            ItemKind::StonePickaxe => 131,
4444            ItemKind::StoneShovel => 131,
4445            ItemKind::StoneSpear => 131,
4446            ItemKind::StoneSword => 131,
4447            ItemKind::Trident => 250,
4448            ItemKind::TurtleHelmet => 275,
4449            ItemKind::WarpedFungusOnAStick => 100,
4450            ItemKind::WolfArmor => 64,
4451            ItemKind::WoodenAxe => 59,
4452            ItemKind::WoodenHoe => 59,
4453            ItemKind::WoodenPickaxe => 59,
4454            ItemKind::WoodenShovel => 59,
4455            ItemKind::WoodenSpear => 59,
4456            ItemKind::WoodenSword => 59,
4457            _ => return None,
4458        };
4459        Some(MaxDamage { amount: value })
4460    }
4461}
4462#[rustfmt::skip]
4463static MAX_STACK_SIZE_VALUES: [i32; 1537] = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,1,64,64,1,1,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,1,1,16,64,1,1,1,1,1,1,1,1,64,64,64,64,64,64,16,16,16,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,1,64,64,64,64,64,64,64,64,64,16,64,64,64,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,16,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,64,64,64,64,64,64,1,64,64,16,1,1,1,1,1,1,64,64,1,64,64,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,64,64,64,64,64,64,64,1,64,1,64,64,1,1,1,1,1,1,1,1,1,1,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,1,1,1,1,1,64,1,1,64,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64];
4464impl DefaultableComponent for MaxStackSize {
4465    fn default_for_item(item: ItemKind) -> Option<Self> {
4466        let value = MAX_STACK_SIZE_VALUES[item as usize];
4467        Some(MaxStackSize { count: value })
4468    }
4469}
4470impl DefaultableComponent for MinimumAttackCharge {
4471    fn default_for_item(item: ItemKind) -> Option<Self> {
4472        let value = match item {
4473            ItemKind::CopperSpear => 1.0,
4474            ItemKind::DiamondSpear => 1.0,
4475            ItemKind::GoldenSpear => 1.0,
4476            ItemKind::IronSpear => 1.0,
4477            ItemKind::NetheriteSpear => 1.0,
4478            ItemKind::StoneSpear => 1.0,
4479            ItemKind::WoodenSpear => 1.0,
4480            _ => return None,
4481        };
4482        Some(MinimumAttackCharge { value: value })
4483    }
4484}
4485impl DefaultableComponent for OminousBottleAmplifier {
4486    fn default_for_item(item: ItemKind) -> Option<Self> {
4487        let value = match item {
4488            ItemKind::OminousBottle => 0,
4489            _ => return None,
4490        };
4491        Some(OminousBottleAmplifier { amplifier: value })
4492    }
4493}
4494impl DefaultableComponent for PiercingWeapon {
4495    fn default_for_item(item: ItemKind) -> Option<Self> {
4496        let value = match item {
4497            ItemKind::CopperSpear => PiercingWeapon {
4498                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4499                sound: Some(azalea_registry::Holder::Reference(
4500                    SoundEvent::ItemSpearAttack,
4501                )),
4502                ..PiercingWeapon::new()
4503            },
4504            ItemKind::DiamondSpear => PiercingWeapon {
4505                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4506                sound: Some(azalea_registry::Holder::Reference(
4507                    SoundEvent::ItemSpearAttack,
4508                )),
4509                ..PiercingWeapon::new()
4510            },
4511            ItemKind::GoldenSpear => PiercingWeapon {
4512                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4513                sound: Some(azalea_registry::Holder::Reference(
4514                    SoundEvent::ItemSpearAttack,
4515                )),
4516                ..PiercingWeapon::new()
4517            },
4518            ItemKind::IronSpear => PiercingWeapon {
4519                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4520                sound: Some(azalea_registry::Holder::Reference(
4521                    SoundEvent::ItemSpearAttack,
4522                )),
4523                ..PiercingWeapon::new()
4524            },
4525            ItemKind::NetheriteSpear => PiercingWeapon {
4526                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4527                sound: Some(azalea_registry::Holder::Reference(
4528                    SoundEvent::ItemSpearAttack,
4529                )),
4530                ..PiercingWeapon::new()
4531            },
4532            ItemKind::StoneSpear => PiercingWeapon {
4533                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4534                sound: Some(azalea_registry::Holder::Reference(
4535                    SoundEvent::ItemSpearAttack,
4536                )),
4537                ..PiercingWeapon::new()
4538            },
4539            ItemKind::WoodenSpear => PiercingWeapon {
4540                hit_sound: Some(azalea_registry::Holder::Reference(
4541                    SoundEvent::ItemSpearWoodHit,
4542                )),
4543                sound: Some(azalea_registry::Holder::Reference(
4544                    SoundEvent::ItemSpearWoodAttack,
4545                )),
4546                ..PiercingWeapon::new()
4547            },
4548            _ => return None,
4549        };
4550        Some(value)
4551    }
4552}
4553impl DefaultableComponent for PotDecorations {
4554    fn default_for_item(item: ItemKind) -> Option<Self> {
4555        let value = match item {
4556            ItemKind::DecoratedPot => vec![
4557                ItemKind::Brick,
4558                ItemKind::Brick,
4559                ItemKind::Brick,
4560                ItemKind::Brick,
4561            ],
4562            _ => return None,
4563        };
4564        Some(PotDecorations { items: value })
4565    }
4566}
4567impl DefaultableComponent for PotionContents {
4568    fn default_for_item(item: ItemKind) -> Option<Self> {
4569        let value = match item {
4570            ItemKind::LingeringPotion => PotionContents::new(),
4571            ItemKind::Potion => PotionContents::new(),
4572            ItemKind::SplashPotion => PotionContents::new(),
4573            ItemKind::TippedArrow => PotionContents::new(),
4574            _ => return None,
4575        };
4576        Some(value)
4577    }
4578}
4579impl DefaultableComponent for PotionDurationScale {
4580    fn default_for_item(item: ItemKind) -> Option<Self> {
4581        let value = match item {
4582            ItemKind::LingeringPotion => 0.25,
4583            ItemKind::TippedArrow => 0.125,
4584            _ => return None,
4585        };
4586        Some(PotionDurationScale { value: value })
4587    }
4588}
4589impl DefaultableComponent for ProvidesBannerPatterns {
4590    fn default_for_item(item: ItemKind) -> Option<Self> {
4591        let value = match item {
4592            ItemKind::BordureIndentedBannerPattern => HolderSet::Direct { contents: vec![] },
4593            ItemKind::CreeperBannerPattern => HolderSet::Direct { contents: vec![] },
4594            ItemKind::FieldMasonedBannerPattern => HolderSet::Direct { contents: vec![] },
4595            ItemKind::FlowBannerPattern => HolderSet::Direct { contents: vec![] },
4596            ItemKind::FlowerBannerPattern => HolderSet::Direct { contents: vec![] },
4597            ItemKind::GlobeBannerPattern => HolderSet::Direct { contents: vec![] },
4598            ItemKind::GusterBannerPattern => HolderSet::Direct { contents: vec![] },
4599            ItemKind::MojangBannerPattern => HolderSet::Direct { contents: vec![] },
4600            ItemKind::PiglinBannerPattern => HolderSet::Direct { contents: vec![] },
4601            ItemKind::SkullBannerPattern => HolderSet::Direct { contents: vec![] },
4602            _ => return None,
4603        };
4604        Some(ProvidesBannerPatterns { key: value })
4605    }
4606}
4607impl DefaultableComponent for ProvidesTrimMaterial {
4608    fn default_for_item(item: ItemKind) -> Option<Self> {
4609        let value = match item {
4610            ItemKind::AmethystShard => {
4611                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4612            }
4613            ItemKind::CopperIngot => {
4614                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4615            }
4616            ItemKind::Diamond => {
4617                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4618            }
4619            ItemKind::Emerald => {
4620                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4621            }
4622            ItemKind::GoldIngot => {
4623                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4624            }
4625            ItemKind::IronIngot => {
4626                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4627            }
4628            ItemKind::LapisLazuli => {
4629                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4630            }
4631            ItemKind::NetheriteIngot => {
4632                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4633            }
4634            ItemKind::Quartz => {
4635                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4636            }
4637            ItemKind::Redstone => {
4638                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4639            }
4640            ItemKind::ResinBrick => {
4641                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4642            }
4643            _ => return None,
4644        };
4645        Some(ProvidesTrimMaterial { value: value })
4646    }
4647}
4648impl DefaultableComponent for Rarity {
4649    fn default_for_item(item: ItemKind) -> Option<Self> {
4650        let value = match item {
4651            ItemKind::AnglerPotterySherd => Rarity::Uncommon,
4652            ItemKind::ArcherPotterySherd => Rarity::Uncommon,
4653            ItemKind::ArmsUpPotterySherd => Rarity::Uncommon,
4654            ItemKind::Barrier => Rarity::Epic,
4655            ItemKind::Beacon => Rarity::Rare,
4656            ItemKind::BladePotterySherd => Rarity::Uncommon,
4657            ItemKind::BoltArmorTrimSmithingTemplate => Rarity::Uncommon,
4658            ItemKind::BrewerPotterySherd => Rarity::Uncommon,
4659            ItemKind::BurnPotterySherd => Rarity::Uncommon,
4660            ItemKind::ChainCommandBlock => Rarity::Epic,
4661            ItemKind::ChainmailBoots => Rarity::Uncommon,
4662            ItemKind::ChainmailChestplate => Rarity::Uncommon,
4663            ItemKind::ChainmailHelmet => Rarity::Uncommon,
4664            ItemKind::ChainmailLeggings => Rarity::Uncommon,
4665            ItemKind::CoastArmorTrimSmithingTemplate => Rarity::Uncommon,
4666            ItemKind::CommandBlock => Rarity::Epic,
4667            ItemKind::CommandBlockMinecart => Rarity::Epic,
4668            ItemKind::Conduit => Rarity::Uncommon,
4669            ItemKind::CreeperBannerPattern => Rarity::Uncommon,
4670            ItemKind::CreeperHead => Rarity::Uncommon,
4671            ItemKind::DangerPotterySherd => Rarity::Uncommon,
4672            ItemKind::DebugStick => Rarity::Epic,
4673            ItemKind::DiscFragment5 => Rarity::Uncommon,
4674            ItemKind::DragonBreath => Rarity::Uncommon,
4675            ItemKind::DragonEgg => Rarity::Epic,
4676            ItemKind::DragonHead => Rarity::Epic,
4677            ItemKind::DuneArmorTrimSmithingTemplate => Rarity::Uncommon,
4678            ItemKind::EchoShard => Rarity::Uncommon,
4679            ItemKind::Elytra => Rarity::Epic,
4680            ItemKind::EnchantedBook => Rarity::Rare,
4681            ItemKind::EnchantedGoldenApple => Rarity::Rare,
4682            ItemKind::ExperienceBottle => Rarity::Uncommon,
4683            ItemKind::ExplorerPotterySherd => Rarity::Uncommon,
4684            ItemKind::EyeArmorTrimSmithingTemplate => Rarity::Rare,
4685            ItemKind::FlowArmorTrimSmithingTemplate => Rarity::Uncommon,
4686            ItemKind::FlowBannerPattern => Rarity::Rare,
4687            ItemKind::FlowPotterySherd => Rarity::Uncommon,
4688            ItemKind::FriendPotterySherd => Rarity::Uncommon,
4689            ItemKind::GoatHorn => Rarity::Uncommon,
4690            ItemKind::GusterBannerPattern => Rarity::Rare,
4691            ItemKind::GusterPotterySherd => Rarity::Uncommon,
4692            ItemKind::HeartOfTheSea => Rarity::Uncommon,
4693            ItemKind::HeartPotterySherd => Rarity::Uncommon,
4694            ItemKind::HeartbreakPotterySherd => Rarity::Uncommon,
4695            ItemKind::HeavyCore => Rarity::Epic,
4696            ItemKind::HostArmorTrimSmithingTemplate => Rarity::Uncommon,
4697            ItemKind::HowlPotterySherd => Rarity::Uncommon,
4698            ItemKind::Jigsaw => Rarity::Epic,
4699            ItemKind::KnowledgeBook => Rarity::Epic,
4700            ItemKind::Light => Rarity::Epic,
4701            ItemKind::Mace => Rarity::Epic,
4702            ItemKind::MinerPotterySherd => Rarity::Uncommon,
4703            ItemKind::MojangBannerPattern => Rarity::Rare,
4704            ItemKind::MournerPotterySherd => Rarity::Uncommon,
4705            ItemKind::MusicDisc11 => Rarity::Uncommon,
4706            ItemKind::MusicDisc13 => Rarity::Uncommon,
4707            ItemKind::MusicDisc5 => Rarity::Uncommon,
4708            ItemKind::MusicDiscBlocks => Rarity::Uncommon,
4709            ItemKind::MusicDiscBounce => Rarity::Uncommon,
4710            ItemKind::MusicDiscCat => Rarity::Uncommon,
4711            ItemKind::MusicDiscChirp => Rarity::Uncommon,
4712            ItemKind::MusicDiscCreator => Rarity::Rare,
4713            ItemKind::MusicDiscCreatorMusicBox => Rarity::Uncommon,
4714            ItemKind::MusicDiscFar => Rarity::Uncommon,
4715            ItemKind::MusicDiscLavaChicken => Rarity::Rare,
4716            ItemKind::MusicDiscMall => Rarity::Uncommon,
4717            ItemKind::MusicDiscMellohi => Rarity::Uncommon,
4718            ItemKind::MusicDiscOtherside => Rarity::Rare,
4719            ItemKind::MusicDiscPigstep => Rarity::Rare,
4720            ItemKind::MusicDiscPrecipice => Rarity::Uncommon,
4721            ItemKind::MusicDiscRelic => Rarity::Uncommon,
4722            ItemKind::MusicDiscStal => Rarity::Uncommon,
4723            ItemKind::MusicDiscStrad => Rarity::Uncommon,
4724            ItemKind::MusicDiscTears => Rarity::Uncommon,
4725            ItemKind::MusicDiscWait => Rarity::Uncommon,
4726            ItemKind::MusicDiscWard => Rarity::Uncommon,
4727            ItemKind::NautilusShell => Rarity::Uncommon,
4728            ItemKind::NetherStar => Rarity::Rare,
4729            ItemKind::NetheriteUpgradeSmithingTemplate => Rarity::Uncommon,
4730            ItemKind::OminousBottle => Rarity::Uncommon,
4731            ItemKind::PiglinBannerPattern => Rarity::Uncommon,
4732            ItemKind::PiglinHead => Rarity::Uncommon,
4733            ItemKind::PlayerHead => Rarity::Uncommon,
4734            ItemKind::PlentyPotterySherd => Rarity::Uncommon,
4735            ItemKind::PrizePotterySherd => Rarity::Uncommon,
4736            ItemKind::RaiserArmorTrimSmithingTemplate => Rarity::Uncommon,
4737            ItemKind::RecoveryCompass => Rarity::Uncommon,
4738            ItemKind::RepeatingCommandBlock => Rarity::Epic,
4739            ItemKind::RibArmorTrimSmithingTemplate => Rarity::Uncommon,
4740            ItemKind::ScrapePotterySherd => Rarity::Uncommon,
4741            ItemKind::SentryArmorTrimSmithingTemplate => Rarity::Uncommon,
4742            ItemKind::ShaperArmorTrimSmithingTemplate => Rarity::Uncommon,
4743            ItemKind::SheafPotterySherd => Rarity::Uncommon,
4744            ItemKind::ShelterPotterySherd => Rarity::Uncommon,
4745            ItemKind::SilenceArmorTrimSmithingTemplate => Rarity::Epic,
4746            ItemKind::SkeletonSkull => Rarity::Uncommon,
4747            ItemKind::SkullBannerPattern => Rarity::Rare,
4748            ItemKind::SkullPotterySherd => Rarity::Uncommon,
4749            ItemKind::SnifferEgg => Rarity::Uncommon,
4750            ItemKind::SnortPotterySherd => Rarity::Uncommon,
4751            ItemKind::SnoutArmorTrimSmithingTemplate => Rarity::Uncommon,
4752            ItemKind::SpireArmorTrimSmithingTemplate => Rarity::Rare,
4753            ItemKind::StructureBlock => Rarity::Epic,
4754            ItemKind::StructureVoid => Rarity::Epic,
4755            ItemKind::TestBlock => Rarity::Epic,
4756            ItemKind::TestInstanceBlock => Rarity::Epic,
4757            ItemKind::TideArmorTrimSmithingTemplate => Rarity::Uncommon,
4758            ItemKind::TotemOfUndying => Rarity::Uncommon,
4759            ItemKind::Trident => Rarity::Rare,
4760            ItemKind::VexArmorTrimSmithingTemplate => Rarity::Rare,
4761            ItemKind::WardArmorTrimSmithingTemplate => Rarity::Rare,
4762            ItemKind::WayfinderArmorTrimSmithingTemplate => Rarity::Uncommon,
4763            ItemKind::WildArmorTrimSmithingTemplate => Rarity::Uncommon,
4764            ItemKind::WitherSkeletonSkull => Rarity::Rare,
4765            ItemKind::ZombieHead => Rarity::Uncommon,
4766            _ => Rarity::Common,
4767        };
4768        Some(value)
4769    }
4770}
4771impl DefaultableComponent for Recipes {
4772    fn default_for_item(item: ItemKind) -> Option<Self> {
4773        let value = match item {
4774            ItemKind::KnowledgeBook => vec![],
4775            _ => return None,
4776        };
4777        Some(Recipes { recipes: value })
4778    }
4779}
4780impl DefaultableComponent for RepairCost {
4781    fn default_for_item(_item: ItemKind) -> Option<Self> {
4782        Some(RepairCost { cost: 0 })
4783    }
4784}
4785impl DefaultableComponent for Repairable {
4786    fn default_for_item(item: ItemKind) -> Option<Self> {
4787        let value = match item {
4788            ItemKind::ChainmailBoots => HolderSet::Direct {
4789                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4790                    .clone()
4791                    .into_iter()
4792                    .collect(),
4793            },
4794            ItemKind::ChainmailChestplate => HolderSet::Direct {
4795                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4796                    .clone()
4797                    .into_iter()
4798                    .collect(),
4799            },
4800            ItemKind::ChainmailHelmet => HolderSet::Direct {
4801                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4802                    .clone()
4803                    .into_iter()
4804                    .collect(),
4805            },
4806            ItemKind::ChainmailLeggings => HolderSet::Direct {
4807                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4808                    .clone()
4809                    .into_iter()
4810                    .collect(),
4811            },
4812            ItemKind::CopperAxe => HolderSet::Direct {
4813                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4814                    .clone()
4815                    .into_iter()
4816                    .collect(),
4817            },
4818            ItemKind::CopperBoots => HolderSet::Direct {
4819                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4820                    .clone()
4821                    .into_iter()
4822                    .collect(),
4823            },
4824            ItemKind::CopperChestplate => HolderSet::Direct {
4825                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4826                    .clone()
4827                    .into_iter()
4828                    .collect(),
4829            },
4830            ItemKind::CopperHelmet => HolderSet::Direct {
4831                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4832                    .clone()
4833                    .into_iter()
4834                    .collect(),
4835            },
4836            ItemKind::CopperHoe => HolderSet::Direct {
4837                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4838                    .clone()
4839                    .into_iter()
4840                    .collect(),
4841            },
4842            ItemKind::CopperLeggings => HolderSet::Direct {
4843                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4844                    .clone()
4845                    .into_iter()
4846                    .collect(),
4847            },
4848            ItemKind::CopperPickaxe => HolderSet::Direct {
4849                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4850                    .clone()
4851                    .into_iter()
4852                    .collect(),
4853            },
4854            ItemKind::CopperShovel => HolderSet::Direct {
4855                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4856                    .clone()
4857                    .into_iter()
4858                    .collect(),
4859            },
4860            ItemKind::CopperSpear => HolderSet::Direct {
4861                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4862                    .clone()
4863                    .into_iter()
4864                    .collect(),
4865            },
4866            ItemKind::CopperSword => HolderSet::Direct {
4867                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4868                    .clone()
4869                    .into_iter()
4870                    .collect(),
4871            },
4872            ItemKind::DiamondAxe => HolderSet::Direct {
4873                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4874                    .clone()
4875                    .into_iter()
4876                    .collect(),
4877            },
4878            ItemKind::DiamondBoots => HolderSet::Direct {
4879                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4880                    .clone()
4881                    .into_iter()
4882                    .collect(),
4883            },
4884            ItemKind::DiamondChestplate => HolderSet::Direct {
4885                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4886                    .clone()
4887                    .into_iter()
4888                    .collect(),
4889            },
4890            ItemKind::DiamondHelmet => HolderSet::Direct {
4891                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4892                    .clone()
4893                    .into_iter()
4894                    .collect(),
4895            },
4896            ItemKind::DiamondHoe => HolderSet::Direct {
4897                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4898                    .clone()
4899                    .into_iter()
4900                    .collect(),
4901            },
4902            ItemKind::DiamondLeggings => HolderSet::Direct {
4903                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4904                    .clone()
4905                    .into_iter()
4906                    .collect(),
4907            },
4908            ItemKind::DiamondPickaxe => HolderSet::Direct {
4909                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4910                    .clone()
4911                    .into_iter()
4912                    .collect(),
4913            },
4914            ItemKind::DiamondShovel => HolderSet::Direct {
4915                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4916                    .clone()
4917                    .into_iter()
4918                    .collect(),
4919            },
4920            ItemKind::DiamondSpear => HolderSet::Direct {
4921                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4922                    .clone()
4923                    .into_iter()
4924                    .collect(),
4925            },
4926            ItemKind::DiamondSword => HolderSet::Direct {
4927                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4928                    .clone()
4929                    .into_iter()
4930                    .collect(),
4931            },
4932            ItemKind::Elytra => HolderSet::Direct {
4933                contents: vec![ItemKind::PhantomMembrane],
4934            },
4935            ItemKind::GoldenAxe => HolderSet::Direct {
4936                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4937                    .clone()
4938                    .into_iter()
4939                    .collect(),
4940            },
4941            ItemKind::GoldenBoots => HolderSet::Direct {
4942                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4943                    .clone()
4944                    .into_iter()
4945                    .collect(),
4946            },
4947            ItemKind::GoldenChestplate => HolderSet::Direct {
4948                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4949                    .clone()
4950                    .into_iter()
4951                    .collect(),
4952            },
4953            ItemKind::GoldenHelmet => HolderSet::Direct {
4954                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4955                    .clone()
4956                    .into_iter()
4957                    .collect(),
4958            },
4959            ItemKind::GoldenHoe => HolderSet::Direct {
4960                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4961                    .clone()
4962                    .into_iter()
4963                    .collect(),
4964            },
4965            ItemKind::GoldenLeggings => HolderSet::Direct {
4966                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4967                    .clone()
4968                    .into_iter()
4969                    .collect(),
4970            },
4971            ItemKind::GoldenPickaxe => HolderSet::Direct {
4972                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4973                    .clone()
4974                    .into_iter()
4975                    .collect(),
4976            },
4977            ItemKind::GoldenShovel => HolderSet::Direct {
4978                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4979                    .clone()
4980                    .into_iter()
4981                    .collect(),
4982            },
4983            ItemKind::GoldenSpear => HolderSet::Direct {
4984                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4985                    .clone()
4986                    .into_iter()
4987                    .collect(),
4988            },
4989            ItemKind::GoldenSword => HolderSet::Direct {
4990                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4991                    .clone()
4992                    .into_iter()
4993                    .collect(),
4994            },
4995            ItemKind::IronAxe => HolderSet::Direct {
4996                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
4997                    .clone()
4998                    .into_iter()
4999                    .collect(),
5000            },
5001            ItemKind::IronBoots => HolderSet::Direct {
5002                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5003                    .clone()
5004                    .into_iter()
5005                    .collect(),
5006            },
5007            ItemKind::IronChestplate => HolderSet::Direct {
5008                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5009                    .clone()
5010                    .into_iter()
5011                    .collect(),
5012            },
5013            ItemKind::IronHelmet => HolderSet::Direct {
5014                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5015                    .clone()
5016                    .into_iter()
5017                    .collect(),
5018            },
5019            ItemKind::IronHoe => HolderSet::Direct {
5020                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5021                    .clone()
5022                    .into_iter()
5023                    .collect(),
5024            },
5025            ItemKind::IronLeggings => HolderSet::Direct {
5026                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5027                    .clone()
5028                    .into_iter()
5029                    .collect(),
5030            },
5031            ItemKind::IronPickaxe => HolderSet::Direct {
5032                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5033                    .clone()
5034                    .into_iter()
5035                    .collect(),
5036            },
5037            ItemKind::IronShovel => HolderSet::Direct {
5038                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5039                    .clone()
5040                    .into_iter()
5041                    .collect(),
5042            },
5043            ItemKind::IronSpear => HolderSet::Direct {
5044                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5045                    .clone()
5046                    .into_iter()
5047                    .collect(),
5048            },
5049            ItemKind::IronSword => HolderSet::Direct {
5050                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5051                    .clone()
5052                    .into_iter()
5053                    .collect(),
5054            },
5055            ItemKind::LeatherBoots => HolderSet::Direct {
5056                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5057                    .clone()
5058                    .into_iter()
5059                    .collect(),
5060            },
5061            ItemKind::LeatherChestplate => HolderSet::Direct {
5062                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5063                    .clone()
5064                    .into_iter()
5065                    .collect(),
5066            },
5067            ItemKind::LeatherHelmet => HolderSet::Direct {
5068                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5069                    .clone()
5070                    .into_iter()
5071                    .collect(),
5072            },
5073            ItemKind::LeatherLeggings => HolderSet::Direct {
5074                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5075                    .clone()
5076                    .into_iter()
5077                    .collect(),
5078            },
5079            ItemKind::Mace => HolderSet::Direct {
5080                contents: vec![ItemKind::BreezeRod],
5081            },
5082            ItemKind::NetheriteAxe => HolderSet::Direct {
5083                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5084                    .clone()
5085                    .into_iter()
5086                    .collect(),
5087            },
5088            ItemKind::NetheriteBoots => HolderSet::Direct {
5089                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5090                    .clone()
5091                    .into_iter()
5092                    .collect(),
5093            },
5094            ItemKind::NetheriteChestplate => HolderSet::Direct {
5095                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5096                    .clone()
5097                    .into_iter()
5098                    .collect(),
5099            },
5100            ItemKind::NetheriteHelmet => HolderSet::Direct {
5101                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5102                    .clone()
5103                    .into_iter()
5104                    .collect(),
5105            },
5106            ItemKind::NetheriteHoe => HolderSet::Direct {
5107                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5108                    .clone()
5109                    .into_iter()
5110                    .collect(),
5111            },
5112            ItemKind::NetheriteLeggings => HolderSet::Direct {
5113                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5114                    .clone()
5115                    .into_iter()
5116                    .collect(),
5117            },
5118            ItemKind::NetheritePickaxe => HolderSet::Direct {
5119                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5120                    .clone()
5121                    .into_iter()
5122                    .collect(),
5123            },
5124            ItemKind::NetheriteShovel => HolderSet::Direct {
5125                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5126                    .clone()
5127                    .into_iter()
5128                    .collect(),
5129            },
5130            ItemKind::NetheriteSpear => HolderSet::Direct {
5131                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5132                    .clone()
5133                    .into_iter()
5134                    .collect(),
5135            },
5136            ItemKind::NetheriteSword => HolderSet::Direct {
5137                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5138                    .clone()
5139                    .into_iter()
5140                    .collect(),
5141            },
5142            ItemKind::Shield => HolderSet::Direct {
5143                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5144                    .clone()
5145                    .into_iter()
5146                    .collect(),
5147            },
5148            ItemKind::StoneAxe => HolderSet::Direct {
5149                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5150                    .clone()
5151                    .into_iter()
5152                    .collect(),
5153            },
5154            ItemKind::StoneHoe => HolderSet::Direct {
5155                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5156                    .clone()
5157                    .into_iter()
5158                    .collect(),
5159            },
5160            ItemKind::StonePickaxe => HolderSet::Direct {
5161                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5162                    .clone()
5163                    .into_iter()
5164                    .collect(),
5165            },
5166            ItemKind::StoneShovel => HolderSet::Direct {
5167                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5168                    .clone()
5169                    .into_iter()
5170                    .collect(),
5171            },
5172            ItemKind::StoneSpear => HolderSet::Direct {
5173                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5174                    .clone()
5175                    .into_iter()
5176                    .collect(),
5177            },
5178            ItemKind::StoneSword => HolderSet::Direct {
5179                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5180                    .clone()
5181                    .into_iter()
5182                    .collect(),
5183            },
5184            ItemKind::TurtleHelmet => HolderSet::Direct {
5185                contents: azalea_registry::tags::items::REPAIRS_TURTLE_HELMET
5186                    .clone()
5187                    .into_iter()
5188                    .collect(),
5189            },
5190            ItemKind::WolfArmor => HolderSet::Direct {
5191                contents: azalea_registry::tags::items::REPAIRS_WOLF_ARMOR
5192                    .clone()
5193                    .into_iter()
5194                    .collect(),
5195            },
5196            ItemKind::WoodenAxe => HolderSet::Direct {
5197                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5198                    .clone()
5199                    .into_iter()
5200                    .collect(),
5201            },
5202            ItemKind::WoodenHoe => HolderSet::Direct {
5203                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5204                    .clone()
5205                    .into_iter()
5206                    .collect(),
5207            },
5208            ItemKind::WoodenPickaxe => HolderSet::Direct {
5209                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5210                    .clone()
5211                    .into_iter()
5212                    .collect(),
5213            },
5214            ItemKind::WoodenShovel => HolderSet::Direct {
5215                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5216                    .clone()
5217                    .into_iter()
5218                    .collect(),
5219            },
5220            ItemKind::WoodenSpear => HolderSet::Direct {
5221                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5222                    .clone()
5223                    .into_iter()
5224                    .collect(),
5225            },
5226            ItemKind::WoodenSword => HolderSet::Direct {
5227                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5228                    .clone()
5229                    .into_iter()
5230                    .collect(),
5231            },
5232            _ => return None,
5233        };
5234        Some(Repairable { items: value })
5235    }
5236}
5237impl DefaultableComponent for StoredEnchantments {
5238    fn default_for_item(item: ItemKind) -> Option<Self> {
5239        let value = match item {
5240            ItemKind::EnchantedBook => HashMap::from_iter([]),
5241            _ => return None,
5242        };
5243        Some(StoredEnchantments {
5244            enchantments: value,
5245        })
5246    }
5247}
5248impl DefaultableComponent for SuspiciousStewEffects {
5249    fn default_for_item(item: ItemKind) -> Option<Self> {
5250        let value = match item {
5251            ItemKind::SuspiciousStew => vec![],
5252            _ => return None,
5253        };
5254        Some(SuspiciousStewEffects { effects: value })
5255    }
5256}
5257impl DefaultableComponent for SwingAnimation {
5258    fn default_for_item(item: ItemKind) -> Option<Self> {
5259        let value = match item {
5260            ItemKind::CopperSpear => SwingAnimation {
5261                kind: SwingAnimationKind::Stab,
5262                duration: 17,
5263            },
5264            ItemKind::DiamondSpear => SwingAnimation {
5265                kind: SwingAnimationKind::Stab,
5266                duration: 21,
5267            },
5268            ItemKind::GoldenSpear => SwingAnimation {
5269                kind: SwingAnimationKind::Stab,
5270                duration: 19,
5271            },
5272            ItemKind::IronSpear => SwingAnimation {
5273                kind: SwingAnimationKind::Stab,
5274                duration: 19,
5275            },
5276            ItemKind::NetheriteSpear => SwingAnimation {
5277                kind: SwingAnimationKind::Stab,
5278                duration: 23,
5279            },
5280            ItemKind::StoneSpear => SwingAnimation {
5281                kind: SwingAnimationKind::Stab,
5282                duration: 15,
5283            },
5284            ItemKind::WoodenSpear => SwingAnimation {
5285                kind: SwingAnimationKind::Stab,
5286                duration: 13,
5287            },
5288            _ => SwingAnimation::new(),
5289        };
5290        Some(value)
5291    }
5292}
5293impl DefaultableComponent for Tool {
5294    fn default_for_item(item: ItemKind) -> Option<Self> {
5295        let value = match item {
5296            ItemKind::CopperAxe => Tool {
5297                rules: vec![
5298                    ToolRule {
5299                        blocks: HolderSet::Direct {
5300                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5301                                .clone()
5302                                .into_iter()
5303                                .collect(),
5304                        },
5305                        correct_for_drops: Some(false),
5306                        ..ToolRule::new()
5307                    },
5308                    ToolRule {
5309                        blocks: HolderSet::Direct {
5310                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5311                                .clone()
5312                                .into_iter()
5313                                .collect(),
5314                        },
5315                        correct_for_drops: Some(true),
5316                        speed: Some(5.0),
5317                    },
5318                ],
5319                ..Tool::new()
5320            },
5321            ItemKind::CopperHoe => Tool {
5322                rules: vec![
5323                    ToolRule {
5324                        blocks: HolderSet::Direct {
5325                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5326                                .clone()
5327                                .into_iter()
5328                                .collect(),
5329                        },
5330                        correct_for_drops: Some(false),
5331                        ..ToolRule::new()
5332                    },
5333                    ToolRule {
5334                        blocks: HolderSet::Direct {
5335                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5336                                .clone()
5337                                .into_iter()
5338                                .collect(),
5339                        },
5340                        correct_for_drops: Some(true),
5341                        speed: Some(5.0),
5342                    },
5343                ],
5344                ..Tool::new()
5345            },
5346            ItemKind::CopperPickaxe => Tool {
5347                rules: vec![
5348                    ToolRule {
5349                        blocks: HolderSet::Direct {
5350                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5351                                .clone()
5352                                .into_iter()
5353                                .collect(),
5354                        },
5355                        correct_for_drops: Some(false),
5356                        ..ToolRule::new()
5357                    },
5358                    ToolRule {
5359                        blocks: HolderSet::Direct {
5360                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5361                                .clone()
5362                                .into_iter()
5363                                .collect(),
5364                        },
5365                        correct_for_drops: Some(true),
5366                        speed: Some(5.0),
5367                    },
5368                ],
5369                ..Tool::new()
5370            },
5371            ItemKind::CopperShovel => Tool {
5372                rules: vec![
5373                    ToolRule {
5374                        blocks: HolderSet::Direct {
5375                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5376                                .clone()
5377                                .into_iter()
5378                                .collect(),
5379                        },
5380                        correct_for_drops: Some(false),
5381                        ..ToolRule::new()
5382                    },
5383                    ToolRule {
5384                        blocks: HolderSet::Direct {
5385                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5386                                .clone()
5387                                .into_iter()
5388                                .collect(),
5389                        },
5390                        correct_for_drops: Some(true),
5391                        speed: Some(5.0),
5392                    },
5393                ],
5394                ..Tool::new()
5395            },
5396            ItemKind::CopperSword => Tool {
5397                can_destroy_blocks_in_creative: false,
5398                damage_per_block: 2,
5399                rules: vec![
5400                    ToolRule {
5401                        blocks: HolderSet::Direct {
5402                            contents: vec![BlockKind::Cobweb],
5403                        },
5404                        correct_for_drops: Some(true),
5405                        speed: Some(15.0),
5406                    },
5407                    ToolRule {
5408                        blocks: HolderSet::Direct {
5409                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5410                                .clone()
5411                                .into_iter()
5412                                .collect(),
5413                        },
5414                        speed: Some(3.4028235e+38),
5415                        ..ToolRule::new()
5416                    },
5417                    ToolRule {
5418                        blocks: HolderSet::Direct {
5419                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5420                                .clone()
5421                                .into_iter()
5422                                .collect(),
5423                        },
5424                        speed: Some(1.5),
5425                        ..ToolRule::new()
5426                    },
5427                ],
5428                ..Tool::new()
5429            },
5430            ItemKind::DiamondAxe => Tool {
5431                rules: vec![
5432                    ToolRule {
5433                        blocks: HolderSet::Direct {
5434                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5435                                .clone()
5436                                .into_iter()
5437                                .collect(),
5438                        },
5439                        correct_for_drops: Some(false),
5440                        ..ToolRule::new()
5441                    },
5442                    ToolRule {
5443                        blocks: HolderSet::Direct {
5444                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5445                                .clone()
5446                                .into_iter()
5447                                .collect(),
5448                        },
5449                        correct_for_drops: Some(true),
5450                        speed: Some(8.0),
5451                    },
5452                ],
5453                ..Tool::new()
5454            },
5455            ItemKind::DiamondHoe => Tool {
5456                rules: vec![
5457                    ToolRule {
5458                        blocks: HolderSet::Direct {
5459                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5460                                .clone()
5461                                .into_iter()
5462                                .collect(),
5463                        },
5464                        correct_for_drops: Some(false),
5465                        ..ToolRule::new()
5466                    },
5467                    ToolRule {
5468                        blocks: HolderSet::Direct {
5469                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5470                                .clone()
5471                                .into_iter()
5472                                .collect(),
5473                        },
5474                        correct_for_drops: Some(true),
5475                        speed: Some(8.0),
5476                    },
5477                ],
5478                ..Tool::new()
5479            },
5480            ItemKind::DiamondPickaxe => Tool {
5481                rules: vec![
5482                    ToolRule {
5483                        blocks: HolderSet::Direct {
5484                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5485                                .clone()
5486                                .into_iter()
5487                                .collect(),
5488                        },
5489                        correct_for_drops: Some(false),
5490                        ..ToolRule::new()
5491                    },
5492                    ToolRule {
5493                        blocks: HolderSet::Direct {
5494                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5495                                .clone()
5496                                .into_iter()
5497                                .collect(),
5498                        },
5499                        correct_for_drops: Some(true),
5500                        speed: Some(8.0),
5501                    },
5502                ],
5503                ..Tool::new()
5504            },
5505            ItemKind::DiamondShovel => Tool {
5506                rules: vec![
5507                    ToolRule {
5508                        blocks: HolderSet::Direct {
5509                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5510                                .clone()
5511                                .into_iter()
5512                                .collect(),
5513                        },
5514                        correct_for_drops: Some(false),
5515                        ..ToolRule::new()
5516                    },
5517                    ToolRule {
5518                        blocks: HolderSet::Direct {
5519                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5520                                .clone()
5521                                .into_iter()
5522                                .collect(),
5523                        },
5524                        correct_for_drops: Some(true),
5525                        speed: Some(8.0),
5526                    },
5527                ],
5528                ..Tool::new()
5529            },
5530            ItemKind::DiamondSword => Tool {
5531                can_destroy_blocks_in_creative: false,
5532                damage_per_block: 2,
5533                rules: vec![
5534                    ToolRule {
5535                        blocks: HolderSet::Direct {
5536                            contents: vec![BlockKind::Cobweb],
5537                        },
5538                        correct_for_drops: Some(true),
5539                        speed: Some(15.0),
5540                    },
5541                    ToolRule {
5542                        blocks: HolderSet::Direct {
5543                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5544                                .clone()
5545                                .into_iter()
5546                                .collect(),
5547                        },
5548                        speed: Some(3.4028235e+38),
5549                        ..ToolRule::new()
5550                    },
5551                    ToolRule {
5552                        blocks: HolderSet::Direct {
5553                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5554                                .clone()
5555                                .into_iter()
5556                                .collect(),
5557                        },
5558                        speed: Some(1.5),
5559                        ..ToolRule::new()
5560                    },
5561                ],
5562                ..Tool::new()
5563            },
5564            ItemKind::GoldenAxe => Tool {
5565                rules: vec![
5566                    ToolRule {
5567                        blocks: HolderSet::Direct {
5568                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5569                                .clone()
5570                                .into_iter()
5571                                .collect(),
5572                        },
5573                        correct_for_drops: Some(false),
5574                        ..ToolRule::new()
5575                    },
5576                    ToolRule {
5577                        blocks: HolderSet::Direct {
5578                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5579                                .clone()
5580                                .into_iter()
5581                                .collect(),
5582                        },
5583                        correct_for_drops: Some(true),
5584                        speed: Some(12.0),
5585                    },
5586                ],
5587                ..Tool::new()
5588            },
5589            ItemKind::GoldenHoe => Tool {
5590                rules: vec![
5591                    ToolRule {
5592                        blocks: HolderSet::Direct {
5593                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5594                                .clone()
5595                                .into_iter()
5596                                .collect(),
5597                        },
5598                        correct_for_drops: Some(false),
5599                        ..ToolRule::new()
5600                    },
5601                    ToolRule {
5602                        blocks: HolderSet::Direct {
5603                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5604                                .clone()
5605                                .into_iter()
5606                                .collect(),
5607                        },
5608                        correct_for_drops: Some(true),
5609                        speed: Some(12.0),
5610                    },
5611                ],
5612                ..Tool::new()
5613            },
5614            ItemKind::GoldenPickaxe => Tool {
5615                rules: vec![
5616                    ToolRule {
5617                        blocks: HolderSet::Direct {
5618                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5619                                .clone()
5620                                .into_iter()
5621                                .collect(),
5622                        },
5623                        correct_for_drops: Some(false),
5624                        ..ToolRule::new()
5625                    },
5626                    ToolRule {
5627                        blocks: HolderSet::Direct {
5628                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5629                                .clone()
5630                                .into_iter()
5631                                .collect(),
5632                        },
5633                        correct_for_drops: Some(true),
5634                        speed: Some(12.0),
5635                    },
5636                ],
5637                ..Tool::new()
5638            },
5639            ItemKind::GoldenShovel => Tool {
5640                rules: vec![
5641                    ToolRule {
5642                        blocks: HolderSet::Direct {
5643                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5644                                .clone()
5645                                .into_iter()
5646                                .collect(),
5647                        },
5648                        correct_for_drops: Some(false),
5649                        ..ToolRule::new()
5650                    },
5651                    ToolRule {
5652                        blocks: HolderSet::Direct {
5653                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5654                                .clone()
5655                                .into_iter()
5656                                .collect(),
5657                        },
5658                        correct_for_drops: Some(true),
5659                        speed: Some(12.0),
5660                    },
5661                ],
5662                ..Tool::new()
5663            },
5664            ItemKind::GoldenSword => Tool {
5665                can_destroy_blocks_in_creative: false,
5666                damage_per_block: 2,
5667                rules: vec![
5668                    ToolRule {
5669                        blocks: HolderSet::Direct {
5670                            contents: vec![BlockKind::Cobweb],
5671                        },
5672                        correct_for_drops: Some(true),
5673                        speed: Some(15.0),
5674                    },
5675                    ToolRule {
5676                        blocks: HolderSet::Direct {
5677                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5678                                .clone()
5679                                .into_iter()
5680                                .collect(),
5681                        },
5682                        speed: Some(3.4028235e+38),
5683                        ..ToolRule::new()
5684                    },
5685                    ToolRule {
5686                        blocks: HolderSet::Direct {
5687                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5688                                .clone()
5689                                .into_iter()
5690                                .collect(),
5691                        },
5692                        speed: Some(1.5),
5693                        ..ToolRule::new()
5694                    },
5695                ],
5696                ..Tool::new()
5697            },
5698            ItemKind::IronAxe => Tool {
5699                rules: vec![
5700                    ToolRule {
5701                        blocks: HolderSet::Direct {
5702                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5703                                .clone()
5704                                .into_iter()
5705                                .collect(),
5706                        },
5707                        correct_for_drops: Some(false),
5708                        ..ToolRule::new()
5709                    },
5710                    ToolRule {
5711                        blocks: HolderSet::Direct {
5712                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5713                                .clone()
5714                                .into_iter()
5715                                .collect(),
5716                        },
5717                        correct_for_drops: Some(true),
5718                        speed: Some(6.0),
5719                    },
5720                ],
5721                ..Tool::new()
5722            },
5723            ItemKind::IronHoe => Tool {
5724                rules: vec![
5725                    ToolRule {
5726                        blocks: HolderSet::Direct {
5727                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5728                                .clone()
5729                                .into_iter()
5730                                .collect(),
5731                        },
5732                        correct_for_drops: Some(false),
5733                        ..ToolRule::new()
5734                    },
5735                    ToolRule {
5736                        blocks: HolderSet::Direct {
5737                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5738                                .clone()
5739                                .into_iter()
5740                                .collect(),
5741                        },
5742                        correct_for_drops: Some(true),
5743                        speed: Some(6.0),
5744                    },
5745                ],
5746                ..Tool::new()
5747            },
5748            ItemKind::IronPickaxe => Tool {
5749                rules: vec![
5750                    ToolRule {
5751                        blocks: HolderSet::Direct {
5752                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5753                                .clone()
5754                                .into_iter()
5755                                .collect(),
5756                        },
5757                        correct_for_drops: Some(false),
5758                        ..ToolRule::new()
5759                    },
5760                    ToolRule {
5761                        blocks: HolderSet::Direct {
5762                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5763                                .clone()
5764                                .into_iter()
5765                                .collect(),
5766                        },
5767                        correct_for_drops: Some(true),
5768                        speed: Some(6.0),
5769                    },
5770                ],
5771                ..Tool::new()
5772            },
5773            ItemKind::IronShovel => Tool {
5774                rules: vec![
5775                    ToolRule {
5776                        blocks: HolderSet::Direct {
5777                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5778                                .clone()
5779                                .into_iter()
5780                                .collect(),
5781                        },
5782                        correct_for_drops: Some(false),
5783                        ..ToolRule::new()
5784                    },
5785                    ToolRule {
5786                        blocks: HolderSet::Direct {
5787                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5788                                .clone()
5789                                .into_iter()
5790                                .collect(),
5791                        },
5792                        correct_for_drops: Some(true),
5793                        speed: Some(6.0),
5794                    },
5795                ],
5796                ..Tool::new()
5797            },
5798            ItemKind::IronSword => Tool {
5799                can_destroy_blocks_in_creative: false,
5800                damage_per_block: 2,
5801                rules: vec![
5802                    ToolRule {
5803                        blocks: HolderSet::Direct {
5804                            contents: vec![BlockKind::Cobweb],
5805                        },
5806                        correct_for_drops: Some(true),
5807                        speed: Some(15.0),
5808                    },
5809                    ToolRule {
5810                        blocks: HolderSet::Direct {
5811                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5812                                .clone()
5813                                .into_iter()
5814                                .collect(),
5815                        },
5816                        speed: Some(3.4028235e+38),
5817                        ..ToolRule::new()
5818                    },
5819                    ToolRule {
5820                        blocks: HolderSet::Direct {
5821                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5822                                .clone()
5823                                .into_iter()
5824                                .collect(),
5825                        },
5826                        speed: Some(1.5),
5827                        ..ToolRule::new()
5828                    },
5829                ],
5830                ..Tool::new()
5831            },
5832            ItemKind::Mace => Tool {
5833                can_destroy_blocks_in_creative: false,
5834                damage_per_block: 2,
5835                rules: vec![],
5836                ..Tool::new()
5837            },
5838            ItemKind::NetheriteAxe => Tool {
5839                rules: vec![
5840                    ToolRule {
5841                        blocks: HolderSet::Direct {
5842                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5843                                .clone()
5844                                .into_iter()
5845                                .collect(),
5846                        },
5847                        correct_for_drops: Some(false),
5848                        ..ToolRule::new()
5849                    },
5850                    ToolRule {
5851                        blocks: HolderSet::Direct {
5852                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5853                                .clone()
5854                                .into_iter()
5855                                .collect(),
5856                        },
5857                        correct_for_drops: Some(true),
5858                        speed: Some(9.0),
5859                    },
5860                ],
5861                ..Tool::new()
5862            },
5863            ItemKind::NetheriteHoe => Tool {
5864                rules: vec![
5865                    ToolRule {
5866                        blocks: HolderSet::Direct {
5867                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5868                                .clone()
5869                                .into_iter()
5870                                .collect(),
5871                        },
5872                        correct_for_drops: Some(false),
5873                        ..ToolRule::new()
5874                    },
5875                    ToolRule {
5876                        blocks: HolderSet::Direct {
5877                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5878                                .clone()
5879                                .into_iter()
5880                                .collect(),
5881                        },
5882                        correct_for_drops: Some(true),
5883                        speed: Some(9.0),
5884                    },
5885                ],
5886                ..Tool::new()
5887            },
5888            ItemKind::NetheritePickaxe => Tool {
5889                rules: vec![
5890                    ToolRule {
5891                        blocks: HolderSet::Direct {
5892                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5893                                .clone()
5894                                .into_iter()
5895                                .collect(),
5896                        },
5897                        correct_for_drops: Some(false),
5898                        ..ToolRule::new()
5899                    },
5900                    ToolRule {
5901                        blocks: HolderSet::Direct {
5902                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5903                                .clone()
5904                                .into_iter()
5905                                .collect(),
5906                        },
5907                        correct_for_drops: Some(true),
5908                        speed: Some(9.0),
5909                    },
5910                ],
5911                ..Tool::new()
5912            },
5913            ItemKind::NetheriteShovel => Tool {
5914                rules: vec![
5915                    ToolRule {
5916                        blocks: HolderSet::Direct {
5917                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5918                                .clone()
5919                                .into_iter()
5920                                .collect(),
5921                        },
5922                        correct_for_drops: Some(false),
5923                        ..ToolRule::new()
5924                    },
5925                    ToolRule {
5926                        blocks: HolderSet::Direct {
5927                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5928                                .clone()
5929                                .into_iter()
5930                                .collect(),
5931                        },
5932                        correct_for_drops: Some(true),
5933                        speed: Some(9.0),
5934                    },
5935                ],
5936                ..Tool::new()
5937            },
5938            ItemKind::NetheriteSword => Tool {
5939                can_destroy_blocks_in_creative: false,
5940                damage_per_block: 2,
5941                rules: vec![
5942                    ToolRule {
5943                        blocks: HolderSet::Direct {
5944                            contents: vec![BlockKind::Cobweb],
5945                        },
5946                        correct_for_drops: Some(true),
5947                        speed: Some(15.0),
5948                    },
5949                    ToolRule {
5950                        blocks: HolderSet::Direct {
5951                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5952                                .clone()
5953                                .into_iter()
5954                                .collect(),
5955                        },
5956                        speed: Some(3.4028235e+38),
5957                        ..ToolRule::new()
5958                    },
5959                    ToolRule {
5960                        blocks: HolderSet::Direct {
5961                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5962                                .clone()
5963                                .into_iter()
5964                                .collect(),
5965                        },
5966                        speed: Some(1.5),
5967                        ..ToolRule::new()
5968                    },
5969                ],
5970                ..Tool::new()
5971            },
5972            ItemKind::Shears => Tool {
5973                rules: vec![
5974                    ToolRule {
5975                        blocks: HolderSet::Direct {
5976                            contents: vec![BlockKind::Cobweb],
5977                        },
5978                        correct_for_drops: Some(true),
5979                        speed: Some(15.0),
5980                    },
5981                    ToolRule {
5982                        blocks: HolderSet::Direct {
5983                            contents: azalea_registry::tags::blocks::SHEARS_EXTREME_BREAKING_SPEED
5984                                .clone()
5985                                .into_iter()
5986                                .collect(),
5987                        },
5988                        speed: Some(15.0),
5989                        ..ToolRule::new()
5990                    },
5991                    ToolRule {
5992                        blocks: HolderSet::Direct {
5993                            contents: azalea_registry::tags::blocks::SHEARS_MAJOR_BREAKING_SPEED
5994                                .clone()
5995                                .into_iter()
5996                                .collect(),
5997                        },
5998                        speed: Some(5.0),
5999                        ..ToolRule::new()
6000                    },
6001                    ToolRule {
6002                        blocks: HolderSet::Direct {
6003                            contents: azalea_registry::tags::blocks::SHEARS_MINOR_BREAKING_SPEED
6004                                .clone()
6005                                .into_iter()
6006                                .collect(),
6007                        },
6008                        speed: Some(2.0),
6009                        ..ToolRule::new()
6010                    },
6011                ],
6012                ..Tool::new()
6013            },
6014            ItemKind::StoneAxe => Tool {
6015                rules: vec![
6016                    ToolRule {
6017                        blocks: HolderSet::Direct {
6018                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6019                                .clone()
6020                                .into_iter()
6021                                .collect(),
6022                        },
6023                        correct_for_drops: Some(false),
6024                        ..ToolRule::new()
6025                    },
6026                    ToolRule {
6027                        blocks: HolderSet::Direct {
6028                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
6029                                .clone()
6030                                .into_iter()
6031                                .collect(),
6032                        },
6033                        correct_for_drops: Some(true),
6034                        speed: Some(4.0),
6035                    },
6036                ],
6037                ..Tool::new()
6038            },
6039            ItemKind::StoneHoe => Tool {
6040                rules: vec![
6041                    ToolRule {
6042                        blocks: HolderSet::Direct {
6043                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6044                                .clone()
6045                                .into_iter()
6046                                .collect(),
6047                        },
6048                        correct_for_drops: Some(false),
6049                        ..ToolRule::new()
6050                    },
6051                    ToolRule {
6052                        blocks: HolderSet::Direct {
6053                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
6054                                .clone()
6055                                .into_iter()
6056                                .collect(),
6057                        },
6058                        correct_for_drops: Some(true),
6059                        speed: Some(4.0),
6060                    },
6061                ],
6062                ..Tool::new()
6063            },
6064            ItemKind::StonePickaxe => Tool {
6065                rules: vec![
6066                    ToolRule {
6067                        blocks: HolderSet::Direct {
6068                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6069                                .clone()
6070                                .into_iter()
6071                                .collect(),
6072                        },
6073                        correct_for_drops: Some(false),
6074                        ..ToolRule::new()
6075                    },
6076                    ToolRule {
6077                        blocks: HolderSet::Direct {
6078                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
6079                                .clone()
6080                                .into_iter()
6081                                .collect(),
6082                        },
6083                        correct_for_drops: Some(true),
6084                        speed: Some(4.0),
6085                    },
6086                ],
6087                ..Tool::new()
6088            },
6089            ItemKind::StoneShovel => Tool {
6090                rules: vec![
6091                    ToolRule {
6092                        blocks: HolderSet::Direct {
6093                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6094                                .clone()
6095                                .into_iter()
6096                                .collect(),
6097                        },
6098                        correct_for_drops: Some(false),
6099                        ..ToolRule::new()
6100                    },
6101                    ToolRule {
6102                        blocks: HolderSet::Direct {
6103                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
6104                                .clone()
6105                                .into_iter()
6106                                .collect(),
6107                        },
6108                        correct_for_drops: Some(true),
6109                        speed: Some(4.0),
6110                    },
6111                ],
6112                ..Tool::new()
6113            },
6114            ItemKind::StoneSword => Tool {
6115                can_destroy_blocks_in_creative: false,
6116                damage_per_block: 2,
6117                rules: vec![
6118                    ToolRule {
6119                        blocks: HolderSet::Direct {
6120                            contents: vec![BlockKind::Cobweb],
6121                        },
6122                        correct_for_drops: Some(true),
6123                        speed: Some(15.0),
6124                    },
6125                    ToolRule {
6126                        blocks: HolderSet::Direct {
6127                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
6128                                .clone()
6129                                .into_iter()
6130                                .collect(),
6131                        },
6132                        speed: Some(3.4028235e+38),
6133                        ..ToolRule::new()
6134                    },
6135                    ToolRule {
6136                        blocks: HolderSet::Direct {
6137                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
6138                                .clone()
6139                                .into_iter()
6140                                .collect(),
6141                        },
6142                        speed: Some(1.5),
6143                        ..ToolRule::new()
6144                    },
6145                ],
6146                ..Tool::new()
6147            },
6148            ItemKind::Trident => Tool {
6149                can_destroy_blocks_in_creative: false,
6150                damage_per_block: 2,
6151                rules: vec![],
6152                ..Tool::new()
6153            },
6154            ItemKind::WoodenAxe => Tool {
6155                rules: vec![
6156                    ToolRule {
6157                        blocks: HolderSet::Direct {
6158                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6159                                .clone()
6160                                .into_iter()
6161                                .collect(),
6162                        },
6163                        correct_for_drops: Some(false),
6164                        ..ToolRule::new()
6165                    },
6166                    ToolRule {
6167                        blocks: HolderSet::Direct {
6168                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
6169                                .clone()
6170                                .into_iter()
6171                                .collect(),
6172                        },
6173                        correct_for_drops: Some(true),
6174                        speed: Some(2.0),
6175                    },
6176                ],
6177                ..Tool::new()
6178            },
6179            ItemKind::WoodenHoe => Tool {
6180                rules: vec![
6181                    ToolRule {
6182                        blocks: HolderSet::Direct {
6183                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6184                                .clone()
6185                                .into_iter()
6186                                .collect(),
6187                        },
6188                        correct_for_drops: Some(false),
6189                        ..ToolRule::new()
6190                    },
6191                    ToolRule {
6192                        blocks: HolderSet::Direct {
6193                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
6194                                .clone()
6195                                .into_iter()
6196                                .collect(),
6197                        },
6198                        correct_for_drops: Some(true),
6199                        speed: Some(2.0),
6200                    },
6201                ],
6202                ..Tool::new()
6203            },
6204            ItemKind::WoodenPickaxe => Tool {
6205                rules: vec![
6206                    ToolRule {
6207                        blocks: HolderSet::Direct {
6208                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6209                                .clone()
6210                                .into_iter()
6211                                .collect(),
6212                        },
6213                        correct_for_drops: Some(false),
6214                        ..ToolRule::new()
6215                    },
6216                    ToolRule {
6217                        blocks: HolderSet::Direct {
6218                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
6219                                .clone()
6220                                .into_iter()
6221                                .collect(),
6222                        },
6223                        correct_for_drops: Some(true),
6224                        speed: Some(2.0),
6225                    },
6226                ],
6227                ..Tool::new()
6228            },
6229            ItemKind::WoodenShovel => Tool {
6230                rules: vec![
6231                    ToolRule {
6232                        blocks: HolderSet::Direct {
6233                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6234                                .clone()
6235                                .into_iter()
6236                                .collect(),
6237                        },
6238                        correct_for_drops: Some(false),
6239                        ..ToolRule::new()
6240                    },
6241                    ToolRule {
6242                        blocks: HolderSet::Direct {
6243                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
6244                                .clone()
6245                                .into_iter()
6246                                .collect(),
6247                        },
6248                        correct_for_drops: Some(true),
6249                        speed: Some(2.0),
6250                    },
6251                ],
6252                ..Tool::new()
6253            },
6254            ItemKind::WoodenSword => Tool {
6255                can_destroy_blocks_in_creative: false,
6256                damage_per_block: 2,
6257                rules: vec![
6258                    ToolRule {
6259                        blocks: HolderSet::Direct {
6260                            contents: vec![BlockKind::Cobweb],
6261                        },
6262                        correct_for_drops: Some(true),
6263                        speed: Some(15.0),
6264                    },
6265                    ToolRule {
6266                        blocks: HolderSet::Direct {
6267                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
6268                                .clone()
6269                                .into_iter()
6270                                .collect(),
6271                        },
6272                        speed: Some(3.4028235e+38),
6273                        ..ToolRule::new()
6274                    },
6275                    ToolRule {
6276                        blocks: HolderSet::Direct {
6277                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
6278                                .clone()
6279                                .into_iter()
6280                                .collect(),
6281                        },
6282                        speed: Some(1.5),
6283                        ..ToolRule::new()
6284                    },
6285                ],
6286                ..Tool::new()
6287            },
6288            _ => return None,
6289        };
6290        Some(value)
6291    }
6292}
6293impl DefaultableComponent for TooltipDisplay {
6294    fn default_for_item(_item: ItemKind) -> Option<Self> {
6295        Some(TooltipDisplay::new())
6296    }
6297}
6298impl DefaultableComponent for UseCooldown {
6299    fn default_for_item(item: ItemKind) -> Option<Self> {
6300        let value = match item {
6301            ItemKind::ChorusFruit => UseCooldown {
6302                seconds: 1.0,
6303                ..UseCooldown::new()
6304            },
6305            ItemKind::EnderPearl => UseCooldown {
6306                seconds: 1.0,
6307                ..UseCooldown::new()
6308            },
6309            ItemKind::WindCharge => UseCooldown {
6310                seconds: 0.5,
6311                ..UseCooldown::new()
6312            },
6313            _ => return None,
6314        };
6315        Some(value)
6316    }
6317}
6318impl DefaultableComponent for UseEffects {
6319    fn default_for_item(item: ItemKind) -> Option<Self> {
6320        let value = match item {
6321            ItemKind::CopperSpear => UseEffects {
6322                can_sprint: true,
6323                interact_vibrations: false,
6324                speed_multiplier: 1.0,
6325            },
6326            ItemKind::DiamondSpear => UseEffects {
6327                can_sprint: true,
6328                interact_vibrations: false,
6329                speed_multiplier: 1.0,
6330            },
6331            ItemKind::GoldenSpear => UseEffects {
6332                can_sprint: true,
6333                interact_vibrations: false,
6334                speed_multiplier: 1.0,
6335            },
6336            ItemKind::IronSpear => UseEffects {
6337                can_sprint: true,
6338                interact_vibrations: false,
6339                speed_multiplier: 1.0,
6340            },
6341            ItemKind::NetheriteSpear => UseEffects {
6342                can_sprint: true,
6343                interact_vibrations: false,
6344                speed_multiplier: 1.0,
6345            },
6346            ItemKind::StoneSpear => UseEffects {
6347                can_sprint: true,
6348                interact_vibrations: false,
6349                speed_multiplier: 1.0,
6350            },
6351            ItemKind::WoodenSpear => UseEffects {
6352                can_sprint: true,
6353                interact_vibrations: false,
6354                speed_multiplier: 1.0,
6355            },
6356            _ => UseEffects::new(),
6357        };
6358        Some(value)
6359    }
6360}
6361impl DefaultableComponent for UseRemainder {
6362    fn default_for_item(item: ItemKind) -> Option<Self> {
6363        let value = match item {
6364            ItemKind::BeetrootSoup => ItemStack::from(ItemKind::Bowl),
6365            ItemKind::HoneyBottle => ItemStack::from(ItemKind::GlassBottle),
6366            ItemKind::MilkBucket => ItemStack::from(ItemKind::Bucket),
6367            ItemKind::MushroomStew => ItemStack::from(ItemKind::Bowl),
6368            ItemKind::Potion => ItemStack::from(ItemKind::GlassBottle),
6369            ItemKind::RabbitStew => ItemStack::from(ItemKind::Bowl),
6370            ItemKind::SuspiciousStew => ItemStack::from(ItemKind::Bowl),
6371            _ => return None,
6372        };
6373        Some(UseRemainder {
6374            convert_into: value,
6375        })
6376    }
6377}
6378impl DefaultableComponent for Weapon {
6379    fn default_for_item(item: ItemKind) -> Option<Self> {
6380        let value = match item {
6381            ItemKind::CopperAxe => Weapon {
6382                disable_blocking_for_seconds: 5.0,
6383                item_damage_per_attack: 2,
6384            },
6385            ItemKind::CopperHoe => Weapon {
6386                item_damage_per_attack: 2,
6387                ..Weapon::new()
6388            },
6389            ItemKind::CopperPickaxe => Weapon {
6390                item_damage_per_attack: 2,
6391                ..Weapon::new()
6392            },
6393            ItemKind::CopperShovel => Weapon {
6394                item_damage_per_attack: 2,
6395                ..Weapon::new()
6396            },
6397            ItemKind::CopperSpear => Weapon::new(),
6398            ItemKind::CopperSword => Weapon::new(),
6399            ItemKind::DiamondAxe => Weapon {
6400                disable_blocking_for_seconds: 5.0,
6401                item_damage_per_attack: 2,
6402            },
6403            ItemKind::DiamondHoe => Weapon {
6404                item_damage_per_attack: 2,
6405                ..Weapon::new()
6406            },
6407            ItemKind::DiamondPickaxe => Weapon {
6408                item_damage_per_attack: 2,
6409                ..Weapon::new()
6410            },
6411            ItemKind::DiamondShovel => Weapon {
6412                item_damage_per_attack: 2,
6413                ..Weapon::new()
6414            },
6415            ItemKind::DiamondSpear => Weapon::new(),
6416            ItemKind::DiamondSword => Weapon::new(),
6417            ItemKind::GoldenAxe => Weapon {
6418                disable_blocking_for_seconds: 5.0,
6419                item_damage_per_attack: 2,
6420            },
6421            ItemKind::GoldenHoe => Weapon {
6422                item_damage_per_attack: 2,
6423                ..Weapon::new()
6424            },
6425            ItemKind::GoldenPickaxe => Weapon {
6426                item_damage_per_attack: 2,
6427                ..Weapon::new()
6428            },
6429            ItemKind::GoldenShovel => Weapon {
6430                item_damage_per_attack: 2,
6431                ..Weapon::new()
6432            },
6433            ItemKind::GoldenSpear => Weapon::new(),
6434            ItemKind::GoldenSword => Weapon::new(),
6435            ItemKind::IronAxe => Weapon {
6436                disable_blocking_for_seconds: 5.0,
6437                item_damage_per_attack: 2,
6438            },
6439            ItemKind::IronHoe => Weapon {
6440                item_damage_per_attack: 2,
6441                ..Weapon::new()
6442            },
6443            ItemKind::IronPickaxe => Weapon {
6444                item_damage_per_attack: 2,
6445                ..Weapon::new()
6446            },
6447            ItemKind::IronShovel => Weapon {
6448                item_damage_per_attack: 2,
6449                ..Weapon::new()
6450            },
6451            ItemKind::IronSpear => Weapon::new(),
6452            ItemKind::IronSword => Weapon::new(),
6453            ItemKind::Mace => Weapon::new(),
6454            ItemKind::NetheriteAxe => Weapon {
6455                disable_blocking_for_seconds: 5.0,
6456                item_damage_per_attack: 2,
6457            },
6458            ItemKind::NetheriteHoe => Weapon {
6459                item_damage_per_attack: 2,
6460                ..Weapon::new()
6461            },
6462            ItemKind::NetheritePickaxe => Weapon {
6463                item_damage_per_attack: 2,
6464                ..Weapon::new()
6465            },
6466            ItemKind::NetheriteShovel => Weapon {
6467                item_damage_per_attack: 2,
6468                ..Weapon::new()
6469            },
6470            ItemKind::NetheriteSpear => Weapon::new(),
6471            ItemKind::NetheriteSword => Weapon::new(),
6472            ItemKind::StoneAxe => Weapon {
6473                disable_blocking_for_seconds: 5.0,
6474                item_damage_per_attack: 2,
6475            },
6476            ItemKind::StoneHoe => Weapon {
6477                item_damage_per_attack: 2,
6478                ..Weapon::new()
6479            },
6480            ItemKind::StonePickaxe => Weapon {
6481                item_damage_per_attack: 2,
6482                ..Weapon::new()
6483            },
6484            ItemKind::StoneShovel => Weapon {
6485                item_damage_per_attack: 2,
6486                ..Weapon::new()
6487            },
6488            ItemKind::StoneSpear => Weapon::new(),
6489            ItemKind::StoneSword => Weapon::new(),
6490            ItemKind::Trident => Weapon::new(),
6491            ItemKind::WoodenAxe => Weapon {
6492                disable_blocking_for_seconds: 5.0,
6493                item_damage_per_attack: 2,
6494            },
6495            ItemKind::WoodenHoe => Weapon {
6496                item_damage_per_attack: 2,
6497                ..Weapon::new()
6498            },
6499            ItemKind::WoodenPickaxe => Weapon {
6500                item_damage_per_attack: 2,
6501                ..Weapon::new()
6502            },
6503            ItemKind::WoodenShovel => Weapon {
6504                item_damage_per_attack: 2,
6505                ..Weapon::new()
6506            },
6507            ItemKind::WoodenSpear => Weapon::new(),
6508            ItemKind::WoodenSword => Weapon::new(),
6509            _ => return None,
6510        };
6511        Some(value)
6512    }
6513}
6514impl DefaultableComponent for WritableBookContent {
6515    fn default_for_item(item: ItemKind) -> Option<Self> {
6516        let value = match item {
6517            ItemKind::WritableBook => Vec::new(),
6518            _ => return None,
6519        };
6520        Some(WritableBookContent { pages: value })
6521    }
6522}