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::TadpoleBucket => NbtCompound::from_values(vec![]),
2218            ItemKind::TropicalFishBucket => NbtCompound::from_values(vec![]),
2219            _ => return None,
2220        };
2221        Some(BucketEntityData { entity: value })
2222    }
2223}
2224impl DefaultableComponent for BundleContents {
2225    fn default_for_item(item: ItemKind) -> Option<Self> {
2226        let value = match item {
2227            ItemKind::BlackBundle => vec![],
2228            ItemKind::BlueBundle => vec![],
2229            ItemKind::BrownBundle => vec![],
2230            ItemKind::Bundle => vec![],
2231            ItemKind::CyanBundle => vec![],
2232            ItemKind::GrayBundle => vec![],
2233            ItemKind::GreenBundle => vec![],
2234            ItemKind::LightBlueBundle => vec![],
2235            ItemKind::LightGrayBundle => vec![],
2236            ItemKind::LimeBundle => vec![],
2237            ItemKind::MagentaBundle => vec![],
2238            ItemKind::OrangeBundle => vec![],
2239            ItemKind::PinkBundle => vec![],
2240            ItemKind::PurpleBundle => vec![],
2241            ItemKind::RedBundle => vec![],
2242            ItemKind::WhiteBundle => vec![],
2243            ItemKind::YellowBundle => vec![],
2244            _ => return None,
2245        };
2246        Some(BundleContents { items: value })
2247    }
2248}
2249impl DefaultableComponent for ChargedProjectiles {
2250    fn default_for_item(item: ItemKind) -> Option<Self> {
2251        let value = match item {
2252            ItemKind::Crossbow => vec![],
2253            _ => return None,
2254        };
2255        Some(ChargedProjectiles { items: value })
2256    }
2257}
2258impl DefaultableComponent for ChickenVariant {
2259    fn default_for_item(item: ItemKind) -> Option<Self> {
2260        let value = match item {
2261            ItemKind::BlueEgg => azalea_registry::data::ChickenVariant::new_raw(0),
2262            ItemKind::BrownEgg => azalea_registry::data::ChickenVariant::new_raw(0),
2263            ItemKind::Egg => azalea_registry::data::ChickenVariant::new_raw(0),
2264            _ => return None,
2265        };
2266        Some(ChickenVariant { data: value })
2267    }
2268}
2269impl DefaultableComponent for Consumable {
2270    fn default_for_item(item: ItemKind) -> Option<Self> {
2271        let value = match item {
2272            ItemKind::Apple => Consumable::new(),
2273            ItemKind::BakedPotato => Consumable::new(),
2274            ItemKind::Beef => Consumable::new(),
2275            ItemKind::Beetroot => Consumable::new(),
2276            ItemKind::BeetrootSoup => Consumable::new(),
2277            ItemKind::Bread => Consumable::new(),
2278            ItemKind::Carrot => Consumable::new(),
2279            ItemKind::Chicken => Consumable {
2280                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2281                    effects: vec![MobEffectInstance {
2282                        id: MobEffect::Hunger,
2283                        details: MobEffectDetails {
2284                            duration: 600,
2285                            show_icon: true,
2286                            ..MobEffectDetails::new()
2287                        },
2288                    }],
2289                    probability: 0.3,
2290                }],
2291                ..Consumable::new()
2292            },
2293            ItemKind::ChorusFruit => Consumable {
2294                on_consume_effects: vec![ConsumeEffect::TeleportRandomly { diameter: 16.0 }],
2295                ..Consumable::new()
2296            },
2297            ItemKind::Cod => Consumable::new(),
2298            ItemKind::CookedBeef => Consumable::new(),
2299            ItemKind::CookedChicken => Consumable::new(),
2300            ItemKind::CookedCod => Consumable::new(),
2301            ItemKind::CookedMutton => Consumable::new(),
2302            ItemKind::CookedPorkchop => Consumable::new(),
2303            ItemKind::CookedRabbit => Consumable::new(),
2304            ItemKind::CookedSalmon => Consumable::new(),
2305            ItemKind::Cookie => Consumable::new(),
2306            ItemKind::DriedKelp => Consumable {
2307                consume_seconds: 0.8,
2308                ..Consumable::new()
2309            },
2310            ItemKind::EnchantedGoldenApple => Consumable {
2311                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2312                    effects: vec![
2313                        MobEffectInstance {
2314                            id: MobEffect::Regeneration,
2315                            details: MobEffectDetails {
2316                                amplifier: 1,
2317                                duration: 400,
2318                                show_icon: true,
2319                                ..MobEffectDetails::new()
2320                            },
2321                        },
2322                        MobEffectInstance {
2323                            id: MobEffect::Resistance,
2324                            details: MobEffectDetails {
2325                                duration: 6000,
2326                                show_icon: true,
2327                                ..MobEffectDetails::new()
2328                            },
2329                        },
2330                        MobEffectInstance {
2331                            id: MobEffect::FireResistance,
2332                            details: MobEffectDetails {
2333                                duration: 6000,
2334                                show_icon: true,
2335                                ..MobEffectDetails::new()
2336                            },
2337                        },
2338                        MobEffectInstance {
2339                            id: MobEffect::Absorption,
2340                            details: MobEffectDetails {
2341                                amplifier: 3,
2342                                duration: 2400,
2343                                show_icon: true,
2344                                ..MobEffectDetails::new()
2345                            },
2346                        },
2347                    ],
2348                    probability: 1.0,
2349                }],
2350                ..Consumable::new()
2351            },
2352            ItemKind::GlowBerries => Consumable::new(),
2353            ItemKind::GoldenApple => Consumable {
2354                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2355                    effects: vec![
2356                        MobEffectInstance {
2357                            id: MobEffect::Regeneration,
2358                            details: MobEffectDetails {
2359                                amplifier: 1,
2360                                duration: 100,
2361                                show_icon: true,
2362                                ..MobEffectDetails::new()
2363                            },
2364                        },
2365                        MobEffectInstance {
2366                            id: MobEffect::Absorption,
2367                            details: MobEffectDetails {
2368                                duration: 2400,
2369                                show_icon: true,
2370                                ..MobEffectDetails::new()
2371                            },
2372                        },
2373                    ],
2374                    probability: 1.0,
2375                }],
2376                ..Consumable::new()
2377            },
2378            ItemKind::GoldenCarrot => Consumable::new(),
2379            ItemKind::HoneyBottle => Consumable {
2380                animation: ItemUseAnimation::Drink,
2381                consume_seconds: 2.0,
2382                has_consume_particles: false,
2383                on_consume_effects: vec![ConsumeEffect::RemoveEffects {
2384                    effects: HolderSet::Direct {
2385                        contents: vec![MobEffect::Poison],
2386                    },
2387                }],
2388                sound: azalea_registry::Holder::Reference(SoundEvent::ItemHoneyBottleDrink),
2389            },
2390            ItemKind::MelonSlice => Consumable::new(),
2391            ItemKind::MilkBucket => Consumable {
2392                animation: ItemUseAnimation::Drink,
2393                has_consume_particles: false,
2394                on_consume_effects: vec![ConsumeEffect::ClearAllEffects {}],
2395                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2396                ..Consumable::new()
2397            },
2398            ItemKind::MushroomStew => Consumable::new(),
2399            ItemKind::Mutton => Consumable::new(),
2400            ItemKind::OminousBottle => Consumable {
2401                animation: ItemUseAnimation::Drink,
2402                has_consume_particles: false,
2403                on_consume_effects: vec![ConsumeEffect::PlaySound {
2404                    sound: SoundEvent::ItemOminousBottleDispose,
2405                }],
2406                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2407                ..Consumable::new()
2408            },
2409            ItemKind::PoisonousPotato => Consumable {
2410                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2411                    effects: vec![MobEffectInstance {
2412                        id: MobEffect::Poison,
2413                        details: MobEffectDetails {
2414                            duration: 100,
2415                            show_icon: true,
2416                            ..MobEffectDetails::new()
2417                        },
2418                    }],
2419                    probability: 0.6,
2420                }],
2421                ..Consumable::new()
2422            },
2423            ItemKind::Porkchop => Consumable::new(),
2424            ItemKind::Potato => Consumable::new(),
2425            ItemKind::Potion => Consumable {
2426                animation: ItemUseAnimation::Drink,
2427                has_consume_particles: false,
2428                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2429                ..Consumable::new()
2430            },
2431            ItemKind::Pufferfish => Consumable {
2432                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2433                    effects: vec![
2434                        MobEffectInstance {
2435                            id: MobEffect::Poison,
2436                            details: MobEffectDetails {
2437                                amplifier: 1,
2438                                duration: 1200,
2439                                show_icon: true,
2440                                ..MobEffectDetails::new()
2441                            },
2442                        },
2443                        MobEffectInstance {
2444                            id: MobEffect::Hunger,
2445                            details: MobEffectDetails {
2446                                amplifier: 2,
2447                                duration: 300,
2448                                show_icon: true,
2449                                ..MobEffectDetails::new()
2450                            },
2451                        },
2452                        MobEffectInstance {
2453                            id: MobEffect::Nausea,
2454                            details: MobEffectDetails {
2455                                duration: 300,
2456                                show_icon: true,
2457                                ..MobEffectDetails::new()
2458                            },
2459                        },
2460                    ],
2461                    probability: 1.0,
2462                }],
2463                ..Consumable::new()
2464            },
2465            ItemKind::PumpkinPie => Consumable::new(),
2466            ItemKind::Rabbit => Consumable::new(),
2467            ItemKind::RabbitStew => Consumable::new(),
2468            ItemKind::RottenFlesh => Consumable {
2469                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2470                    effects: vec![MobEffectInstance {
2471                        id: MobEffect::Hunger,
2472                        details: MobEffectDetails {
2473                            duration: 600,
2474                            show_icon: true,
2475                            ..MobEffectDetails::new()
2476                        },
2477                    }],
2478                    probability: 0.8,
2479                }],
2480                ..Consumable::new()
2481            },
2482            ItemKind::Salmon => Consumable::new(),
2483            ItemKind::SpiderEye => Consumable {
2484                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2485                    effects: vec![MobEffectInstance {
2486                        id: MobEffect::Poison,
2487                        details: MobEffectDetails {
2488                            duration: 100,
2489                            show_icon: true,
2490                            ..MobEffectDetails::new()
2491                        },
2492                    }],
2493                    probability: 1.0,
2494                }],
2495                ..Consumable::new()
2496            },
2497            ItemKind::SuspiciousStew => Consumable::new(),
2498            ItemKind::SweetBerries => Consumable::new(),
2499            ItemKind::TropicalFish => Consumable::new(),
2500            _ => return None,
2501        };
2502        Some(value)
2503    }
2504}
2505impl DefaultableComponent for Container {
2506    fn default_for_item(item: ItemKind) -> Option<Self> {
2507        let value = match item {
2508            ItemKind::AcaciaShelf => vec![],
2509            ItemKind::BambooShelf => vec![],
2510            ItemKind::Barrel => vec![],
2511            ItemKind::BirchShelf => vec![],
2512            ItemKind::BlackShulkerBox => vec![],
2513            ItemKind::BlastFurnace => vec![],
2514            ItemKind::BlueShulkerBox => vec![],
2515            ItemKind::BrewingStand => vec![],
2516            ItemKind::BrownShulkerBox => vec![],
2517            ItemKind::Campfire => vec![],
2518            ItemKind::CherryShelf => vec![],
2519            ItemKind::Chest => vec![],
2520            ItemKind::ChiseledBookshelf => vec![],
2521            ItemKind::Crafter => vec![],
2522            ItemKind::CrimsonShelf => vec![],
2523            ItemKind::CyanShulkerBox => vec![],
2524            ItemKind::DarkOakShelf => vec![],
2525            ItemKind::DecoratedPot => vec![],
2526            ItemKind::Dispenser => vec![],
2527            ItemKind::Dropper => vec![],
2528            ItemKind::Furnace => vec![],
2529            ItemKind::GrayShulkerBox => vec![],
2530            ItemKind::GreenShulkerBox => vec![],
2531            ItemKind::Hopper => vec![],
2532            ItemKind::JungleShelf => vec![],
2533            ItemKind::LightBlueShulkerBox => vec![],
2534            ItemKind::LightGrayShulkerBox => vec![],
2535            ItemKind::LimeShulkerBox => vec![],
2536            ItemKind::MagentaShulkerBox => vec![],
2537            ItemKind::MangroveShelf => vec![],
2538            ItemKind::OakShelf => vec![],
2539            ItemKind::OrangeShulkerBox => vec![],
2540            ItemKind::PaleOakShelf => vec![],
2541            ItemKind::PinkShulkerBox => vec![],
2542            ItemKind::PurpleShulkerBox => vec![],
2543            ItemKind::RedShulkerBox => vec![],
2544            ItemKind::ShulkerBox => vec![],
2545            ItemKind::Smoker => vec![],
2546            ItemKind::SoulCampfire => vec![],
2547            ItemKind::SpruceShelf => vec![],
2548            ItemKind::TrappedChest => vec![],
2549            ItemKind::WarpedShelf => vec![],
2550            ItemKind::WhiteShulkerBox => vec![],
2551            ItemKind::YellowShulkerBox => vec![],
2552            _ => return None,
2553        };
2554        Some(Container { items: value })
2555    }
2556}
2557impl DefaultableComponent for Damage {
2558    fn default_for_item(item: ItemKind) -> Option<Self> {
2559        let value = match item {
2560            ItemKind::Bow => 0,
2561            ItemKind::Brush => 0,
2562            ItemKind::CarrotOnAStick => 0,
2563            ItemKind::ChainmailBoots => 0,
2564            ItemKind::ChainmailChestplate => 0,
2565            ItemKind::ChainmailHelmet => 0,
2566            ItemKind::ChainmailLeggings => 0,
2567            ItemKind::CopperAxe => 0,
2568            ItemKind::CopperBoots => 0,
2569            ItemKind::CopperChestplate => 0,
2570            ItemKind::CopperHelmet => 0,
2571            ItemKind::CopperHoe => 0,
2572            ItemKind::CopperLeggings => 0,
2573            ItemKind::CopperPickaxe => 0,
2574            ItemKind::CopperShovel => 0,
2575            ItemKind::CopperSpear => 0,
2576            ItemKind::CopperSword => 0,
2577            ItemKind::Crossbow => 0,
2578            ItemKind::DiamondAxe => 0,
2579            ItemKind::DiamondBoots => 0,
2580            ItemKind::DiamondChestplate => 0,
2581            ItemKind::DiamondHelmet => 0,
2582            ItemKind::DiamondHoe => 0,
2583            ItemKind::DiamondLeggings => 0,
2584            ItemKind::DiamondPickaxe => 0,
2585            ItemKind::DiamondShovel => 0,
2586            ItemKind::DiamondSpear => 0,
2587            ItemKind::DiamondSword => 0,
2588            ItemKind::Elytra => 0,
2589            ItemKind::FishingRod => 0,
2590            ItemKind::FlintAndSteel => 0,
2591            ItemKind::GoldenAxe => 0,
2592            ItemKind::GoldenBoots => 0,
2593            ItemKind::GoldenChestplate => 0,
2594            ItemKind::GoldenHelmet => 0,
2595            ItemKind::GoldenHoe => 0,
2596            ItemKind::GoldenLeggings => 0,
2597            ItemKind::GoldenPickaxe => 0,
2598            ItemKind::GoldenShovel => 0,
2599            ItemKind::GoldenSpear => 0,
2600            ItemKind::GoldenSword => 0,
2601            ItemKind::IronAxe => 0,
2602            ItemKind::IronBoots => 0,
2603            ItemKind::IronChestplate => 0,
2604            ItemKind::IronHelmet => 0,
2605            ItemKind::IronHoe => 0,
2606            ItemKind::IronLeggings => 0,
2607            ItemKind::IronPickaxe => 0,
2608            ItemKind::IronShovel => 0,
2609            ItemKind::IronSpear => 0,
2610            ItemKind::IronSword => 0,
2611            ItemKind::LeatherBoots => 0,
2612            ItemKind::LeatherChestplate => 0,
2613            ItemKind::LeatherHelmet => 0,
2614            ItemKind::LeatherLeggings => 0,
2615            ItemKind::Mace => 0,
2616            ItemKind::NetheriteAxe => 0,
2617            ItemKind::NetheriteBoots => 0,
2618            ItemKind::NetheriteChestplate => 0,
2619            ItemKind::NetheriteHelmet => 0,
2620            ItemKind::NetheriteHoe => 0,
2621            ItemKind::NetheriteLeggings => 0,
2622            ItemKind::NetheritePickaxe => 0,
2623            ItemKind::NetheriteShovel => 0,
2624            ItemKind::NetheriteSpear => 0,
2625            ItemKind::NetheriteSword => 0,
2626            ItemKind::Shears => 0,
2627            ItemKind::Shield => 0,
2628            ItemKind::StoneAxe => 0,
2629            ItemKind::StoneHoe => 0,
2630            ItemKind::StonePickaxe => 0,
2631            ItemKind::StoneShovel => 0,
2632            ItemKind::StoneSpear => 0,
2633            ItemKind::StoneSword => 0,
2634            ItemKind::Trident => 0,
2635            ItemKind::TurtleHelmet => 0,
2636            ItemKind::WarpedFungusOnAStick => 0,
2637            ItemKind::WolfArmor => 0,
2638            ItemKind::WoodenAxe => 0,
2639            ItemKind::WoodenHoe => 0,
2640            ItemKind::WoodenPickaxe => 0,
2641            ItemKind::WoodenShovel => 0,
2642            ItemKind::WoodenSpear => 0,
2643            ItemKind::WoodenSword => 0,
2644            _ => return None,
2645        };
2646        Some(Damage { amount: value })
2647    }
2648}
2649impl DefaultableComponent for DamageResistant {
2650    fn default_for_item(item: ItemKind) -> Option<Self> {
2651        let value = match item {
2652            ItemKind::AncientDebris => HolderSet::Direct { contents: vec![] },
2653            ItemKind::NetherStar => HolderSet::Direct { contents: vec![] },
2654            ItemKind::NetheriteAxe => HolderSet::Direct { contents: vec![] },
2655            ItemKind::NetheriteBlock => HolderSet::Direct { contents: vec![] },
2656            ItemKind::NetheriteBoots => HolderSet::Direct { contents: vec![] },
2657            ItemKind::NetheriteChestplate => HolderSet::Direct { contents: vec![] },
2658            ItemKind::NetheriteHelmet => HolderSet::Direct { contents: vec![] },
2659            ItemKind::NetheriteHoe => HolderSet::Direct { contents: vec![] },
2660            ItemKind::NetheriteHorseArmor => HolderSet::Direct { contents: vec![] },
2661            ItemKind::NetheriteIngot => HolderSet::Direct { contents: vec![] },
2662            ItemKind::NetheriteLeggings => HolderSet::Direct { contents: vec![] },
2663            ItemKind::NetheriteNautilusArmor => HolderSet::Direct { contents: vec![] },
2664            ItemKind::NetheritePickaxe => HolderSet::Direct { contents: vec![] },
2665            ItemKind::NetheriteScrap => HolderSet::Direct { contents: vec![] },
2666            ItemKind::NetheriteShovel => HolderSet::Direct { contents: vec![] },
2667            ItemKind::NetheriteSpear => HolderSet::Direct { contents: vec![] },
2668            ItemKind::NetheriteSword => HolderSet::Direct { contents: vec![] },
2669            _ => return None,
2670        };
2671        Some(DamageResistant { types: value })
2672    }
2673}
2674impl DefaultableComponent for DamageType {
2675    fn default_for_item(item: ItemKind) -> Option<Self> {
2676        let value = match item {
2677            ItemKind::CopperSpear => azalea_registry::data::DamageKind::new_raw(0),
2678            ItemKind::DiamondSpear => azalea_registry::data::DamageKind::new_raw(0),
2679            ItemKind::GoldenSpear => azalea_registry::data::DamageKind::new_raw(0),
2680            ItemKind::IronSpear => azalea_registry::data::DamageKind::new_raw(0),
2681            ItemKind::NetheriteSpear => azalea_registry::data::DamageKind::new_raw(0),
2682            ItemKind::StoneSpear => azalea_registry::data::DamageKind::new_raw(0),
2683            ItemKind::WoodenSpear => azalea_registry::data::DamageKind::new_raw(0),
2684            _ => return None,
2685        };
2686        Some(DamageType { value: value })
2687    }
2688}
2689impl DefaultableComponent for DeathProtection {
2690    fn default_for_item(item: ItemKind) -> Option<Self> {
2691        let value = match item {
2692            ItemKind::TotemOfUndying => vec![
2693                ConsumeEffect::ClearAllEffects {},
2694                ConsumeEffect::ApplyEffects {
2695                    effects: vec![
2696                        MobEffectInstance {
2697                            id: MobEffect::Regeneration,
2698                            details: MobEffectDetails {
2699                                amplifier: 1,
2700                                duration: 900,
2701                                show_icon: true,
2702                                ..MobEffectDetails::new()
2703                            },
2704                        },
2705                        MobEffectInstance {
2706                            id: MobEffect::Absorption,
2707                            details: MobEffectDetails {
2708                                amplifier: 1,
2709                                duration: 100,
2710                                show_icon: true,
2711                                ..MobEffectDetails::new()
2712                            },
2713                        },
2714                        MobEffectInstance {
2715                            id: MobEffect::FireResistance,
2716                            details: MobEffectDetails {
2717                                duration: 800,
2718                                show_icon: true,
2719                                ..MobEffectDetails::new()
2720                            },
2721                        },
2722                    ],
2723                    probability: 1.0,
2724                },
2725            ],
2726            _ => return None,
2727        };
2728        Some(DeathProtection {
2729            death_effects: value,
2730        })
2731    }
2732}
2733impl DefaultableComponent for DebugStickState {
2734    fn default_for_item(item: ItemKind) -> Option<Self> {
2735        let value = match item {
2736            ItemKind::DebugStick => NbtCompound::from_values(vec![]),
2737            _ => return None,
2738        };
2739        Some(DebugStickState { properties: value })
2740    }
2741}
2742impl DefaultableComponent for Dye {
2743    fn default_for_item(item: ItemKind) -> Option<Self> {
2744        let value = match item {
2745            ItemKind::BlackDye => DyeColor::Black,
2746            ItemKind::BlueDye => DyeColor::Blue,
2747            ItemKind::BrownDye => DyeColor::Brown,
2748            ItemKind::CyanDye => DyeColor::Cyan,
2749            ItemKind::GrayDye => DyeColor::Gray,
2750            ItemKind::GreenDye => DyeColor::Green,
2751            ItemKind::LightBlueDye => DyeColor::LightBlue,
2752            ItemKind::LightGrayDye => DyeColor::LightGray,
2753            ItemKind::LimeDye => DyeColor::Lime,
2754            ItemKind::MagentaDye => DyeColor::Magenta,
2755            ItemKind::OrangeDye => DyeColor::Orange,
2756            ItemKind::PinkDye => DyeColor::Pink,
2757            ItemKind::PurpleDye => DyeColor::Purple,
2758            ItemKind::RedDye => DyeColor::Red,
2759            ItemKind::WhiteDye => DyeColor::White,
2760            ItemKind::YellowDye => DyeColor::Yellow,
2761            _ => return None,
2762        };
2763        Some(Dye { color: value })
2764    }
2765}
2766impl DefaultableComponent for Enchantable {
2767    fn default_for_item(item: ItemKind) -> Option<Self> {
2768        let value = match item {
2769            ItemKind::Book => 1,
2770            ItemKind::Bow => 1,
2771            ItemKind::ChainmailBoots => 12,
2772            ItemKind::ChainmailChestplate => 12,
2773            ItemKind::ChainmailHelmet => 12,
2774            ItemKind::ChainmailLeggings => 12,
2775            ItemKind::CopperAxe => 13,
2776            ItemKind::CopperBoots => 8,
2777            ItemKind::CopperChestplate => 8,
2778            ItemKind::CopperHelmet => 8,
2779            ItemKind::CopperHoe => 13,
2780            ItemKind::CopperLeggings => 8,
2781            ItemKind::CopperPickaxe => 13,
2782            ItemKind::CopperShovel => 13,
2783            ItemKind::CopperSpear => 13,
2784            ItemKind::CopperSword => 13,
2785            ItemKind::Crossbow => 1,
2786            ItemKind::DiamondAxe => 10,
2787            ItemKind::DiamondBoots => 10,
2788            ItemKind::DiamondChestplate => 10,
2789            ItemKind::DiamondHelmet => 10,
2790            ItemKind::DiamondHoe => 10,
2791            ItemKind::DiamondLeggings => 10,
2792            ItemKind::DiamondPickaxe => 10,
2793            ItemKind::DiamondShovel => 10,
2794            ItemKind::DiamondSpear => 10,
2795            ItemKind::DiamondSword => 10,
2796            ItemKind::FishingRod => 1,
2797            ItemKind::GoldenAxe => 22,
2798            ItemKind::GoldenBoots => 25,
2799            ItemKind::GoldenChestplate => 25,
2800            ItemKind::GoldenHelmet => 25,
2801            ItemKind::GoldenHoe => 22,
2802            ItemKind::GoldenLeggings => 25,
2803            ItemKind::GoldenPickaxe => 22,
2804            ItemKind::GoldenShovel => 22,
2805            ItemKind::GoldenSpear => 22,
2806            ItemKind::GoldenSword => 22,
2807            ItemKind::IronAxe => 14,
2808            ItemKind::IronBoots => 9,
2809            ItemKind::IronChestplate => 9,
2810            ItemKind::IronHelmet => 9,
2811            ItemKind::IronHoe => 14,
2812            ItemKind::IronLeggings => 9,
2813            ItemKind::IronPickaxe => 14,
2814            ItemKind::IronShovel => 14,
2815            ItemKind::IronSpear => 14,
2816            ItemKind::IronSword => 14,
2817            ItemKind::LeatherBoots => 15,
2818            ItemKind::LeatherChestplate => 15,
2819            ItemKind::LeatherHelmet => 15,
2820            ItemKind::LeatherLeggings => 15,
2821            ItemKind::Mace => 15,
2822            ItemKind::NetheriteAxe => 15,
2823            ItemKind::NetheriteBoots => 15,
2824            ItemKind::NetheriteChestplate => 15,
2825            ItemKind::NetheriteHelmet => 15,
2826            ItemKind::NetheriteHoe => 15,
2827            ItemKind::NetheriteLeggings => 15,
2828            ItemKind::NetheritePickaxe => 15,
2829            ItemKind::NetheriteShovel => 15,
2830            ItemKind::NetheriteSpear => 15,
2831            ItemKind::NetheriteSword => 15,
2832            ItemKind::StoneAxe => 5,
2833            ItemKind::StoneHoe => 5,
2834            ItemKind::StonePickaxe => 5,
2835            ItemKind::StoneShovel => 5,
2836            ItemKind::StoneSpear => 5,
2837            ItemKind::StoneSword => 5,
2838            ItemKind::Trident => 1,
2839            ItemKind::TurtleHelmet => 9,
2840            ItemKind::WoodenAxe => 15,
2841            ItemKind::WoodenHoe => 15,
2842            ItemKind::WoodenPickaxe => 15,
2843            ItemKind::WoodenShovel => 15,
2844            ItemKind::WoodenSpear => 15,
2845            ItemKind::WoodenSword => 15,
2846            _ => return None,
2847        };
2848        Some(Enchantable { value: value })
2849    }
2850}
2851impl DefaultableComponent for EnchantmentGlintOverride {
2852    fn default_for_item(item: ItemKind) -> Option<Self> {
2853        let value = match item {
2854            ItemKind::DebugStick => true,
2855            ItemKind::EnchantedBook => true,
2856            ItemKind::EnchantedGoldenApple => true,
2857            ItemKind::EndCrystal => true,
2858            ItemKind::ExperienceBottle => true,
2859            ItemKind::NetherStar => true,
2860            ItemKind::WrittenBook => true,
2861            _ => return None,
2862        };
2863        Some(EnchantmentGlintOverride { show_glint: value })
2864    }
2865}
2866impl DefaultableComponent for Enchantments {
2867    fn default_for_item(_item: ItemKind) -> Option<Self> {
2868        Some(Enchantments {
2869            levels: HashMap::from_iter([]),
2870        })
2871    }
2872}
2873impl DefaultableComponent for EntityData {
2874    fn default_for_item(item: ItemKind) -> Option<Self> {
2875        let value = match item {
2876            ItemKind::AllaySpawnEgg => EntityKind::Allay,
2877            ItemKind::ArmadilloSpawnEgg => EntityKind::Armadillo,
2878            ItemKind::AxolotlSpawnEgg => EntityKind::Axolotl,
2879            ItemKind::BatSpawnEgg => EntityKind::Bat,
2880            ItemKind::BeeSpawnEgg => EntityKind::Bee,
2881            ItemKind::BlazeSpawnEgg => EntityKind::Blaze,
2882            ItemKind::BoggedSpawnEgg => EntityKind::Bogged,
2883            ItemKind::BreezeSpawnEgg => EntityKind::Breeze,
2884            ItemKind::CamelHuskSpawnEgg => EntityKind::CamelHusk,
2885            ItemKind::CamelSpawnEgg => EntityKind::Camel,
2886            ItemKind::CatSpawnEgg => EntityKind::Cat,
2887            ItemKind::CaveSpiderSpawnEgg => EntityKind::CaveSpider,
2888            ItemKind::ChickenSpawnEgg => EntityKind::Chicken,
2889            ItemKind::CodSpawnEgg => EntityKind::Cod,
2890            ItemKind::CopperGolemSpawnEgg => EntityKind::CopperGolem,
2891            ItemKind::CowSpawnEgg => EntityKind::Cow,
2892            ItemKind::CreakingSpawnEgg => EntityKind::Creaking,
2893            ItemKind::CreeperSpawnEgg => EntityKind::Creeper,
2894            ItemKind::DolphinSpawnEgg => EntityKind::Dolphin,
2895            ItemKind::DonkeySpawnEgg => EntityKind::Donkey,
2896            ItemKind::DrownedSpawnEgg => EntityKind::Drowned,
2897            ItemKind::ElderGuardianSpawnEgg => EntityKind::ElderGuardian,
2898            ItemKind::EnderDragonSpawnEgg => EntityKind::EnderDragon,
2899            ItemKind::EndermanSpawnEgg => EntityKind::Enderman,
2900            ItemKind::EndermiteSpawnEgg => EntityKind::Endermite,
2901            ItemKind::EvokerSpawnEgg => EntityKind::Evoker,
2902            ItemKind::FoxSpawnEgg => EntityKind::Fox,
2903            ItemKind::FrogSpawnEgg => EntityKind::Frog,
2904            ItemKind::GhastSpawnEgg => EntityKind::Ghast,
2905            ItemKind::GlowSquidSpawnEgg => EntityKind::GlowSquid,
2906            ItemKind::GoatSpawnEgg => EntityKind::Goat,
2907            ItemKind::GuardianSpawnEgg => EntityKind::Guardian,
2908            ItemKind::HappyGhastSpawnEgg => EntityKind::HappyGhast,
2909            ItemKind::HoglinSpawnEgg => EntityKind::Hoglin,
2910            ItemKind::HorseSpawnEgg => EntityKind::Horse,
2911            ItemKind::HuskSpawnEgg => EntityKind::Husk,
2912            ItemKind::IronGolemSpawnEgg => EntityKind::IronGolem,
2913            ItemKind::LlamaSpawnEgg => EntityKind::Llama,
2914            ItemKind::MagmaCubeSpawnEgg => EntityKind::MagmaCube,
2915            ItemKind::MooshroomSpawnEgg => EntityKind::Mooshroom,
2916            ItemKind::MuleSpawnEgg => EntityKind::Mule,
2917            ItemKind::NautilusSpawnEgg => EntityKind::Nautilus,
2918            ItemKind::OcelotSpawnEgg => EntityKind::Ocelot,
2919            ItemKind::PandaSpawnEgg => EntityKind::Panda,
2920            ItemKind::ParchedSpawnEgg => EntityKind::Parched,
2921            ItemKind::ParrotSpawnEgg => EntityKind::Parrot,
2922            ItemKind::PhantomSpawnEgg => EntityKind::Phantom,
2923            ItemKind::PigSpawnEgg => EntityKind::Pig,
2924            ItemKind::PiglinBruteSpawnEgg => EntityKind::PiglinBrute,
2925            ItemKind::PiglinSpawnEgg => EntityKind::Piglin,
2926            ItemKind::PillagerSpawnEgg => EntityKind::Pillager,
2927            ItemKind::PolarBearSpawnEgg => EntityKind::PolarBear,
2928            ItemKind::PufferfishSpawnEgg => EntityKind::Pufferfish,
2929            ItemKind::RabbitSpawnEgg => EntityKind::Rabbit,
2930            ItemKind::RavagerSpawnEgg => EntityKind::Ravager,
2931            ItemKind::SalmonSpawnEgg => EntityKind::Salmon,
2932            ItemKind::SheepSpawnEgg => EntityKind::Sheep,
2933            ItemKind::ShulkerSpawnEgg => EntityKind::Shulker,
2934            ItemKind::SilverfishSpawnEgg => EntityKind::Silverfish,
2935            ItemKind::SkeletonHorseSpawnEgg => EntityKind::SkeletonHorse,
2936            ItemKind::SkeletonSpawnEgg => EntityKind::Skeleton,
2937            ItemKind::SlimeSpawnEgg => EntityKind::Slime,
2938            ItemKind::SnifferSpawnEgg => EntityKind::Sniffer,
2939            ItemKind::SnowGolemSpawnEgg => EntityKind::SnowGolem,
2940            ItemKind::SpiderSpawnEgg => EntityKind::Spider,
2941            ItemKind::SquidSpawnEgg => EntityKind::Squid,
2942            ItemKind::StraySpawnEgg => EntityKind::Stray,
2943            ItemKind::StriderSpawnEgg => EntityKind::Strider,
2944            ItemKind::TadpoleSpawnEgg => EntityKind::Tadpole,
2945            ItemKind::TraderLlamaSpawnEgg => EntityKind::TraderLlama,
2946            ItemKind::TropicalFishSpawnEgg => EntityKind::TropicalFish,
2947            ItemKind::TurtleSpawnEgg => EntityKind::Turtle,
2948            ItemKind::VexSpawnEgg => EntityKind::Vex,
2949            ItemKind::VillagerSpawnEgg => EntityKind::Villager,
2950            ItemKind::VindicatorSpawnEgg => EntityKind::Vindicator,
2951            ItemKind::WanderingTraderSpawnEgg => EntityKind::WanderingTrader,
2952            ItemKind::WardenSpawnEgg => EntityKind::Warden,
2953            ItemKind::WitchSpawnEgg => EntityKind::Witch,
2954            ItemKind::WitherSkeletonSpawnEgg => EntityKind::WitherSkeleton,
2955            ItemKind::WitherSpawnEgg => EntityKind::Wither,
2956            ItemKind::WolfSpawnEgg => EntityKind::Wolf,
2957            ItemKind::ZoglinSpawnEgg => EntityKind::Zoglin,
2958            ItemKind::ZombieHorseSpawnEgg => EntityKind::ZombieHorse,
2959            ItemKind::ZombieNautilusSpawnEgg => EntityKind::ZombieNautilus,
2960            ItemKind::ZombieSpawnEgg => EntityKind::Zombie,
2961            ItemKind::ZombieVillagerSpawnEgg => EntityKind::ZombieVillager,
2962            ItemKind::ZombifiedPiglinSpawnEgg => EntityKind::ZombifiedPiglin,
2963            _ => return None,
2964        };
2965        Some(EntityData {
2966            kind: value,
2967            data: NbtCompound::new(),
2968        })
2969    }
2970}
2971impl DefaultableComponent for Equippable {
2972    fn default_for_item(item: ItemKind) -> Option<Self> {
2973        let value = match item {
2974            ItemKind::BlackCarpet => Equippable {
2975                allowed_entities: Some(HolderSet::Direct {
2976                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2977                }),
2978                asset_id: Some("minecraft:black_carpet".into()),
2979                can_be_sheared: true,
2980                equip_sound: SoundEvent::EntityLlamaSwag,
2981                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2982                slot: EquipmentSlot::Body,
2983                ..Equippable::new()
2984            },
2985            ItemKind::BlackHarness => Equippable {
2986                allowed_entities: Some(HolderSet::Direct {
2987                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2988                        .clone()
2989                        .into_iter()
2990                        .collect(),
2991                }),
2992                asset_id: Some("minecraft:black_harness".into()),
2993                can_be_sheared: true,
2994                equip_on_interact: true,
2995                equip_sound: SoundEvent::EntityHappyGhastEquip,
2996                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2997                slot: EquipmentSlot::Body,
2998                ..Equippable::new()
2999            },
3000            ItemKind::BlueCarpet => Equippable {
3001                allowed_entities: Some(HolderSet::Direct {
3002                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3003                }),
3004                asset_id: Some("minecraft:blue_carpet".into()),
3005                can_be_sheared: true,
3006                equip_sound: SoundEvent::EntityLlamaSwag,
3007                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3008                slot: EquipmentSlot::Body,
3009                ..Equippable::new()
3010            },
3011            ItemKind::BlueHarness => Equippable {
3012                allowed_entities: Some(HolderSet::Direct {
3013                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3014                        .clone()
3015                        .into_iter()
3016                        .collect(),
3017                }),
3018                asset_id: Some("minecraft:blue_harness".into()),
3019                can_be_sheared: true,
3020                equip_on_interact: true,
3021                equip_sound: SoundEvent::EntityHappyGhastEquip,
3022                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3023                slot: EquipmentSlot::Body,
3024                ..Equippable::new()
3025            },
3026            ItemKind::BrownCarpet => Equippable {
3027                allowed_entities: Some(HolderSet::Direct {
3028                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3029                }),
3030                asset_id: Some("minecraft:brown_carpet".into()),
3031                can_be_sheared: true,
3032                equip_sound: SoundEvent::EntityLlamaSwag,
3033                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3034                slot: EquipmentSlot::Body,
3035                ..Equippable::new()
3036            },
3037            ItemKind::BrownHarness => Equippable {
3038                allowed_entities: Some(HolderSet::Direct {
3039                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3040                        .clone()
3041                        .into_iter()
3042                        .collect(),
3043                }),
3044                asset_id: Some("minecraft:brown_harness".into()),
3045                can_be_sheared: true,
3046                equip_on_interact: true,
3047                equip_sound: SoundEvent::EntityHappyGhastEquip,
3048                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3049                slot: EquipmentSlot::Body,
3050                ..Equippable::new()
3051            },
3052            ItemKind::CarvedPumpkin => Equippable {
3053                camera_overlay: Some("minecraft:misc/pumpkinblur".into()),
3054                slot: EquipmentSlot::Head,
3055                swappable: false,
3056                ..Equippable::new()
3057            },
3058            ItemKind::ChainmailBoots => Equippable {
3059                asset_id: Some("minecraft:chainmail".into()),
3060                equip_sound: SoundEvent::ItemArmorEquipChain,
3061                slot: EquipmentSlot::Feet,
3062                ..Equippable::new()
3063            },
3064            ItemKind::ChainmailChestplate => Equippable {
3065                asset_id: Some("minecraft:chainmail".into()),
3066                equip_sound: SoundEvent::ItemArmorEquipChain,
3067                slot: EquipmentSlot::Chest,
3068                ..Equippable::new()
3069            },
3070            ItemKind::ChainmailHelmet => Equippable {
3071                asset_id: Some("minecraft:chainmail".into()),
3072                equip_sound: SoundEvent::ItemArmorEquipChain,
3073                slot: EquipmentSlot::Head,
3074                ..Equippable::new()
3075            },
3076            ItemKind::ChainmailLeggings => Equippable {
3077                asset_id: Some("minecraft:chainmail".into()),
3078                equip_sound: SoundEvent::ItemArmorEquipChain,
3079                slot: EquipmentSlot::Legs,
3080                ..Equippable::new()
3081            },
3082            ItemKind::CopperBoots => Equippable {
3083                asset_id: Some("minecraft:copper".into()),
3084                equip_sound: SoundEvent::ItemArmorEquipCopper,
3085                slot: EquipmentSlot::Feet,
3086                ..Equippable::new()
3087            },
3088            ItemKind::CopperChestplate => Equippable {
3089                asset_id: Some("minecraft:copper".into()),
3090                equip_sound: SoundEvent::ItemArmorEquipCopper,
3091                slot: EquipmentSlot::Chest,
3092                ..Equippable::new()
3093            },
3094            ItemKind::CopperHelmet => Equippable {
3095                asset_id: Some("minecraft:copper".into()),
3096                equip_sound: SoundEvent::ItemArmorEquipCopper,
3097                slot: EquipmentSlot::Head,
3098                ..Equippable::new()
3099            },
3100            ItemKind::CopperHorseArmor => Equippable {
3101                allowed_entities: Some(HolderSet::Direct {
3102                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3103                        .clone()
3104                        .into_iter()
3105                        .collect(),
3106                }),
3107                asset_id: Some("minecraft:copper".into()),
3108                can_be_sheared: true,
3109                damage_on_hurt: false,
3110                equip_sound: SoundEvent::EntityHorseArmor,
3111                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3112                slot: EquipmentSlot::Body,
3113                ..Equippable::new()
3114            },
3115            ItemKind::CopperLeggings => Equippable {
3116                asset_id: Some("minecraft:copper".into()),
3117                equip_sound: SoundEvent::ItemArmorEquipCopper,
3118                slot: EquipmentSlot::Legs,
3119                ..Equippable::new()
3120            },
3121            ItemKind::CopperNautilusArmor => Equippable {
3122                allowed_entities: Some(HolderSet::Direct {
3123                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3124                        .clone()
3125                        .into_iter()
3126                        .collect(),
3127                }),
3128                asset_id: Some("minecraft:copper".into()),
3129                can_be_sheared: true,
3130                damage_on_hurt: false,
3131                equip_on_interact: true,
3132                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3133                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3134                slot: EquipmentSlot::Body,
3135                ..Equippable::new()
3136            },
3137            ItemKind::CreeperHead => Equippable {
3138                slot: EquipmentSlot::Head,
3139                swappable: false,
3140                ..Equippable::new()
3141            },
3142            ItemKind::CyanCarpet => Equippable {
3143                allowed_entities: Some(HolderSet::Direct {
3144                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3145                }),
3146                asset_id: Some("minecraft:cyan_carpet".into()),
3147                can_be_sheared: true,
3148                equip_sound: SoundEvent::EntityLlamaSwag,
3149                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3150                slot: EquipmentSlot::Body,
3151                ..Equippable::new()
3152            },
3153            ItemKind::CyanHarness => Equippable {
3154                allowed_entities: Some(HolderSet::Direct {
3155                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3156                        .clone()
3157                        .into_iter()
3158                        .collect(),
3159                }),
3160                asset_id: Some("minecraft:cyan_harness".into()),
3161                can_be_sheared: true,
3162                equip_on_interact: true,
3163                equip_sound: SoundEvent::EntityHappyGhastEquip,
3164                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3165                slot: EquipmentSlot::Body,
3166                ..Equippable::new()
3167            },
3168            ItemKind::DiamondBoots => Equippable {
3169                asset_id: Some("minecraft:diamond".into()),
3170                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3171                slot: EquipmentSlot::Feet,
3172                ..Equippable::new()
3173            },
3174            ItemKind::DiamondChestplate => Equippable {
3175                asset_id: Some("minecraft:diamond".into()),
3176                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3177                slot: EquipmentSlot::Chest,
3178                ..Equippable::new()
3179            },
3180            ItemKind::DiamondHelmet => Equippable {
3181                asset_id: Some("minecraft:diamond".into()),
3182                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3183                slot: EquipmentSlot::Head,
3184                ..Equippable::new()
3185            },
3186            ItemKind::DiamondHorseArmor => Equippable {
3187                allowed_entities: Some(HolderSet::Direct {
3188                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3189                        .clone()
3190                        .into_iter()
3191                        .collect(),
3192                }),
3193                asset_id: Some("minecraft:diamond".into()),
3194                can_be_sheared: true,
3195                damage_on_hurt: false,
3196                equip_sound: SoundEvent::EntityHorseArmor,
3197                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3198                slot: EquipmentSlot::Body,
3199                ..Equippable::new()
3200            },
3201            ItemKind::DiamondLeggings => Equippable {
3202                asset_id: Some("minecraft:diamond".into()),
3203                equip_sound: SoundEvent::ItemArmorEquipDiamond,
3204                slot: EquipmentSlot::Legs,
3205                ..Equippable::new()
3206            },
3207            ItemKind::DiamondNautilusArmor => Equippable {
3208                allowed_entities: Some(HolderSet::Direct {
3209                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3210                        .clone()
3211                        .into_iter()
3212                        .collect(),
3213                }),
3214                asset_id: Some("minecraft:diamond".into()),
3215                can_be_sheared: true,
3216                damage_on_hurt: false,
3217                equip_on_interact: true,
3218                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3219                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3220                slot: EquipmentSlot::Body,
3221                ..Equippable::new()
3222            },
3223            ItemKind::DragonHead => Equippable {
3224                slot: EquipmentSlot::Head,
3225                swappable: false,
3226                ..Equippable::new()
3227            },
3228            ItemKind::Elytra => Equippable {
3229                asset_id: Some("minecraft:elytra".into()),
3230                damage_on_hurt: false,
3231                equip_sound: SoundEvent::ItemArmorEquipElytra,
3232                slot: EquipmentSlot::Chest,
3233                ..Equippable::new()
3234            },
3235            ItemKind::GoldenBoots => Equippable {
3236                asset_id: Some("minecraft:gold".into()),
3237                equip_sound: SoundEvent::ItemArmorEquipGold,
3238                slot: EquipmentSlot::Feet,
3239                ..Equippable::new()
3240            },
3241            ItemKind::GoldenChestplate => Equippable {
3242                asset_id: Some("minecraft:gold".into()),
3243                equip_sound: SoundEvent::ItemArmorEquipGold,
3244                slot: EquipmentSlot::Chest,
3245                ..Equippable::new()
3246            },
3247            ItemKind::GoldenHelmet => Equippable {
3248                asset_id: Some("minecraft:gold".into()),
3249                equip_sound: SoundEvent::ItemArmorEquipGold,
3250                slot: EquipmentSlot::Head,
3251                ..Equippable::new()
3252            },
3253            ItemKind::GoldenHorseArmor => Equippable {
3254                allowed_entities: Some(HolderSet::Direct {
3255                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3256                        .clone()
3257                        .into_iter()
3258                        .collect(),
3259                }),
3260                asset_id: Some("minecraft:gold".into()),
3261                can_be_sheared: true,
3262                damage_on_hurt: false,
3263                equip_sound: SoundEvent::EntityHorseArmor,
3264                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3265                slot: EquipmentSlot::Body,
3266                ..Equippable::new()
3267            },
3268            ItemKind::GoldenLeggings => Equippable {
3269                asset_id: Some("minecraft:gold".into()),
3270                equip_sound: SoundEvent::ItemArmorEquipGold,
3271                slot: EquipmentSlot::Legs,
3272                ..Equippable::new()
3273            },
3274            ItemKind::GoldenNautilusArmor => Equippable {
3275                allowed_entities: Some(HolderSet::Direct {
3276                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3277                        .clone()
3278                        .into_iter()
3279                        .collect(),
3280                }),
3281                asset_id: Some("minecraft:gold".into()),
3282                can_be_sheared: true,
3283                damage_on_hurt: false,
3284                equip_on_interact: true,
3285                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3286                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3287                slot: EquipmentSlot::Body,
3288                ..Equippable::new()
3289            },
3290            ItemKind::GrayCarpet => Equippable {
3291                allowed_entities: Some(HolderSet::Direct {
3292                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3293                }),
3294                asset_id: Some("minecraft:gray_carpet".into()),
3295                can_be_sheared: true,
3296                equip_sound: SoundEvent::EntityLlamaSwag,
3297                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3298                slot: EquipmentSlot::Body,
3299                ..Equippable::new()
3300            },
3301            ItemKind::GrayHarness => Equippable {
3302                allowed_entities: Some(HolderSet::Direct {
3303                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3304                        .clone()
3305                        .into_iter()
3306                        .collect(),
3307                }),
3308                asset_id: Some("minecraft:gray_harness".into()),
3309                can_be_sheared: true,
3310                equip_on_interact: true,
3311                equip_sound: SoundEvent::EntityHappyGhastEquip,
3312                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3313                slot: EquipmentSlot::Body,
3314                ..Equippable::new()
3315            },
3316            ItemKind::GreenCarpet => Equippable {
3317                allowed_entities: Some(HolderSet::Direct {
3318                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3319                }),
3320                asset_id: Some("minecraft:green_carpet".into()),
3321                can_be_sheared: true,
3322                equip_sound: SoundEvent::EntityLlamaSwag,
3323                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3324                slot: EquipmentSlot::Body,
3325                ..Equippable::new()
3326            },
3327            ItemKind::GreenHarness => Equippable {
3328                allowed_entities: Some(HolderSet::Direct {
3329                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3330                        .clone()
3331                        .into_iter()
3332                        .collect(),
3333                }),
3334                asset_id: Some("minecraft:green_harness".into()),
3335                can_be_sheared: true,
3336                equip_on_interact: true,
3337                equip_sound: SoundEvent::EntityHappyGhastEquip,
3338                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3339                slot: EquipmentSlot::Body,
3340                ..Equippable::new()
3341            },
3342            ItemKind::IronBoots => Equippable {
3343                asset_id: Some("minecraft:iron".into()),
3344                equip_sound: SoundEvent::ItemArmorEquipIron,
3345                slot: EquipmentSlot::Feet,
3346                ..Equippable::new()
3347            },
3348            ItemKind::IronChestplate => Equippable {
3349                asset_id: Some("minecraft:iron".into()),
3350                equip_sound: SoundEvent::ItemArmorEquipIron,
3351                slot: EquipmentSlot::Chest,
3352                ..Equippable::new()
3353            },
3354            ItemKind::IronHelmet => Equippable {
3355                asset_id: Some("minecraft:iron".into()),
3356                equip_sound: SoundEvent::ItemArmorEquipIron,
3357                slot: EquipmentSlot::Head,
3358                ..Equippable::new()
3359            },
3360            ItemKind::IronHorseArmor => Equippable {
3361                allowed_entities: Some(HolderSet::Direct {
3362                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3363                        .clone()
3364                        .into_iter()
3365                        .collect(),
3366                }),
3367                asset_id: Some("minecraft:iron".into()),
3368                can_be_sheared: true,
3369                damage_on_hurt: false,
3370                equip_sound: SoundEvent::EntityHorseArmor,
3371                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3372                slot: EquipmentSlot::Body,
3373                ..Equippable::new()
3374            },
3375            ItemKind::IronLeggings => Equippable {
3376                asset_id: Some("minecraft:iron".into()),
3377                equip_sound: SoundEvent::ItemArmorEquipIron,
3378                slot: EquipmentSlot::Legs,
3379                ..Equippable::new()
3380            },
3381            ItemKind::IronNautilusArmor => Equippable {
3382                allowed_entities: Some(HolderSet::Direct {
3383                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3384                        .clone()
3385                        .into_iter()
3386                        .collect(),
3387                }),
3388                asset_id: Some("minecraft:iron".into()),
3389                can_be_sheared: true,
3390                damage_on_hurt: false,
3391                equip_on_interact: true,
3392                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3393                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3394                slot: EquipmentSlot::Body,
3395                ..Equippable::new()
3396            },
3397            ItemKind::LeatherBoots => Equippable {
3398                asset_id: Some("minecraft:leather".into()),
3399                equip_sound: SoundEvent::ItemArmorEquipLeather,
3400                slot: EquipmentSlot::Feet,
3401                ..Equippable::new()
3402            },
3403            ItemKind::LeatherChestplate => Equippable {
3404                asset_id: Some("minecraft:leather".into()),
3405                equip_sound: SoundEvent::ItemArmorEquipLeather,
3406                slot: EquipmentSlot::Chest,
3407                ..Equippable::new()
3408            },
3409            ItemKind::LeatherHelmet => Equippable {
3410                asset_id: Some("minecraft:leather".into()),
3411                equip_sound: SoundEvent::ItemArmorEquipLeather,
3412                slot: EquipmentSlot::Head,
3413                ..Equippable::new()
3414            },
3415            ItemKind::LeatherHorseArmor => Equippable {
3416                allowed_entities: Some(HolderSet::Direct {
3417                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3418                        .clone()
3419                        .into_iter()
3420                        .collect(),
3421                }),
3422                asset_id: Some("minecraft:leather".into()),
3423                can_be_sheared: true,
3424                damage_on_hurt: false,
3425                equip_sound: SoundEvent::EntityHorseArmor,
3426                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3427                slot: EquipmentSlot::Body,
3428                ..Equippable::new()
3429            },
3430            ItemKind::LeatherLeggings => Equippable {
3431                asset_id: Some("minecraft:leather".into()),
3432                equip_sound: SoundEvent::ItemArmorEquipLeather,
3433                slot: EquipmentSlot::Legs,
3434                ..Equippable::new()
3435            },
3436            ItemKind::LightBlueCarpet => Equippable {
3437                allowed_entities: Some(HolderSet::Direct {
3438                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3439                }),
3440                asset_id: Some("minecraft:light_blue_carpet".into()),
3441                can_be_sheared: true,
3442                equip_sound: SoundEvent::EntityLlamaSwag,
3443                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3444                slot: EquipmentSlot::Body,
3445                ..Equippable::new()
3446            },
3447            ItemKind::LightBlueHarness => Equippable {
3448                allowed_entities: Some(HolderSet::Direct {
3449                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3450                        .clone()
3451                        .into_iter()
3452                        .collect(),
3453                }),
3454                asset_id: Some("minecraft:light_blue_harness".into()),
3455                can_be_sheared: true,
3456                equip_on_interact: true,
3457                equip_sound: SoundEvent::EntityHappyGhastEquip,
3458                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3459                slot: EquipmentSlot::Body,
3460                ..Equippable::new()
3461            },
3462            ItemKind::LightGrayCarpet => Equippable {
3463                allowed_entities: Some(HolderSet::Direct {
3464                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3465                }),
3466                asset_id: Some("minecraft:light_gray_carpet".into()),
3467                can_be_sheared: true,
3468                equip_sound: SoundEvent::EntityLlamaSwag,
3469                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3470                slot: EquipmentSlot::Body,
3471                ..Equippable::new()
3472            },
3473            ItemKind::LightGrayHarness => Equippable {
3474                allowed_entities: Some(HolderSet::Direct {
3475                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3476                        .clone()
3477                        .into_iter()
3478                        .collect(),
3479                }),
3480                asset_id: Some("minecraft:light_gray_harness".into()),
3481                can_be_sheared: true,
3482                equip_on_interact: true,
3483                equip_sound: SoundEvent::EntityHappyGhastEquip,
3484                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3485                slot: EquipmentSlot::Body,
3486                ..Equippable::new()
3487            },
3488            ItemKind::LimeCarpet => Equippable {
3489                allowed_entities: Some(HolderSet::Direct {
3490                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3491                }),
3492                asset_id: Some("minecraft:lime_carpet".into()),
3493                can_be_sheared: true,
3494                equip_sound: SoundEvent::EntityLlamaSwag,
3495                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3496                slot: EquipmentSlot::Body,
3497                ..Equippable::new()
3498            },
3499            ItemKind::LimeHarness => Equippable {
3500                allowed_entities: Some(HolderSet::Direct {
3501                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3502                        .clone()
3503                        .into_iter()
3504                        .collect(),
3505                }),
3506                asset_id: Some("minecraft:lime_harness".into()),
3507                can_be_sheared: true,
3508                equip_on_interact: true,
3509                equip_sound: SoundEvent::EntityHappyGhastEquip,
3510                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3511                slot: EquipmentSlot::Body,
3512                ..Equippable::new()
3513            },
3514            ItemKind::MagentaCarpet => Equippable {
3515                allowed_entities: Some(HolderSet::Direct {
3516                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3517                }),
3518                asset_id: Some("minecraft:magenta_carpet".into()),
3519                can_be_sheared: true,
3520                equip_sound: SoundEvent::EntityLlamaSwag,
3521                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3522                slot: EquipmentSlot::Body,
3523                ..Equippable::new()
3524            },
3525            ItemKind::MagentaHarness => Equippable {
3526                allowed_entities: Some(HolderSet::Direct {
3527                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3528                        .clone()
3529                        .into_iter()
3530                        .collect(),
3531                }),
3532                asset_id: Some("minecraft:magenta_harness".into()),
3533                can_be_sheared: true,
3534                equip_on_interact: true,
3535                equip_sound: SoundEvent::EntityHappyGhastEquip,
3536                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3537                slot: EquipmentSlot::Body,
3538                ..Equippable::new()
3539            },
3540            ItemKind::NetheriteBoots => Equippable {
3541                asset_id: Some("minecraft:netherite".into()),
3542                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3543                slot: EquipmentSlot::Feet,
3544                ..Equippable::new()
3545            },
3546            ItemKind::NetheriteChestplate => Equippable {
3547                asset_id: Some("minecraft:netherite".into()),
3548                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3549                slot: EquipmentSlot::Chest,
3550                ..Equippable::new()
3551            },
3552            ItemKind::NetheriteHelmet => Equippable {
3553                asset_id: Some("minecraft:netherite".into()),
3554                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3555                slot: EquipmentSlot::Head,
3556                ..Equippable::new()
3557            },
3558            ItemKind::NetheriteHorseArmor => Equippable {
3559                allowed_entities: Some(HolderSet::Direct {
3560                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3561                        .clone()
3562                        .into_iter()
3563                        .collect(),
3564                }),
3565                asset_id: Some("minecraft:netherite".into()),
3566                can_be_sheared: true,
3567                damage_on_hurt: false,
3568                equip_sound: SoundEvent::EntityHorseArmor,
3569                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3570                slot: EquipmentSlot::Body,
3571                ..Equippable::new()
3572            },
3573            ItemKind::NetheriteLeggings => Equippable {
3574                asset_id: Some("minecraft:netherite".into()),
3575                equip_sound: SoundEvent::ItemArmorEquipNetherite,
3576                slot: EquipmentSlot::Legs,
3577                ..Equippable::new()
3578            },
3579            ItemKind::NetheriteNautilusArmor => Equippable {
3580                allowed_entities: Some(HolderSet::Direct {
3581                    contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
3582                        .clone()
3583                        .into_iter()
3584                        .collect(),
3585                }),
3586                asset_id: Some("minecraft:netherite".into()),
3587                can_be_sheared: true,
3588                damage_on_hurt: false,
3589                equip_on_interact: true,
3590                equip_sound: SoundEvent::ItemArmorEquipNautilus,
3591                shearing_sound: SoundEvent::ItemArmorUnequipNautilus,
3592                slot: EquipmentSlot::Body,
3593                ..Equippable::new()
3594            },
3595            ItemKind::OrangeCarpet => Equippable {
3596                allowed_entities: Some(HolderSet::Direct {
3597                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3598                }),
3599                asset_id: Some("minecraft:orange_carpet".into()),
3600                can_be_sheared: true,
3601                equip_sound: SoundEvent::EntityLlamaSwag,
3602                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3603                slot: EquipmentSlot::Body,
3604                ..Equippable::new()
3605            },
3606            ItemKind::OrangeHarness => Equippable {
3607                allowed_entities: Some(HolderSet::Direct {
3608                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3609                        .clone()
3610                        .into_iter()
3611                        .collect(),
3612                }),
3613                asset_id: Some("minecraft:orange_harness".into()),
3614                can_be_sheared: true,
3615                equip_on_interact: true,
3616                equip_sound: SoundEvent::EntityHappyGhastEquip,
3617                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3618                slot: EquipmentSlot::Body,
3619                ..Equippable::new()
3620            },
3621            ItemKind::PiglinHead => Equippable {
3622                slot: EquipmentSlot::Head,
3623                swappable: false,
3624                ..Equippable::new()
3625            },
3626            ItemKind::PinkCarpet => Equippable {
3627                allowed_entities: Some(HolderSet::Direct {
3628                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3629                }),
3630                asset_id: Some("minecraft:pink_carpet".into()),
3631                can_be_sheared: true,
3632                equip_sound: SoundEvent::EntityLlamaSwag,
3633                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3634                slot: EquipmentSlot::Body,
3635                ..Equippable::new()
3636            },
3637            ItemKind::PinkHarness => Equippable {
3638                allowed_entities: Some(HolderSet::Direct {
3639                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3640                        .clone()
3641                        .into_iter()
3642                        .collect(),
3643                }),
3644                asset_id: Some("minecraft:pink_harness".into()),
3645                can_be_sheared: true,
3646                equip_on_interact: true,
3647                equip_sound: SoundEvent::EntityHappyGhastEquip,
3648                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3649                slot: EquipmentSlot::Body,
3650                ..Equippable::new()
3651            },
3652            ItemKind::PlayerHead => Equippable {
3653                slot: EquipmentSlot::Head,
3654                swappable: false,
3655                ..Equippable::new()
3656            },
3657            ItemKind::PurpleCarpet => Equippable {
3658                allowed_entities: Some(HolderSet::Direct {
3659                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3660                }),
3661                asset_id: Some("minecraft:purple_carpet".into()),
3662                can_be_sheared: true,
3663                equip_sound: SoundEvent::EntityLlamaSwag,
3664                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3665                slot: EquipmentSlot::Body,
3666                ..Equippable::new()
3667            },
3668            ItemKind::PurpleHarness => Equippable {
3669                allowed_entities: Some(HolderSet::Direct {
3670                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3671                        .clone()
3672                        .into_iter()
3673                        .collect(),
3674                }),
3675                asset_id: Some("minecraft:purple_harness".into()),
3676                can_be_sheared: true,
3677                equip_on_interact: true,
3678                equip_sound: SoundEvent::EntityHappyGhastEquip,
3679                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3680                slot: EquipmentSlot::Body,
3681                ..Equippable::new()
3682            },
3683            ItemKind::RedCarpet => Equippable {
3684                allowed_entities: Some(HolderSet::Direct {
3685                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3686                }),
3687                asset_id: Some("minecraft:red_carpet".into()),
3688                can_be_sheared: true,
3689                equip_sound: SoundEvent::EntityLlamaSwag,
3690                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3691                slot: EquipmentSlot::Body,
3692                ..Equippable::new()
3693            },
3694            ItemKind::RedHarness => Equippable {
3695                allowed_entities: Some(HolderSet::Direct {
3696                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3697                        .clone()
3698                        .into_iter()
3699                        .collect(),
3700                }),
3701                asset_id: Some("minecraft:red_harness".into()),
3702                can_be_sheared: true,
3703                equip_on_interact: true,
3704                equip_sound: SoundEvent::EntityHappyGhastEquip,
3705                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3706                slot: EquipmentSlot::Body,
3707                ..Equippable::new()
3708            },
3709            ItemKind::Saddle => Equippable {
3710                allowed_entities: Some(HolderSet::Direct {
3711                    contents: azalea_registry::tags::entities::CAN_EQUIP_SADDLE
3712                        .clone()
3713                        .into_iter()
3714                        .collect(),
3715                }),
3716                asset_id: Some("minecraft:saddle".into()),
3717                can_be_sheared: true,
3718                equip_on_interact: true,
3719                equip_sound: SoundEvent::EntityHorseSaddle,
3720                shearing_sound: SoundEvent::ItemSaddleUnequip,
3721                slot: EquipmentSlot::Saddle,
3722                ..Equippable::new()
3723            },
3724            ItemKind::Shield => Equippable {
3725                slot: EquipmentSlot::Offhand,
3726                swappable: false,
3727                ..Equippable::new()
3728            },
3729            ItemKind::SkeletonSkull => Equippable {
3730                slot: EquipmentSlot::Head,
3731                swappable: false,
3732                ..Equippable::new()
3733            },
3734            ItemKind::TurtleHelmet => Equippable {
3735                asset_id: Some("minecraft:turtle_scute".into()),
3736                equip_sound: SoundEvent::ItemArmorEquipTurtle,
3737                slot: EquipmentSlot::Head,
3738                ..Equippable::new()
3739            },
3740            ItemKind::WhiteCarpet => Equippable {
3741                allowed_entities: Some(HolderSet::Direct {
3742                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3743                }),
3744                asset_id: Some("minecraft:white_carpet".into()),
3745                can_be_sheared: true,
3746                equip_sound: SoundEvent::EntityLlamaSwag,
3747                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3748                slot: EquipmentSlot::Body,
3749                ..Equippable::new()
3750            },
3751            ItemKind::WhiteHarness => Equippable {
3752                allowed_entities: Some(HolderSet::Direct {
3753                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3754                        .clone()
3755                        .into_iter()
3756                        .collect(),
3757                }),
3758                asset_id: Some("minecraft:white_harness".into()),
3759                can_be_sheared: true,
3760                equip_on_interact: true,
3761                equip_sound: SoundEvent::EntityHappyGhastEquip,
3762                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3763                slot: EquipmentSlot::Body,
3764                ..Equippable::new()
3765            },
3766            ItemKind::WitherSkeletonSkull => Equippable {
3767                slot: EquipmentSlot::Head,
3768                swappable: false,
3769                ..Equippable::new()
3770            },
3771            ItemKind::WolfArmor => Equippable {
3772                allowed_entities: Some(HolderSet::Direct {
3773                    contents: vec![EntityKind::Wolf],
3774                }),
3775                asset_id: Some("minecraft:armadillo_scute".into()),
3776                can_be_sheared: true,
3777                equip_sound: SoundEvent::ItemArmorEquipWolf,
3778                shearing_sound: SoundEvent::ItemArmorUnequipWolf,
3779                slot: EquipmentSlot::Body,
3780                ..Equippable::new()
3781            },
3782            ItemKind::YellowCarpet => Equippable {
3783                allowed_entities: Some(HolderSet::Direct {
3784                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3785                }),
3786                asset_id: Some("minecraft:yellow_carpet".into()),
3787                can_be_sheared: true,
3788                equip_sound: SoundEvent::EntityLlamaSwag,
3789                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3790                slot: EquipmentSlot::Body,
3791                ..Equippable::new()
3792            },
3793            ItemKind::YellowHarness => Equippable {
3794                allowed_entities: Some(HolderSet::Direct {
3795                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3796                        .clone()
3797                        .into_iter()
3798                        .collect(),
3799                }),
3800                asset_id: Some("minecraft:yellow_harness".into()),
3801                can_be_sheared: true,
3802                equip_on_interact: true,
3803                equip_sound: SoundEvent::EntityHappyGhastEquip,
3804                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3805                slot: EquipmentSlot::Body,
3806                ..Equippable::new()
3807            },
3808            ItemKind::ZombieHead => Equippable {
3809                slot: EquipmentSlot::Head,
3810                swappable: false,
3811                ..Equippable::new()
3812            },
3813            _ => return None,
3814        };
3815        Some(value)
3816    }
3817}
3818impl DefaultableComponent for Fireworks {
3819    fn default_for_item(item: ItemKind) -> Option<Self> {
3820        let value = match item {
3821            ItemKind::FireworkRocket => Fireworks {
3822                flight_duration: 1,
3823                ..Fireworks::new()
3824            },
3825            _ => return None,
3826        };
3827        Some(value)
3828    }
3829}
3830impl DefaultableComponent for Food {
3831    fn default_for_item(item: ItemKind) -> Option<Self> {
3832        let value = match item {
3833            ItemKind::Apple => Food {
3834                nutrition: 4,
3835                saturation: 2.4,
3836                ..Food::new()
3837            },
3838            ItemKind::BakedPotato => Food {
3839                nutrition: 5,
3840                saturation: 6.0,
3841                ..Food::new()
3842            },
3843            ItemKind::Beef => Food {
3844                nutrition: 3,
3845                saturation: 1.8000001,
3846                ..Food::new()
3847            },
3848            ItemKind::Beetroot => Food {
3849                nutrition: 1,
3850                saturation: 1.2,
3851                ..Food::new()
3852            },
3853            ItemKind::BeetrootSoup => Food {
3854                nutrition: 6,
3855                saturation: 7.2000003,
3856                ..Food::new()
3857            },
3858            ItemKind::Bread => Food {
3859                nutrition: 5,
3860                saturation: 6.0,
3861                ..Food::new()
3862            },
3863            ItemKind::Carrot => Food {
3864                nutrition: 3,
3865                saturation: 3.6000001,
3866                ..Food::new()
3867            },
3868            ItemKind::Chicken => Food {
3869                nutrition: 2,
3870                saturation: 1.2,
3871                ..Food::new()
3872            },
3873            ItemKind::ChorusFruit => Food {
3874                can_always_eat: true,
3875                nutrition: 4,
3876                saturation: 2.4,
3877            },
3878            ItemKind::Cod => Food {
3879                nutrition: 2,
3880                saturation: 0.4,
3881                ..Food::new()
3882            },
3883            ItemKind::CodBucket => Food {
3884                nutrition: 2,
3885                saturation: 0.4,
3886                ..Food::new()
3887            },
3888            ItemKind::CookedBeef => Food {
3889                nutrition: 8,
3890                saturation: 12.8,
3891                ..Food::new()
3892            },
3893            ItemKind::CookedChicken => Food {
3894                nutrition: 6,
3895                saturation: 7.2000003,
3896                ..Food::new()
3897            },
3898            ItemKind::CookedCod => Food {
3899                nutrition: 5,
3900                saturation: 6.0,
3901                ..Food::new()
3902            },
3903            ItemKind::CookedMutton => Food {
3904                nutrition: 6,
3905                saturation: 9.6,
3906                ..Food::new()
3907            },
3908            ItemKind::CookedPorkchop => Food {
3909                nutrition: 8,
3910                saturation: 12.8,
3911                ..Food::new()
3912            },
3913            ItemKind::CookedRabbit => Food {
3914                nutrition: 5,
3915                saturation: 6.0,
3916                ..Food::new()
3917            },
3918            ItemKind::CookedSalmon => Food {
3919                nutrition: 6,
3920                saturation: 9.6,
3921                ..Food::new()
3922            },
3923            ItemKind::Cookie => Food {
3924                nutrition: 2,
3925                saturation: 0.4,
3926                ..Food::new()
3927            },
3928            ItemKind::DriedKelp => Food {
3929                nutrition: 1,
3930                saturation: 0.6,
3931                ..Food::new()
3932            },
3933            ItemKind::EnchantedGoldenApple => Food {
3934                can_always_eat: true,
3935                nutrition: 4,
3936                saturation: 9.6,
3937            },
3938            ItemKind::GlowBerries => Food {
3939                nutrition: 2,
3940                saturation: 0.4,
3941                ..Food::new()
3942            },
3943            ItemKind::GoldenApple => Food {
3944                can_always_eat: true,
3945                nutrition: 4,
3946                saturation: 9.6,
3947            },
3948            ItemKind::GoldenCarrot => Food {
3949                nutrition: 6,
3950                saturation: 14.400001,
3951                ..Food::new()
3952            },
3953            ItemKind::HoneyBottle => Food {
3954                can_always_eat: true,
3955                nutrition: 6,
3956                saturation: 1.2,
3957            },
3958            ItemKind::MelonSlice => Food {
3959                nutrition: 2,
3960                saturation: 1.2,
3961                ..Food::new()
3962            },
3963            ItemKind::MushroomStew => Food {
3964                nutrition: 6,
3965                saturation: 7.2000003,
3966                ..Food::new()
3967            },
3968            ItemKind::Mutton => Food {
3969                nutrition: 2,
3970                saturation: 1.2,
3971                ..Food::new()
3972            },
3973            ItemKind::PoisonousPotato => Food {
3974                nutrition: 2,
3975                saturation: 1.2,
3976                ..Food::new()
3977            },
3978            ItemKind::Porkchop => Food {
3979                nutrition: 3,
3980                saturation: 1.8000001,
3981                ..Food::new()
3982            },
3983            ItemKind::Potato => Food {
3984                nutrition: 1,
3985                saturation: 0.6,
3986                ..Food::new()
3987            },
3988            ItemKind::Pufferfish => Food {
3989                nutrition: 1,
3990                saturation: 0.2,
3991                ..Food::new()
3992            },
3993            ItemKind::PufferfishBucket => Food {
3994                nutrition: 1,
3995                saturation: 0.2,
3996                ..Food::new()
3997            },
3998            ItemKind::PumpkinPie => Food {
3999                nutrition: 8,
4000                saturation: 4.8,
4001                ..Food::new()
4002            },
4003            ItemKind::Rabbit => Food {
4004                nutrition: 3,
4005                saturation: 1.8000001,
4006                ..Food::new()
4007            },
4008            ItemKind::RabbitStew => Food {
4009                nutrition: 10,
4010                saturation: 12.0,
4011                ..Food::new()
4012            },
4013            ItemKind::RottenFlesh => Food {
4014                nutrition: 4,
4015                saturation: 0.8,
4016                ..Food::new()
4017            },
4018            ItemKind::Salmon => Food {
4019                nutrition: 2,
4020                saturation: 0.4,
4021                ..Food::new()
4022            },
4023            ItemKind::SalmonBucket => Food {
4024                nutrition: 2,
4025                saturation: 0.4,
4026                ..Food::new()
4027            },
4028            ItemKind::SpiderEye => Food {
4029                nutrition: 2,
4030                saturation: 3.2,
4031                ..Food::new()
4032            },
4033            ItemKind::SuspiciousStew => Food {
4034                can_always_eat: true,
4035                nutrition: 6,
4036                saturation: 7.2000003,
4037            },
4038            ItemKind::SweetBerries => Food {
4039                nutrition: 2,
4040                saturation: 0.4,
4041                ..Food::new()
4042            },
4043            ItemKind::TropicalFish => Food {
4044                nutrition: 1,
4045                saturation: 0.2,
4046                ..Food::new()
4047            },
4048            ItemKind::TropicalFishBucket => Food {
4049                nutrition: 1,
4050                saturation: 0.2,
4051                ..Food::new()
4052            },
4053            _ => return None,
4054        };
4055        Some(value)
4056    }
4057}
4058impl DefaultableComponent for Glider {
4059    fn default_for_item(item: ItemKind) -> Option<Self> {
4060        let value = match item {
4061            ItemKind::Elytra => Glider,
4062            _ => return None,
4063        };
4064        Some(value)
4065    }
4066}
4067impl DefaultableComponent for Instrument {
4068    fn default_for_item(item: ItemKind) -> Option<Self> {
4069        let value = match item {
4070            ItemKind::GoatHorn => {
4071                azalea_registry::Holder::Reference(azalea_registry::data::Instrument::new_raw(0))
4072            }
4073            _ => return None,
4074        };
4075        Some(Instrument { value: value })
4076    }
4077}
4078#[rustfmt::skip]
4079static ITEM_MODEL_VALUES: [&str; 1506] = ["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: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:gold_block","minecraft:diamond_block","minecraft:netherite_block","minecraft:exposed_copper","minecraft:weathered_copper","minecraft:oxidized_copper","minecraft:chiseled_copper","minecraft:exposed_chiseled_copper","minecraft:weathered_chiseled_copper","minecraft:oxidized_chiseled_copper","minecraft:cut_copper","minecraft:exposed_cut_copper","minecraft:weathered_cut_copper","minecraft:oxidized_cut_copper","minecraft:cut_copper_stairs","minecraft:exposed_cut_copper_stairs","minecraft:weathered_cut_copper_stairs","minecraft: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_copper_block","minecraft:waxed_exposed_copper","minecraft:waxed_weathered_copper","minecraft:waxed_oxidized_copper","minecraft:waxed_chiseled_copper","minecraft:waxed_exposed_chiseled_copper","minecraft:waxed_weathered_chiseled_copper","minecraft:waxed_oxidized_chiseled_copper","minecraft:waxed_cut_copper","minecraft:waxed_exposed_cut_copper","minecraft:waxed_weathered_cut_copper","minecraft:waxed_oxidized_cut_copper","minecraft:waxed_cut_copper_stairs","minecraft:waxed_exposed_cut_copper_stairs","minecraft:waxed_weathered_cut_copper_stairs","minecraft:waxed_oxidized_cut_copper_stairs","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: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: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_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: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"];
4080impl DefaultableComponent for ItemModel {
4081    fn default_for_item(item: ItemKind) -> Option<Self> {
4082        let value = ITEM_MODEL_VALUES[item as usize];
4083        Some(ItemModel {
4084            resource_location: value.into(),
4085        })
4086    }
4087}
4088#[rustfmt::skip]
4089static ITEM_NAME_VALUES: [&str; 1506] = ["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.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.gold_block","block.minecraft.diamond_block","block.minecraft.netherite_block","block.minecraft.exposed_copper","block.minecraft.weathered_copper","block.minecraft.oxidized_copper","block.minecraft.chiseled_copper","block.minecraft.exposed_chiseled_copper","block.minecraft.weathered_chiseled_copper","block.minecraft.oxidized_chiseled_copper","block.minecraft.cut_copper","block.minecraft.exposed_cut_copper","block.minecraft.weathered_cut_copper","block.minecraft.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.cut_copper_slab","block.minecraft.exposed_cut_copper_slab","block.minecraft.weathered_cut_copper_slab","block.minecraft.oxidized_cut_copper_slab","block.minecraft.waxed_copper_block","block.minecraft.waxed_exposed_copper","block.minecraft.waxed_weathered_copper","block.minecraft.waxed_oxidized_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.waxed_cut_copper","block.minecraft.waxed_exposed_cut_copper","block.minecraft.waxed_weathered_cut_copper","block.minecraft.waxed_oxidized_cut_copper","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.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.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.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_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.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"];
4090impl DefaultableComponent for ItemName {
4091    fn default_for_item(item: ItemKind) -> Option<Self> {
4092        let value = ITEM_NAME_VALUES[item as usize];
4093        Some(ItemName {
4094            name: TranslatableComponent::from(value).into(),
4095        })
4096    }
4097}
4098impl DefaultableComponent for JukeboxPlayable {
4099    fn default_for_item(item: ItemKind) -> Option<Self> {
4100        let value = match item {
4101            ItemKind::MusicDisc11 => {
4102                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4103            }
4104            ItemKind::MusicDisc13 => {
4105                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4106            }
4107            ItemKind::MusicDisc5 => {
4108                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4109            }
4110            ItemKind::MusicDiscBlocks => {
4111                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4112            }
4113            ItemKind::MusicDiscCat => {
4114                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4115            }
4116            ItemKind::MusicDiscChirp => {
4117                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4118            }
4119            ItemKind::MusicDiscCreator => {
4120                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4121            }
4122            ItemKind::MusicDiscCreatorMusicBox => {
4123                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4124            }
4125            ItemKind::MusicDiscFar => {
4126                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4127            }
4128            ItemKind::MusicDiscLavaChicken => {
4129                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4130            }
4131            ItemKind::MusicDiscMall => {
4132                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4133            }
4134            ItemKind::MusicDiscMellohi => {
4135                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4136            }
4137            ItemKind::MusicDiscOtherside => {
4138                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4139            }
4140            ItemKind::MusicDiscPigstep => {
4141                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4142            }
4143            ItemKind::MusicDiscPrecipice => {
4144                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4145            }
4146            ItemKind::MusicDiscRelic => {
4147                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4148            }
4149            ItemKind::MusicDiscStal => {
4150                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4151            }
4152            ItemKind::MusicDiscStrad => {
4153                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4154            }
4155            ItemKind::MusicDiscTears => {
4156                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4157            }
4158            ItemKind::MusicDiscWait => {
4159                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4160            }
4161            ItemKind::MusicDiscWard => {
4162                azalea_registry::Holder::Reference(azalea_registry::data::JukeboxSong::new_raw(0))
4163            }
4164            _ => return None,
4165        };
4166        Some(JukeboxPlayable { value: value })
4167    }
4168}
4169impl DefaultableComponent for KineticWeapon {
4170    fn default_for_item(item: ItemKind) -> Option<Self> {
4171        let value = match item {
4172            ItemKind::CopperSpear => KineticWeapon {
4173                damage_conditions: Some(KineticWeaponCondition {
4174                    max_duration_ticks: 250,
4175                    min_relative_speed: 4.6,
4176                    ..KineticWeaponCondition::new()
4177                }),
4178                damage_multiplier: 0.82,
4179                delay_ticks: 13,
4180                dismount_conditions: Some(KineticWeaponCondition {
4181                    max_duration_ticks: 80,
4182                    min_speed: 12.0,
4183                    ..KineticWeaponCondition::new()
4184                }),
4185                forward_movement: 0.38,
4186                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4187                knockback_conditions: Some(KineticWeaponCondition {
4188                    max_duration_ticks: 165,
4189                    min_speed: 5.1,
4190                    ..KineticWeaponCondition::new()
4191                }),
4192                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4193                ..KineticWeapon::new()
4194            },
4195            ItemKind::DiamondSpear => KineticWeapon {
4196                damage_conditions: Some(KineticWeaponCondition {
4197                    max_duration_ticks: 200,
4198                    min_relative_speed: 4.6,
4199                    ..KineticWeaponCondition::new()
4200                }),
4201                damage_multiplier: 1.075,
4202                delay_ticks: 10,
4203                dismount_conditions: Some(KineticWeaponCondition {
4204                    max_duration_ticks: 60,
4205                    min_speed: 10.0,
4206                    ..KineticWeaponCondition::new()
4207                }),
4208                forward_movement: 0.38,
4209                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4210                knockback_conditions: Some(KineticWeaponCondition {
4211                    max_duration_ticks: 130,
4212                    min_speed: 5.1,
4213                    ..KineticWeaponCondition::new()
4214                }),
4215                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4216                ..KineticWeapon::new()
4217            },
4218            ItemKind::GoldenSpear => KineticWeapon {
4219                damage_conditions: Some(KineticWeaponCondition {
4220                    max_duration_ticks: 275,
4221                    min_relative_speed: 4.6,
4222                    ..KineticWeaponCondition::new()
4223                }),
4224                damage_multiplier: 0.7,
4225                delay_ticks: 14,
4226                dismount_conditions: Some(KineticWeaponCondition {
4227                    max_duration_ticks: 70,
4228                    min_speed: 13.0,
4229                    ..KineticWeaponCondition::new()
4230                }),
4231                forward_movement: 0.38,
4232                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4233                knockback_conditions: Some(KineticWeaponCondition {
4234                    max_duration_ticks: 170,
4235                    min_speed: 5.1,
4236                    ..KineticWeaponCondition::new()
4237                }),
4238                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4239                ..KineticWeapon::new()
4240            },
4241            ItemKind::IronSpear => KineticWeapon {
4242                damage_conditions: Some(KineticWeaponCondition {
4243                    max_duration_ticks: 225,
4244                    min_relative_speed: 4.6,
4245                    ..KineticWeaponCondition::new()
4246                }),
4247                damage_multiplier: 0.95,
4248                delay_ticks: 12,
4249                dismount_conditions: Some(KineticWeaponCondition {
4250                    max_duration_ticks: 50,
4251                    min_speed: 11.0,
4252                    ..KineticWeaponCondition::new()
4253                }),
4254                forward_movement: 0.38,
4255                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4256                knockback_conditions: Some(KineticWeaponCondition {
4257                    max_duration_ticks: 135,
4258                    min_speed: 5.1,
4259                    ..KineticWeaponCondition::new()
4260                }),
4261                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4262                ..KineticWeapon::new()
4263            },
4264            ItemKind::NetheriteSpear => KineticWeapon {
4265                damage_conditions: Some(KineticWeaponCondition {
4266                    max_duration_ticks: 175,
4267                    min_relative_speed: 4.6,
4268                    ..KineticWeaponCondition::new()
4269                }),
4270                damage_multiplier: 1.2,
4271                delay_ticks: 8,
4272                dismount_conditions: Some(KineticWeaponCondition {
4273                    max_duration_ticks: 50,
4274                    min_speed: 9.0,
4275                    ..KineticWeaponCondition::new()
4276                }),
4277                forward_movement: 0.38,
4278                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4279                knockback_conditions: Some(KineticWeaponCondition {
4280                    max_duration_ticks: 110,
4281                    min_speed: 5.1,
4282                    ..KineticWeaponCondition::new()
4283                }),
4284                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4285                ..KineticWeapon::new()
4286            },
4287            ItemKind::StoneSpear => KineticWeapon {
4288                damage_conditions: Some(KineticWeaponCondition {
4289                    max_duration_ticks: 275,
4290                    min_relative_speed: 4.6,
4291                    ..KineticWeaponCondition::new()
4292                }),
4293                damage_multiplier: 0.82,
4294                delay_ticks: 14,
4295                dismount_conditions: Some(KineticWeaponCondition {
4296                    max_duration_ticks: 90,
4297                    min_speed: 13.0,
4298                    ..KineticWeaponCondition::new()
4299                }),
4300                forward_movement: 0.38,
4301                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4302                knockback_conditions: Some(KineticWeaponCondition {
4303                    max_duration_ticks: 180,
4304                    min_speed: 5.1,
4305                    ..KineticWeaponCondition::new()
4306                }),
4307                sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
4308                ..KineticWeapon::new()
4309            },
4310            ItemKind::WoodenSpear => KineticWeapon {
4311                damage_conditions: Some(KineticWeaponCondition {
4312                    max_duration_ticks: 300,
4313                    min_relative_speed: 4.6,
4314                    ..KineticWeaponCondition::new()
4315                }),
4316                damage_multiplier: 0.7,
4317                delay_ticks: 15,
4318                dismount_conditions: Some(KineticWeaponCondition {
4319                    max_duration_ticks: 100,
4320                    min_speed: 14.0,
4321                    ..KineticWeaponCondition::new()
4322                }),
4323                forward_movement: 0.38,
4324                hit_sound: Some(azalea_registry::Holder::Reference(
4325                    SoundEvent::ItemSpearWoodHit,
4326                )),
4327                knockback_conditions: Some(KineticWeaponCondition {
4328                    max_duration_ticks: 200,
4329                    min_speed: 5.1,
4330                    ..KineticWeaponCondition::new()
4331                }),
4332                sound: Some(azalea_registry::Holder::Reference(
4333                    SoundEvent::ItemSpearWoodUse,
4334                )),
4335                ..KineticWeapon::new()
4336            },
4337            _ => return None,
4338        };
4339        Some(value)
4340    }
4341}
4342impl DefaultableComponent for Lore {
4343    fn default_for_item(_item: ItemKind) -> Option<Self> {
4344        Some(Lore { lines: vec![] })
4345    }
4346}
4347impl DefaultableComponent for MapColor {
4348    fn default_for_item(item: ItemKind) -> Option<Self> {
4349        let value = match item {
4350            ItemKind::FilledMap => 4603950,
4351            _ => return None,
4352        };
4353        Some(MapColor { color: value })
4354    }
4355}
4356impl DefaultableComponent for MapDecorations {
4357    fn default_for_item(item: ItemKind) -> Option<Self> {
4358        let value = match item {
4359            ItemKind::FilledMap => NbtCompound::from_values(vec![]),
4360            _ => return None,
4361        };
4362        Some(MapDecorations { decorations: value })
4363    }
4364}
4365impl DefaultableComponent for MaxDamage {
4366    fn default_for_item(item: ItemKind) -> Option<Self> {
4367        let value = match item {
4368            ItemKind::Bow => 384,
4369            ItemKind::Brush => 64,
4370            ItemKind::CarrotOnAStick => 25,
4371            ItemKind::ChainmailBoots => 195,
4372            ItemKind::ChainmailChestplate => 240,
4373            ItemKind::ChainmailHelmet => 165,
4374            ItemKind::ChainmailLeggings => 225,
4375            ItemKind::CopperAxe => 190,
4376            ItemKind::CopperBoots => 143,
4377            ItemKind::CopperChestplate => 176,
4378            ItemKind::CopperHelmet => 121,
4379            ItemKind::CopperHoe => 190,
4380            ItemKind::CopperLeggings => 165,
4381            ItemKind::CopperPickaxe => 190,
4382            ItemKind::CopperShovel => 190,
4383            ItemKind::CopperSpear => 190,
4384            ItemKind::CopperSword => 190,
4385            ItemKind::Crossbow => 465,
4386            ItemKind::DiamondAxe => 1561,
4387            ItemKind::DiamondBoots => 429,
4388            ItemKind::DiamondChestplate => 528,
4389            ItemKind::DiamondHelmet => 363,
4390            ItemKind::DiamondHoe => 1561,
4391            ItemKind::DiamondLeggings => 495,
4392            ItemKind::DiamondPickaxe => 1561,
4393            ItemKind::DiamondShovel => 1561,
4394            ItemKind::DiamondSpear => 1561,
4395            ItemKind::DiamondSword => 1561,
4396            ItemKind::Elytra => 432,
4397            ItemKind::FishingRod => 64,
4398            ItemKind::FlintAndSteel => 64,
4399            ItemKind::GoldenAxe => 32,
4400            ItemKind::GoldenBoots => 91,
4401            ItemKind::GoldenChestplate => 112,
4402            ItemKind::GoldenHelmet => 77,
4403            ItemKind::GoldenHoe => 32,
4404            ItemKind::GoldenLeggings => 105,
4405            ItemKind::GoldenPickaxe => 32,
4406            ItemKind::GoldenShovel => 32,
4407            ItemKind::GoldenSpear => 32,
4408            ItemKind::GoldenSword => 32,
4409            ItemKind::IronAxe => 250,
4410            ItemKind::IronBoots => 195,
4411            ItemKind::IronChestplate => 240,
4412            ItemKind::IronHelmet => 165,
4413            ItemKind::IronHoe => 250,
4414            ItemKind::IronLeggings => 225,
4415            ItemKind::IronPickaxe => 250,
4416            ItemKind::IronShovel => 250,
4417            ItemKind::IronSpear => 250,
4418            ItemKind::IronSword => 250,
4419            ItemKind::LeatherBoots => 65,
4420            ItemKind::LeatherChestplate => 80,
4421            ItemKind::LeatherHelmet => 55,
4422            ItemKind::LeatherLeggings => 75,
4423            ItemKind::Mace => 500,
4424            ItemKind::NetheriteAxe => 2031,
4425            ItemKind::NetheriteBoots => 481,
4426            ItemKind::NetheriteChestplate => 592,
4427            ItemKind::NetheriteHelmet => 407,
4428            ItemKind::NetheriteHoe => 2031,
4429            ItemKind::NetheriteLeggings => 555,
4430            ItemKind::NetheritePickaxe => 2031,
4431            ItemKind::NetheriteShovel => 2031,
4432            ItemKind::NetheriteSpear => 2031,
4433            ItemKind::NetheriteSword => 2031,
4434            ItemKind::Shears => 238,
4435            ItemKind::Shield => 336,
4436            ItemKind::StoneAxe => 131,
4437            ItemKind::StoneHoe => 131,
4438            ItemKind::StonePickaxe => 131,
4439            ItemKind::StoneShovel => 131,
4440            ItemKind::StoneSpear => 131,
4441            ItemKind::StoneSword => 131,
4442            ItemKind::Trident => 250,
4443            ItemKind::TurtleHelmet => 275,
4444            ItemKind::WarpedFungusOnAStick => 100,
4445            ItemKind::WolfArmor => 64,
4446            ItemKind::WoodenAxe => 59,
4447            ItemKind::WoodenHoe => 59,
4448            ItemKind::WoodenPickaxe => 59,
4449            ItemKind::WoodenShovel => 59,
4450            ItemKind::WoodenSpear => 59,
4451            ItemKind::WoodenSword => 59,
4452            _ => return None,
4453        };
4454        Some(MaxDamage { amount: value })
4455    }
4456}
4457#[rustfmt::skip]
4458static MAX_STACK_SIZE_VALUES: [i32; 1506] = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,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,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,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,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,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];
4459impl DefaultableComponent for MaxStackSize {
4460    fn default_for_item(item: ItemKind) -> Option<Self> {
4461        let value = MAX_STACK_SIZE_VALUES[item as usize];
4462        Some(MaxStackSize { count: value })
4463    }
4464}
4465impl DefaultableComponent for MinimumAttackCharge {
4466    fn default_for_item(item: ItemKind) -> Option<Self> {
4467        let value = match item {
4468            ItemKind::CopperSpear => 1.0,
4469            ItemKind::DiamondSpear => 1.0,
4470            ItemKind::GoldenSpear => 1.0,
4471            ItemKind::IronSpear => 1.0,
4472            ItemKind::NetheriteSpear => 1.0,
4473            ItemKind::StoneSpear => 1.0,
4474            ItemKind::WoodenSpear => 1.0,
4475            _ => return None,
4476        };
4477        Some(MinimumAttackCharge { value: value })
4478    }
4479}
4480impl DefaultableComponent for OminousBottleAmplifier {
4481    fn default_for_item(item: ItemKind) -> Option<Self> {
4482        let value = match item {
4483            ItemKind::OminousBottle => 0,
4484            _ => return None,
4485        };
4486        Some(OminousBottleAmplifier { amplifier: value })
4487    }
4488}
4489impl DefaultableComponent for PiercingWeapon {
4490    fn default_for_item(item: ItemKind) -> Option<Self> {
4491        let value = match item {
4492            ItemKind::CopperSpear => PiercingWeapon {
4493                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4494                sound: Some(azalea_registry::Holder::Reference(
4495                    SoundEvent::ItemSpearAttack,
4496                )),
4497                ..PiercingWeapon::new()
4498            },
4499            ItemKind::DiamondSpear => PiercingWeapon {
4500                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4501                sound: Some(azalea_registry::Holder::Reference(
4502                    SoundEvent::ItemSpearAttack,
4503                )),
4504                ..PiercingWeapon::new()
4505            },
4506            ItemKind::GoldenSpear => PiercingWeapon {
4507                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4508                sound: Some(azalea_registry::Holder::Reference(
4509                    SoundEvent::ItemSpearAttack,
4510                )),
4511                ..PiercingWeapon::new()
4512            },
4513            ItemKind::IronSpear => PiercingWeapon {
4514                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4515                sound: Some(azalea_registry::Holder::Reference(
4516                    SoundEvent::ItemSpearAttack,
4517                )),
4518                ..PiercingWeapon::new()
4519            },
4520            ItemKind::NetheriteSpear => PiercingWeapon {
4521                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4522                sound: Some(azalea_registry::Holder::Reference(
4523                    SoundEvent::ItemSpearAttack,
4524                )),
4525                ..PiercingWeapon::new()
4526            },
4527            ItemKind::StoneSpear => PiercingWeapon {
4528                hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
4529                sound: Some(azalea_registry::Holder::Reference(
4530                    SoundEvent::ItemSpearAttack,
4531                )),
4532                ..PiercingWeapon::new()
4533            },
4534            ItemKind::WoodenSpear => PiercingWeapon {
4535                hit_sound: Some(azalea_registry::Holder::Reference(
4536                    SoundEvent::ItemSpearWoodHit,
4537                )),
4538                sound: Some(azalea_registry::Holder::Reference(
4539                    SoundEvent::ItemSpearWoodAttack,
4540                )),
4541                ..PiercingWeapon::new()
4542            },
4543            _ => return None,
4544        };
4545        Some(value)
4546    }
4547}
4548impl DefaultableComponent for PotDecorations {
4549    fn default_for_item(item: ItemKind) -> Option<Self> {
4550        let value = match item {
4551            ItemKind::DecoratedPot => vec![
4552                ItemKind::Brick,
4553                ItemKind::Brick,
4554                ItemKind::Brick,
4555                ItemKind::Brick,
4556            ],
4557            _ => return None,
4558        };
4559        Some(PotDecorations { items: value })
4560    }
4561}
4562impl DefaultableComponent for PotionContents {
4563    fn default_for_item(item: ItemKind) -> Option<Self> {
4564        let value = match item {
4565            ItemKind::LingeringPotion => PotionContents::new(),
4566            ItemKind::Potion => PotionContents::new(),
4567            ItemKind::SplashPotion => PotionContents::new(),
4568            ItemKind::TippedArrow => PotionContents::new(),
4569            _ => return None,
4570        };
4571        Some(value)
4572    }
4573}
4574impl DefaultableComponent for PotionDurationScale {
4575    fn default_for_item(item: ItemKind) -> Option<Self> {
4576        let value = match item {
4577            ItemKind::LingeringPotion => 0.25,
4578            ItemKind::TippedArrow => 0.125,
4579            _ => return None,
4580        };
4581        Some(PotionDurationScale { value: value })
4582    }
4583}
4584impl DefaultableComponent for ProvidesBannerPatterns {
4585    fn default_for_item(item: ItemKind) -> Option<Self> {
4586        let value = match item {
4587            ItemKind::BordureIndentedBannerPattern => HolderSet::Direct { contents: vec![] },
4588            ItemKind::CreeperBannerPattern => HolderSet::Direct { contents: vec![] },
4589            ItemKind::FieldMasonedBannerPattern => HolderSet::Direct { contents: vec![] },
4590            ItemKind::FlowBannerPattern => HolderSet::Direct { contents: vec![] },
4591            ItemKind::FlowerBannerPattern => HolderSet::Direct { contents: vec![] },
4592            ItemKind::GlobeBannerPattern => HolderSet::Direct { contents: vec![] },
4593            ItemKind::GusterBannerPattern => HolderSet::Direct { contents: vec![] },
4594            ItemKind::MojangBannerPattern => HolderSet::Direct { contents: vec![] },
4595            ItemKind::PiglinBannerPattern => HolderSet::Direct { contents: vec![] },
4596            ItemKind::SkullBannerPattern => HolderSet::Direct { contents: vec![] },
4597            _ => return None,
4598        };
4599        Some(ProvidesBannerPatterns { key: value })
4600    }
4601}
4602impl DefaultableComponent for ProvidesTrimMaterial {
4603    fn default_for_item(item: ItemKind) -> Option<Self> {
4604        let value = match item {
4605            ItemKind::AmethystShard => {
4606                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4607            }
4608            ItemKind::CopperIngot => {
4609                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4610            }
4611            ItemKind::Diamond => {
4612                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4613            }
4614            ItemKind::Emerald => {
4615                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4616            }
4617            ItemKind::GoldIngot => {
4618                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4619            }
4620            ItemKind::IronIngot => {
4621                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4622            }
4623            ItemKind::LapisLazuli => {
4624                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4625            }
4626            ItemKind::NetheriteIngot => {
4627                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4628            }
4629            ItemKind::Quartz => {
4630                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4631            }
4632            ItemKind::Redstone => {
4633                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4634            }
4635            ItemKind::ResinBrick => {
4636                azalea_registry::Holder::Reference(azalea_registry::data::TrimMaterial::new_raw(0))
4637            }
4638            _ => return None,
4639        };
4640        Some(ProvidesTrimMaterial { value: value })
4641    }
4642}
4643impl DefaultableComponent for Rarity {
4644    fn default_for_item(item: ItemKind) -> Option<Self> {
4645        let value = match item {
4646            ItemKind::AnglerPotterySherd => Rarity::Uncommon,
4647            ItemKind::ArcherPotterySherd => Rarity::Uncommon,
4648            ItemKind::ArmsUpPotterySherd => Rarity::Uncommon,
4649            ItemKind::Barrier => Rarity::Epic,
4650            ItemKind::Beacon => Rarity::Rare,
4651            ItemKind::BladePotterySherd => Rarity::Uncommon,
4652            ItemKind::BoltArmorTrimSmithingTemplate => Rarity::Uncommon,
4653            ItemKind::BrewerPotterySherd => Rarity::Uncommon,
4654            ItemKind::BurnPotterySherd => Rarity::Uncommon,
4655            ItemKind::ChainCommandBlock => Rarity::Epic,
4656            ItemKind::ChainmailBoots => Rarity::Uncommon,
4657            ItemKind::ChainmailChestplate => Rarity::Uncommon,
4658            ItemKind::ChainmailHelmet => Rarity::Uncommon,
4659            ItemKind::ChainmailLeggings => Rarity::Uncommon,
4660            ItemKind::CoastArmorTrimSmithingTemplate => Rarity::Uncommon,
4661            ItemKind::CommandBlock => Rarity::Epic,
4662            ItemKind::CommandBlockMinecart => Rarity::Epic,
4663            ItemKind::Conduit => Rarity::Uncommon,
4664            ItemKind::CreeperBannerPattern => Rarity::Uncommon,
4665            ItemKind::CreeperHead => Rarity::Uncommon,
4666            ItemKind::DangerPotterySherd => Rarity::Uncommon,
4667            ItemKind::DebugStick => Rarity::Epic,
4668            ItemKind::DiscFragment5 => Rarity::Uncommon,
4669            ItemKind::DragonBreath => Rarity::Uncommon,
4670            ItemKind::DragonEgg => Rarity::Epic,
4671            ItemKind::DragonHead => Rarity::Epic,
4672            ItemKind::DuneArmorTrimSmithingTemplate => Rarity::Uncommon,
4673            ItemKind::EchoShard => Rarity::Uncommon,
4674            ItemKind::Elytra => Rarity::Epic,
4675            ItemKind::EnchantedBook => Rarity::Rare,
4676            ItemKind::EnchantedGoldenApple => Rarity::Rare,
4677            ItemKind::ExperienceBottle => Rarity::Uncommon,
4678            ItemKind::ExplorerPotterySherd => Rarity::Uncommon,
4679            ItemKind::EyeArmorTrimSmithingTemplate => Rarity::Rare,
4680            ItemKind::FlowArmorTrimSmithingTemplate => Rarity::Uncommon,
4681            ItemKind::FlowBannerPattern => Rarity::Rare,
4682            ItemKind::FlowPotterySherd => Rarity::Uncommon,
4683            ItemKind::FriendPotterySherd => Rarity::Uncommon,
4684            ItemKind::GoatHorn => Rarity::Uncommon,
4685            ItemKind::GusterBannerPattern => Rarity::Rare,
4686            ItemKind::GusterPotterySherd => Rarity::Uncommon,
4687            ItemKind::HeartOfTheSea => Rarity::Uncommon,
4688            ItemKind::HeartPotterySherd => Rarity::Uncommon,
4689            ItemKind::HeartbreakPotterySherd => Rarity::Uncommon,
4690            ItemKind::HeavyCore => Rarity::Epic,
4691            ItemKind::HostArmorTrimSmithingTemplate => Rarity::Uncommon,
4692            ItemKind::HowlPotterySherd => Rarity::Uncommon,
4693            ItemKind::Jigsaw => Rarity::Epic,
4694            ItemKind::KnowledgeBook => Rarity::Epic,
4695            ItemKind::Light => Rarity::Epic,
4696            ItemKind::Mace => Rarity::Epic,
4697            ItemKind::MinerPotterySherd => Rarity::Uncommon,
4698            ItemKind::MojangBannerPattern => Rarity::Rare,
4699            ItemKind::MournerPotterySherd => Rarity::Uncommon,
4700            ItemKind::MusicDisc11 => Rarity::Uncommon,
4701            ItemKind::MusicDisc13 => Rarity::Uncommon,
4702            ItemKind::MusicDisc5 => Rarity::Uncommon,
4703            ItemKind::MusicDiscBlocks => Rarity::Uncommon,
4704            ItemKind::MusicDiscCat => Rarity::Uncommon,
4705            ItemKind::MusicDiscChirp => Rarity::Uncommon,
4706            ItemKind::MusicDiscCreator => Rarity::Rare,
4707            ItemKind::MusicDiscCreatorMusicBox => Rarity::Uncommon,
4708            ItemKind::MusicDiscFar => Rarity::Uncommon,
4709            ItemKind::MusicDiscLavaChicken => Rarity::Rare,
4710            ItemKind::MusicDiscMall => Rarity::Uncommon,
4711            ItemKind::MusicDiscMellohi => Rarity::Uncommon,
4712            ItemKind::MusicDiscOtherside => Rarity::Rare,
4713            ItemKind::MusicDiscPigstep => Rarity::Rare,
4714            ItemKind::MusicDiscPrecipice => Rarity::Uncommon,
4715            ItemKind::MusicDiscRelic => Rarity::Uncommon,
4716            ItemKind::MusicDiscStal => Rarity::Uncommon,
4717            ItemKind::MusicDiscStrad => Rarity::Uncommon,
4718            ItemKind::MusicDiscTears => Rarity::Uncommon,
4719            ItemKind::MusicDiscWait => Rarity::Uncommon,
4720            ItemKind::MusicDiscWard => Rarity::Uncommon,
4721            ItemKind::NautilusShell => Rarity::Uncommon,
4722            ItemKind::NetherStar => Rarity::Rare,
4723            ItemKind::NetheriteUpgradeSmithingTemplate => Rarity::Uncommon,
4724            ItemKind::OminousBottle => Rarity::Uncommon,
4725            ItemKind::PiglinBannerPattern => Rarity::Uncommon,
4726            ItemKind::PiglinHead => Rarity::Uncommon,
4727            ItemKind::PlayerHead => Rarity::Uncommon,
4728            ItemKind::PlentyPotterySherd => Rarity::Uncommon,
4729            ItemKind::PrizePotterySherd => Rarity::Uncommon,
4730            ItemKind::RaiserArmorTrimSmithingTemplate => Rarity::Uncommon,
4731            ItemKind::RecoveryCompass => Rarity::Uncommon,
4732            ItemKind::RepeatingCommandBlock => Rarity::Epic,
4733            ItemKind::RibArmorTrimSmithingTemplate => Rarity::Uncommon,
4734            ItemKind::ScrapePotterySherd => Rarity::Uncommon,
4735            ItemKind::SentryArmorTrimSmithingTemplate => Rarity::Uncommon,
4736            ItemKind::ShaperArmorTrimSmithingTemplate => Rarity::Uncommon,
4737            ItemKind::SheafPotterySherd => Rarity::Uncommon,
4738            ItemKind::ShelterPotterySherd => Rarity::Uncommon,
4739            ItemKind::SilenceArmorTrimSmithingTemplate => Rarity::Epic,
4740            ItemKind::SkeletonSkull => Rarity::Uncommon,
4741            ItemKind::SkullBannerPattern => Rarity::Rare,
4742            ItemKind::SkullPotterySherd => Rarity::Uncommon,
4743            ItemKind::SnifferEgg => Rarity::Uncommon,
4744            ItemKind::SnortPotterySherd => Rarity::Uncommon,
4745            ItemKind::SnoutArmorTrimSmithingTemplate => Rarity::Uncommon,
4746            ItemKind::SpireArmorTrimSmithingTemplate => Rarity::Rare,
4747            ItemKind::StructureBlock => Rarity::Epic,
4748            ItemKind::StructureVoid => Rarity::Epic,
4749            ItemKind::TestBlock => Rarity::Epic,
4750            ItemKind::TestInstanceBlock => Rarity::Epic,
4751            ItemKind::TideArmorTrimSmithingTemplate => Rarity::Uncommon,
4752            ItemKind::TotemOfUndying => Rarity::Uncommon,
4753            ItemKind::Trident => Rarity::Rare,
4754            ItemKind::VexArmorTrimSmithingTemplate => Rarity::Rare,
4755            ItemKind::WardArmorTrimSmithingTemplate => Rarity::Rare,
4756            ItemKind::WayfinderArmorTrimSmithingTemplate => Rarity::Uncommon,
4757            ItemKind::WildArmorTrimSmithingTemplate => Rarity::Uncommon,
4758            ItemKind::WitherSkeletonSkull => Rarity::Rare,
4759            ItemKind::ZombieHead => Rarity::Uncommon,
4760            _ => Rarity::Common,
4761        };
4762        Some(value)
4763    }
4764}
4765impl DefaultableComponent for Recipes {
4766    fn default_for_item(item: ItemKind) -> Option<Self> {
4767        let value = match item {
4768            ItemKind::KnowledgeBook => vec![],
4769            _ => return None,
4770        };
4771        Some(Recipes { recipes: value })
4772    }
4773}
4774impl DefaultableComponent for RepairCost {
4775    fn default_for_item(_item: ItemKind) -> Option<Self> {
4776        Some(RepairCost { cost: 0 })
4777    }
4778}
4779impl DefaultableComponent for Repairable {
4780    fn default_for_item(item: ItemKind) -> Option<Self> {
4781        let value = match item {
4782            ItemKind::ChainmailBoots => HolderSet::Direct {
4783                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4784                    .clone()
4785                    .into_iter()
4786                    .collect(),
4787            },
4788            ItemKind::ChainmailChestplate => HolderSet::Direct {
4789                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4790                    .clone()
4791                    .into_iter()
4792                    .collect(),
4793            },
4794            ItemKind::ChainmailHelmet => HolderSet::Direct {
4795                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4796                    .clone()
4797                    .into_iter()
4798                    .collect(),
4799            },
4800            ItemKind::ChainmailLeggings => HolderSet::Direct {
4801                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
4802                    .clone()
4803                    .into_iter()
4804                    .collect(),
4805            },
4806            ItemKind::CopperAxe => HolderSet::Direct {
4807                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4808                    .clone()
4809                    .into_iter()
4810                    .collect(),
4811            },
4812            ItemKind::CopperBoots => HolderSet::Direct {
4813                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4814                    .clone()
4815                    .into_iter()
4816                    .collect(),
4817            },
4818            ItemKind::CopperChestplate => HolderSet::Direct {
4819                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4820                    .clone()
4821                    .into_iter()
4822                    .collect(),
4823            },
4824            ItemKind::CopperHelmet => HolderSet::Direct {
4825                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4826                    .clone()
4827                    .into_iter()
4828                    .collect(),
4829            },
4830            ItemKind::CopperHoe => HolderSet::Direct {
4831                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4832                    .clone()
4833                    .into_iter()
4834                    .collect(),
4835            },
4836            ItemKind::CopperLeggings => HolderSet::Direct {
4837                contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
4838                    .clone()
4839                    .into_iter()
4840                    .collect(),
4841            },
4842            ItemKind::CopperPickaxe => HolderSet::Direct {
4843                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4844                    .clone()
4845                    .into_iter()
4846                    .collect(),
4847            },
4848            ItemKind::CopperShovel => HolderSet::Direct {
4849                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4850                    .clone()
4851                    .into_iter()
4852                    .collect(),
4853            },
4854            ItemKind::CopperSpear => HolderSet::Direct {
4855                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4856                    .clone()
4857                    .into_iter()
4858                    .collect(),
4859            },
4860            ItemKind::CopperSword => HolderSet::Direct {
4861                contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
4862                    .clone()
4863                    .into_iter()
4864                    .collect(),
4865            },
4866            ItemKind::DiamondAxe => HolderSet::Direct {
4867                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4868                    .clone()
4869                    .into_iter()
4870                    .collect(),
4871            },
4872            ItemKind::DiamondBoots => HolderSet::Direct {
4873                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4874                    .clone()
4875                    .into_iter()
4876                    .collect(),
4877            },
4878            ItemKind::DiamondChestplate => HolderSet::Direct {
4879                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4880                    .clone()
4881                    .into_iter()
4882                    .collect(),
4883            },
4884            ItemKind::DiamondHelmet => HolderSet::Direct {
4885                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4886                    .clone()
4887                    .into_iter()
4888                    .collect(),
4889            },
4890            ItemKind::DiamondHoe => HolderSet::Direct {
4891                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4892                    .clone()
4893                    .into_iter()
4894                    .collect(),
4895            },
4896            ItemKind::DiamondLeggings => HolderSet::Direct {
4897                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
4898                    .clone()
4899                    .into_iter()
4900                    .collect(),
4901            },
4902            ItemKind::DiamondPickaxe => HolderSet::Direct {
4903                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4904                    .clone()
4905                    .into_iter()
4906                    .collect(),
4907            },
4908            ItemKind::DiamondShovel => HolderSet::Direct {
4909                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4910                    .clone()
4911                    .into_iter()
4912                    .collect(),
4913            },
4914            ItemKind::DiamondSpear => HolderSet::Direct {
4915                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4916                    .clone()
4917                    .into_iter()
4918                    .collect(),
4919            },
4920            ItemKind::DiamondSword => HolderSet::Direct {
4921                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
4922                    .clone()
4923                    .into_iter()
4924                    .collect(),
4925            },
4926            ItemKind::Elytra => HolderSet::Direct {
4927                contents: vec![ItemKind::PhantomMembrane],
4928            },
4929            ItemKind::GoldenAxe => HolderSet::Direct {
4930                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4931                    .clone()
4932                    .into_iter()
4933                    .collect(),
4934            },
4935            ItemKind::GoldenBoots => HolderSet::Direct {
4936                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4937                    .clone()
4938                    .into_iter()
4939                    .collect(),
4940            },
4941            ItemKind::GoldenChestplate => HolderSet::Direct {
4942                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4943                    .clone()
4944                    .into_iter()
4945                    .collect(),
4946            },
4947            ItemKind::GoldenHelmet => HolderSet::Direct {
4948                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4949                    .clone()
4950                    .into_iter()
4951                    .collect(),
4952            },
4953            ItemKind::GoldenHoe => HolderSet::Direct {
4954                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4955                    .clone()
4956                    .into_iter()
4957                    .collect(),
4958            },
4959            ItemKind::GoldenLeggings => HolderSet::Direct {
4960                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
4961                    .clone()
4962                    .into_iter()
4963                    .collect(),
4964            },
4965            ItemKind::GoldenPickaxe => HolderSet::Direct {
4966                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4967                    .clone()
4968                    .into_iter()
4969                    .collect(),
4970            },
4971            ItemKind::GoldenShovel => HolderSet::Direct {
4972                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4973                    .clone()
4974                    .into_iter()
4975                    .collect(),
4976            },
4977            ItemKind::GoldenSpear => HolderSet::Direct {
4978                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4979                    .clone()
4980                    .into_iter()
4981                    .collect(),
4982            },
4983            ItemKind::GoldenSword => HolderSet::Direct {
4984                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
4985                    .clone()
4986                    .into_iter()
4987                    .collect(),
4988            },
4989            ItemKind::IronAxe => HolderSet::Direct {
4990                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
4991                    .clone()
4992                    .into_iter()
4993                    .collect(),
4994            },
4995            ItemKind::IronBoots => HolderSet::Direct {
4996                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
4997                    .clone()
4998                    .into_iter()
4999                    .collect(),
5000            },
5001            ItemKind::IronChestplate => HolderSet::Direct {
5002                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5003                    .clone()
5004                    .into_iter()
5005                    .collect(),
5006            },
5007            ItemKind::IronHelmet => HolderSet::Direct {
5008                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5009                    .clone()
5010                    .into_iter()
5011                    .collect(),
5012            },
5013            ItemKind::IronHoe => HolderSet::Direct {
5014                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5015                    .clone()
5016                    .into_iter()
5017                    .collect(),
5018            },
5019            ItemKind::IronLeggings => HolderSet::Direct {
5020                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
5021                    .clone()
5022                    .into_iter()
5023                    .collect(),
5024            },
5025            ItemKind::IronPickaxe => HolderSet::Direct {
5026                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5027                    .clone()
5028                    .into_iter()
5029                    .collect(),
5030            },
5031            ItemKind::IronShovel => HolderSet::Direct {
5032                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5033                    .clone()
5034                    .into_iter()
5035                    .collect(),
5036            },
5037            ItemKind::IronSpear => HolderSet::Direct {
5038                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5039                    .clone()
5040                    .into_iter()
5041                    .collect(),
5042            },
5043            ItemKind::IronSword => HolderSet::Direct {
5044                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
5045                    .clone()
5046                    .into_iter()
5047                    .collect(),
5048            },
5049            ItemKind::LeatherBoots => HolderSet::Direct {
5050                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5051                    .clone()
5052                    .into_iter()
5053                    .collect(),
5054            },
5055            ItemKind::LeatherChestplate => HolderSet::Direct {
5056                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5057                    .clone()
5058                    .into_iter()
5059                    .collect(),
5060            },
5061            ItemKind::LeatherHelmet => HolderSet::Direct {
5062                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5063                    .clone()
5064                    .into_iter()
5065                    .collect(),
5066            },
5067            ItemKind::LeatherLeggings => HolderSet::Direct {
5068                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
5069                    .clone()
5070                    .into_iter()
5071                    .collect(),
5072            },
5073            ItemKind::Mace => HolderSet::Direct {
5074                contents: vec![ItemKind::BreezeRod],
5075            },
5076            ItemKind::NetheriteAxe => HolderSet::Direct {
5077                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5078                    .clone()
5079                    .into_iter()
5080                    .collect(),
5081            },
5082            ItemKind::NetheriteBoots => HolderSet::Direct {
5083                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5084                    .clone()
5085                    .into_iter()
5086                    .collect(),
5087            },
5088            ItemKind::NetheriteChestplate => HolderSet::Direct {
5089                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5090                    .clone()
5091                    .into_iter()
5092                    .collect(),
5093            },
5094            ItemKind::NetheriteHelmet => HolderSet::Direct {
5095                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5096                    .clone()
5097                    .into_iter()
5098                    .collect(),
5099            },
5100            ItemKind::NetheriteHoe => HolderSet::Direct {
5101                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5102                    .clone()
5103                    .into_iter()
5104                    .collect(),
5105            },
5106            ItemKind::NetheriteLeggings => HolderSet::Direct {
5107                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
5108                    .clone()
5109                    .into_iter()
5110                    .collect(),
5111            },
5112            ItemKind::NetheritePickaxe => HolderSet::Direct {
5113                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5114                    .clone()
5115                    .into_iter()
5116                    .collect(),
5117            },
5118            ItemKind::NetheriteShovel => HolderSet::Direct {
5119                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5120                    .clone()
5121                    .into_iter()
5122                    .collect(),
5123            },
5124            ItemKind::NetheriteSpear => HolderSet::Direct {
5125                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5126                    .clone()
5127                    .into_iter()
5128                    .collect(),
5129            },
5130            ItemKind::NetheriteSword => HolderSet::Direct {
5131                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
5132                    .clone()
5133                    .into_iter()
5134                    .collect(),
5135            },
5136            ItemKind::Shield => HolderSet::Direct {
5137                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5138                    .clone()
5139                    .into_iter()
5140                    .collect(),
5141            },
5142            ItemKind::StoneAxe => HolderSet::Direct {
5143                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5144                    .clone()
5145                    .into_iter()
5146                    .collect(),
5147            },
5148            ItemKind::StoneHoe => HolderSet::Direct {
5149                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5150                    .clone()
5151                    .into_iter()
5152                    .collect(),
5153            },
5154            ItemKind::StonePickaxe => HolderSet::Direct {
5155                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5156                    .clone()
5157                    .into_iter()
5158                    .collect(),
5159            },
5160            ItemKind::StoneShovel => HolderSet::Direct {
5161                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5162                    .clone()
5163                    .into_iter()
5164                    .collect(),
5165            },
5166            ItemKind::StoneSpear => HolderSet::Direct {
5167                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5168                    .clone()
5169                    .into_iter()
5170                    .collect(),
5171            },
5172            ItemKind::StoneSword => HolderSet::Direct {
5173                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
5174                    .clone()
5175                    .into_iter()
5176                    .collect(),
5177            },
5178            ItemKind::TurtleHelmet => HolderSet::Direct {
5179                contents: azalea_registry::tags::items::REPAIRS_TURTLE_HELMET
5180                    .clone()
5181                    .into_iter()
5182                    .collect(),
5183            },
5184            ItemKind::WolfArmor => HolderSet::Direct {
5185                contents: azalea_registry::tags::items::REPAIRS_WOLF_ARMOR
5186                    .clone()
5187                    .into_iter()
5188                    .collect(),
5189            },
5190            ItemKind::WoodenAxe => HolderSet::Direct {
5191                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5192                    .clone()
5193                    .into_iter()
5194                    .collect(),
5195            },
5196            ItemKind::WoodenHoe => HolderSet::Direct {
5197                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5198                    .clone()
5199                    .into_iter()
5200                    .collect(),
5201            },
5202            ItemKind::WoodenPickaxe => HolderSet::Direct {
5203                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5204                    .clone()
5205                    .into_iter()
5206                    .collect(),
5207            },
5208            ItemKind::WoodenShovel => HolderSet::Direct {
5209                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5210                    .clone()
5211                    .into_iter()
5212                    .collect(),
5213            },
5214            ItemKind::WoodenSpear => HolderSet::Direct {
5215                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5216                    .clone()
5217                    .into_iter()
5218                    .collect(),
5219            },
5220            ItemKind::WoodenSword => HolderSet::Direct {
5221                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
5222                    .clone()
5223                    .into_iter()
5224                    .collect(),
5225            },
5226            _ => return None,
5227        };
5228        Some(Repairable { items: value })
5229    }
5230}
5231impl DefaultableComponent for StoredEnchantments {
5232    fn default_for_item(item: ItemKind) -> Option<Self> {
5233        let value = match item {
5234            ItemKind::EnchantedBook => HashMap::from_iter([]),
5235            _ => return None,
5236        };
5237        Some(StoredEnchantments {
5238            enchantments: value,
5239        })
5240    }
5241}
5242impl DefaultableComponent for SuspiciousStewEffects {
5243    fn default_for_item(item: ItemKind) -> Option<Self> {
5244        let value = match item {
5245            ItemKind::SuspiciousStew => vec![],
5246            _ => return None,
5247        };
5248        Some(SuspiciousStewEffects { effects: value })
5249    }
5250}
5251impl DefaultableComponent for SwingAnimation {
5252    fn default_for_item(item: ItemKind) -> Option<Self> {
5253        let value = match item {
5254            ItemKind::CopperSpear => SwingAnimation {
5255                kind: SwingAnimationKind::Stab,
5256                duration: 17,
5257            },
5258            ItemKind::DiamondSpear => SwingAnimation {
5259                kind: SwingAnimationKind::Stab,
5260                duration: 21,
5261            },
5262            ItemKind::GoldenSpear => SwingAnimation {
5263                kind: SwingAnimationKind::Stab,
5264                duration: 19,
5265            },
5266            ItemKind::IronSpear => SwingAnimation {
5267                kind: SwingAnimationKind::Stab,
5268                duration: 19,
5269            },
5270            ItemKind::NetheriteSpear => SwingAnimation {
5271                kind: SwingAnimationKind::Stab,
5272                duration: 23,
5273            },
5274            ItemKind::StoneSpear => SwingAnimation {
5275                kind: SwingAnimationKind::Stab,
5276                duration: 15,
5277            },
5278            ItemKind::WoodenSpear => SwingAnimation {
5279                kind: SwingAnimationKind::Stab,
5280                duration: 13,
5281            },
5282            _ => SwingAnimation::new(),
5283        };
5284        Some(value)
5285    }
5286}
5287impl DefaultableComponent for Tool {
5288    fn default_for_item(item: ItemKind) -> Option<Self> {
5289        let value = match item {
5290            ItemKind::CopperAxe => Tool {
5291                rules: vec![
5292                    ToolRule {
5293                        blocks: HolderSet::Direct {
5294                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5295                                .clone()
5296                                .into_iter()
5297                                .collect(),
5298                        },
5299                        correct_for_drops: Some(false),
5300                        ..ToolRule::new()
5301                    },
5302                    ToolRule {
5303                        blocks: HolderSet::Direct {
5304                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5305                                .clone()
5306                                .into_iter()
5307                                .collect(),
5308                        },
5309                        correct_for_drops: Some(true),
5310                        speed: Some(5.0),
5311                    },
5312                ],
5313                ..Tool::new()
5314            },
5315            ItemKind::CopperHoe => Tool {
5316                rules: vec![
5317                    ToolRule {
5318                        blocks: HolderSet::Direct {
5319                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5320                                .clone()
5321                                .into_iter()
5322                                .collect(),
5323                        },
5324                        correct_for_drops: Some(false),
5325                        ..ToolRule::new()
5326                    },
5327                    ToolRule {
5328                        blocks: HolderSet::Direct {
5329                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5330                                .clone()
5331                                .into_iter()
5332                                .collect(),
5333                        },
5334                        correct_for_drops: Some(true),
5335                        speed: Some(5.0),
5336                    },
5337                ],
5338                ..Tool::new()
5339            },
5340            ItemKind::CopperPickaxe => Tool {
5341                rules: vec![
5342                    ToolRule {
5343                        blocks: HolderSet::Direct {
5344                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5345                                .clone()
5346                                .into_iter()
5347                                .collect(),
5348                        },
5349                        correct_for_drops: Some(false),
5350                        ..ToolRule::new()
5351                    },
5352                    ToolRule {
5353                        blocks: HolderSet::Direct {
5354                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5355                                .clone()
5356                                .into_iter()
5357                                .collect(),
5358                        },
5359                        correct_for_drops: Some(true),
5360                        speed: Some(5.0),
5361                    },
5362                ],
5363                ..Tool::new()
5364            },
5365            ItemKind::CopperShovel => Tool {
5366                rules: vec![
5367                    ToolRule {
5368                        blocks: HolderSet::Direct {
5369                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
5370                                .clone()
5371                                .into_iter()
5372                                .collect(),
5373                        },
5374                        correct_for_drops: Some(false),
5375                        ..ToolRule::new()
5376                    },
5377                    ToolRule {
5378                        blocks: HolderSet::Direct {
5379                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5380                                .clone()
5381                                .into_iter()
5382                                .collect(),
5383                        },
5384                        correct_for_drops: Some(true),
5385                        speed: Some(5.0),
5386                    },
5387                ],
5388                ..Tool::new()
5389            },
5390            ItemKind::CopperSword => Tool {
5391                can_destroy_blocks_in_creative: false,
5392                damage_per_block: 2,
5393                rules: vec![
5394                    ToolRule {
5395                        blocks: HolderSet::Direct {
5396                            contents: vec![BlockKind::Cobweb],
5397                        },
5398                        correct_for_drops: Some(true),
5399                        speed: Some(15.0),
5400                    },
5401                    ToolRule {
5402                        blocks: HolderSet::Direct {
5403                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5404                                .clone()
5405                                .into_iter()
5406                                .collect(),
5407                        },
5408                        speed: Some(3.4028235e+38),
5409                        ..ToolRule::new()
5410                    },
5411                    ToolRule {
5412                        blocks: HolderSet::Direct {
5413                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5414                                .clone()
5415                                .into_iter()
5416                                .collect(),
5417                        },
5418                        speed: Some(1.5),
5419                        ..ToolRule::new()
5420                    },
5421                ],
5422                ..Tool::new()
5423            },
5424            ItemKind::DiamondAxe => Tool {
5425                rules: vec![
5426                    ToolRule {
5427                        blocks: HolderSet::Direct {
5428                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5429                                .clone()
5430                                .into_iter()
5431                                .collect(),
5432                        },
5433                        correct_for_drops: Some(false),
5434                        ..ToolRule::new()
5435                    },
5436                    ToolRule {
5437                        blocks: HolderSet::Direct {
5438                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5439                                .clone()
5440                                .into_iter()
5441                                .collect(),
5442                        },
5443                        correct_for_drops: Some(true),
5444                        speed: Some(8.0),
5445                    },
5446                ],
5447                ..Tool::new()
5448            },
5449            ItemKind::DiamondHoe => Tool {
5450                rules: vec![
5451                    ToolRule {
5452                        blocks: HolderSet::Direct {
5453                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5454                                .clone()
5455                                .into_iter()
5456                                .collect(),
5457                        },
5458                        correct_for_drops: Some(false),
5459                        ..ToolRule::new()
5460                    },
5461                    ToolRule {
5462                        blocks: HolderSet::Direct {
5463                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5464                                .clone()
5465                                .into_iter()
5466                                .collect(),
5467                        },
5468                        correct_for_drops: Some(true),
5469                        speed: Some(8.0),
5470                    },
5471                ],
5472                ..Tool::new()
5473            },
5474            ItemKind::DiamondPickaxe => Tool {
5475                rules: vec![
5476                    ToolRule {
5477                        blocks: HolderSet::Direct {
5478                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5479                                .clone()
5480                                .into_iter()
5481                                .collect(),
5482                        },
5483                        correct_for_drops: Some(false),
5484                        ..ToolRule::new()
5485                    },
5486                    ToolRule {
5487                        blocks: HolderSet::Direct {
5488                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5489                                .clone()
5490                                .into_iter()
5491                                .collect(),
5492                        },
5493                        correct_for_drops: Some(true),
5494                        speed: Some(8.0),
5495                    },
5496                ],
5497                ..Tool::new()
5498            },
5499            ItemKind::DiamondShovel => Tool {
5500                rules: vec![
5501                    ToolRule {
5502                        blocks: HolderSet::Direct {
5503                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
5504                                .clone()
5505                                .into_iter()
5506                                .collect(),
5507                        },
5508                        correct_for_drops: Some(false),
5509                        ..ToolRule::new()
5510                    },
5511                    ToolRule {
5512                        blocks: HolderSet::Direct {
5513                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5514                                .clone()
5515                                .into_iter()
5516                                .collect(),
5517                        },
5518                        correct_for_drops: Some(true),
5519                        speed: Some(8.0),
5520                    },
5521                ],
5522                ..Tool::new()
5523            },
5524            ItemKind::DiamondSword => Tool {
5525                can_destroy_blocks_in_creative: false,
5526                damage_per_block: 2,
5527                rules: vec![
5528                    ToolRule {
5529                        blocks: HolderSet::Direct {
5530                            contents: vec![BlockKind::Cobweb],
5531                        },
5532                        correct_for_drops: Some(true),
5533                        speed: Some(15.0),
5534                    },
5535                    ToolRule {
5536                        blocks: HolderSet::Direct {
5537                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5538                                .clone()
5539                                .into_iter()
5540                                .collect(),
5541                        },
5542                        speed: Some(3.4028235e+38),
5543                        ..ToolRule::new()
5544                    },
5545                    ToolRule {
5546                        blocks: HolderSet::Direct {
5547                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5548                                .clone()
5549                                .into_iter()
5550                                .collect(),
5551                        },
5552                        speed: Some(1.5),
5553                        ..ToolRule::new()
5554                    },
5555                ],
5556                ..Tool::new()
5557            },
5558            ItemKind::GoldenAxe => Tool {
5559                rules: vec![
5560                    ToolRule {
5561                        blocks: HolderSet::Direct {
5562                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5563                                .clone()
5564                                .into_iter()
5565                                .collect(),
5566                        },
5567                        correct_for_drops: Some(false),
5568                        ..ToolRule::new()
5569                    },
5570                    ToolRule {
5571                        blocks: HolderSet::Direct {
5572                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5573                                .clone()
5574                                .into_iter()
5575                                .collect(),
5576                        },
5577                        correct_for_drops: Some(true),
5578                        speed: Some(12.0),
5579                    },
5580                ],
5581                ..Tool::new()
5582            },
5583            ItemKind::GoldenHoe => Tool {
5584                rules: vec![
5585                    ToolRule {
5586                        blocks: HolderSet::Direct {
5587                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5588                                .clone()
5589                                .into_iter()
5590                                .collect(),
5591                        },
5592                        correct_for_drops: Some(false),
5593                        ..ToolRule::new()
5594                    },
5595                    ToolRule {
5596                        blocks: HolderSet::Direct {
5597                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5598                                .clone()
5599                                .into_iter()
5600                                .collect(),
5601                        },
5602                        correct_for_drops: Some(true),
5603                        speed: Some(12.0),
5604                    },
5605                ],
5606                ..Tool::new()
5607            },
5608            ItemKind::GoldenPickaxe => Tool {
5609                rules: vec![
5610                    ToolRule {
5611                        blocks: HolderSet::Direct {
5612                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5613                                .clone()
5614                                .into_iter()
5615                                .collect(),
5616                        },
5617                        correct_for_drops: Some(false),
5618                        ..ToolRule::new()
5619                    },
5620                    ToolRule {
5621                        blocks: HolderSet::Direct {
5622                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5623                                .clone()
5624                                .into_iter()
5625                                .collect(),
5626                        },
5627                        correct_for_drops: Some(true),
5628                        speed: Some(12.0),
5629                    },
5630                ],
5631                ..Tool::new()
5632            },
5633            ItemKind::GoldenShovel => Tool {
5634                rules: vec![
5635                    ToolRule {
5636                        blocks: HolderSet::Direct {
5637                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
5638                                .clone()
5639                                .into_iter()
5640                                .collect(),
5641                        },
5642                        correct_for_drops: Some(false),
5643                        ..ToolRule::new()
5644                    },
5645                    ToolRule {
5646                        blocks: HolderSet::Direct {
5647                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5648                                .clone()
5649                                .into_iter()
5650                                .collect(),
5651                        },
5652                        correct_for_drops: Some(true),
5653                        speed: Some(12.0),
5654                    },
5655                ],
5656                ..Tool::new()
5657            },
5658            ItemKind::GoldenSword => Tool {
5659                can_destroy_blocks_in_creative: false,
5660                damage_per_block: 2,
5661                rules: vec![
5662                    ToolRule {
5663                        blocks: HolderSet::Direct {
5664                            contents: vec![BlockKind::Cobweb],
5665                        },
5666                        correct_for_drops: Some(true),
5667                        speed: Some(15.0),
5668                    },
5669                    ToolRule {
5670                        blocks: HolderSet::Direct {
5671                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5672                                .clone()
5673                                .into_iter()
5674                                .collect(),
5675                        },
5676                        speed: Some(3.4028235e+38),
5677                        ..ToolRule::new()
5678                    },
5679                    ToolRule {
5680                        blocks: HolderSet::Direct {
5681                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5682                                .clone()
5683                                .into_iter()
5684                                .collect(),
5685                        },
5686                        speed: Some(1.5),
5687                        ..ToolRule::new()
5688                    },
5689                ],
5690                ..Tool::new()
5691            },
5692            ItemKind::IronAxe => Tool {
5693                rules: vec![
5694                    ToolRule {
5695                        blocks: HolderSet::Direct {
5696                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5697                                .clone()
5698                                .into_iter()
5699                                .collect(),
5700                        },
5701                        correct_for_drops: Some(false),
5702                        ..ToolRule::new()
5703                    },
5704                    ToolRule {
5705                        blocks: HolderSet::Direct {
5706                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5707                                .clone()
5708                                .into_iter()
5709                                .collect(),
5710                        },
5711                        correct_for_drops: Some(true),
5712                        speed: Some(6.0),
5713                    },
5714                ],
5715                ..Tool::new()
5716            },
5717            ItemKind::IronHoe => Tool {
5718                rules: vec![
5719                    ToolRule {
5720                        blocks: HolderSet::Direct {
5721                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5722                                .clone()
5723                                .into_iter()
5724                                .collect(),
5725                        },
5726                        correct_for_drops: Some(false),
5727                        ..ToolRule::new()
5728                    },
5729                    ToolRule {
5730                        blocks: HolderSet::Direct {
5731                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5732                                .clone()
5733                                .into_iter()
5734                                .collect(),
5735                        },
5736                        correct_for_drops: Some(true),
5737                        speed: Some(6.0),
5738                    },
5739                ],
5740                ..Tool::new()
5741            },
5742            ItemKind::IronPickaxe => Tool {
5743                rules: vec![
5744                    ToolRule {
5745                        blocks: HolderSet::Direct {
5746                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5747                                .clone()
5748                                .into_iter()
5749                                .collect(),
5750                        },
5751                        correct_for_drops: Some(false),
5752                        ..ToolRule::new()
5753                    },
5754                    ToolRule {
5755                        blocks: HolderSet::Direct {
5756                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5757                                .clone()
5758                                .into_iter()
5759                                .collect(),
5760                        },
5761                        correct_for_drops: Some(true),
5762                        speed: Some(6.0),
5763                    },
5764                ],
5765                ..Tool::new()
5766            },
5767            ItemKind::IronShovel => Tool {
5768                rules: vec![
5769                    ToolRule {
5770                        blocks: HolderSet::Direct {
5771                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
5772                                .clone()
5773                                .into_iter()
5774                                .collect(),
5775                        },
5776                        correct_for_drops: Some(false),
5777                        ..ToolRule::new()
5778                    },
5779                    ToolRule {
5780                        blocks: HolderSet::Direct {
5781                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5782                                .clone()
5783                                .into_iter()
5784                                .collect(),
5785                        },
5786                        correct_for_drops: Some(true),
5787                        speed: Some(6.0),
5788                    },
5789                ],
5790                ..Tool::new()
5791            },
5792            ItemKind::IronSword => Tool {
5793                can_destroy_blocks_in_creative: false,
5794                damage_per_block: 2,
5795                rules: vec![
5796                    ToolRule {
5797                        blocks: HolderSet::Direct {
5798                            contents: vec![BlockKind::Cobweb],
5799                        },
5800                        correct_for_drops: Some(true),
5801                        speed: Some(15.0),
5802                    },
5803                    ToolRule {
5804                        blocks: HolderSet::Direct {
5805                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5806                                .clone()
5807                                .into_iter()
5808                                .collect(),
5809                        },
5810                        speed: Some(3.4028235e+38),
5811                        ..ToolRule::new()
5812                    },
5813                    ToolRule {
5814                        blocks: HolderSet::Direct {
5815                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5816                                .clone()
5817                                .into_iter()
5818                                .collect(),
5819                        },
5820                        speed: Some(1.5),
5821                        ..ToolRule::new()
5822                    },
5823                ],
5824                ..Tool::new()
5825            },
5826            ItemKind::Mace => Tool {
5827                can_destroy_blocks_in_creative: false,
5828                damage_per_block: 2,
5829                rules: vec![],
5830                ..Tool::new()
5831            },
5832            ItemKind::NetheriteAxe => Tool {
5833                rules: vec![
5834                    ToolRule {
5835                        blocks: HolderSet::Direct {
5836                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5837                                .clone()
5838                                .into_iter()
5839                                .collect(),
5840                        },
5841                        correct_for_drops: Some(false),
5842                        ..ToolRule::new()
5843                    },
5844                    ToolRule {
5845                        blocks: HolderSet::Direct {
5846                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
5847                                .clone()
5848                                .into_iter()
5849                                .collect(),
5850                        },
5851                        correct_for_drops: Some(true),
5852                        speed: Some(9.0),
5853                    },
5854                ],
5855                ..Tool::new()
5856            },
5857            ItemKind::NetheriteHoe => Tool {
5858                rules: vec![
5859                    ToolRule {
5860                        blocks: HolderSet::Direct {
5861                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5862                                .clone()
5863                                .into_iter()
5864                                .collect(),
5865                        },
5866                        correct_for_drops: Some(false),
5867                        ..ToolRule::new()
5868                    },
5869                    ToolRule {
5870                        blocks: HolderSet::Direct {
5871                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
5872                                .clone()
5873                                .into_iter()
5874                                .collect(),
5875                        },
5876                        correct_for_drops: Some(true),
5877                        speed: Some(9.0),
5878                    },
5879                ],
5880                ..Tool::new()
5881            },
5882            ItemKind::NetheritePickaxe => Tool {
5883                rules: vec![
5884                    ToolRule {
5885                        blocks: HolderSet::Direct {
5886                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5887                                .clone()
5888                                .into_iter()
5889                                .collect(),
5890                        },
5891                        correct_for_drops: Some(false),
5892                        ..ToolRule::new()
5893                    },
5894                    ToolRule {
5895                        blocks: HolderSet::Direct {
5896                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5897                                .clone()
5898                                .into_iter()
5899                                .collect(),
5900                        },
5901                        correct_for_drops: Some(true),
5902                        speed: Some(9.0),
5903                    },
5904                ],
5905                ..Tool::new()
5906            },
5907            ItemKind::NetheriteShovel => Tool {
5908                rules: vec![
5909                    ToolRule {
5910                        blocks: HolderSet::Direct {
5911                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
5912                                .clone()
5913                                .into_iter()
5914                                .collect(),
5915                        },
5916                        correct_for_drops: Some(false),
5917                        ..ToolRule::new()
5918                    },
5919                    ToolRule {
5920                        blocks: HolderSet::Direct {
5921                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5922                                .clone()
5923                                .into_iter()
5924                                .collect(),
5925                        },
5926                        correct_for_drops: Some(true),
5927                        speed: Some(9.0),
5928                    },
5929                ],
5930                ..Tool::new()
5931            },
5932            ItemKind::NetheriteSword => Tool {
5933                can_destroy_blocks_in_creative: false,
5934                damage_per_block: 2,
5935                rules: vec![
5936                    ToolRule {
5937                        blocks: HolderSet::Direct {
5938                            contents: vec![BlockKind::Cobweb],
5939                        },
5940                        correct_for_drops: Some(true),
5941                        speed: Some(15.0),
5942                    },
5943                    ToolRule {
5944                        blocks: HolderSet::Direct {
5945                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5946                                .clone()
5947                                .into_iter()
5948                                .collect(),
5949                        },
5950                        speed: Some(3.4028235e+38),
5951                        ..ToolRule::new()
5952                    },
5953                    ToolRule {
5954                        blocks: HolderSet::Direct {
5955                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5956                                .clone()
5957                                .into_iter()
5958                                .collect(),
5959                        },
5960                        speed: Some(1.5),
5961                        ..ToolRule::new()
5962                    },
5963                ],
5964                ..Tool::new()
5965            },
5966            ItemKind::Shears => Tool {
5967                rules: vec![
5968                    ToolRule {
5969                        blocks: HolderSet::Direct {
5970                            contents: vec![BlockKind::Cobweb],
5971                        },
5972                        correct_for_drops: Some(true),
5973                        speed: Some(15.0),
5974                    },
5975                    ToolRule {
5976                        blocks: HolderSet::Direct {
5977                            contents: azalea_registry::tags::blocks::LEAVES
5978                                .clone()
5979                                .into_iter()
5980                                .collect(),
5981                        },
5982                        speed: Some(15.0),
5983                        ..ToolRule::new()
5984                    },
5985                    ToolRule {
5986                        blocks: HolderSet::Direct {
5987                            contents: azalea_registry::tags::blocks::WOOL
5988                                .clone()
5989                                .into_iter()
5990                                .collect(),
5991                        },
5992                        speed: Some(5.0),
5993                        ..ToolRule::new()
5994                    },
5995                    ToolRule {
5996                        blocks: HolderSet::Direct {
5997                            contents: vec![BlockKind::Vine, BlockKind::GlowLichen],
5998                        },
5999                        speed: Some(2.0),
6000                        ..ToolRule::new()
6001                    },
6002                ],
6003                ..Tool::new()
6004            },
6005            ItemKind::StoneAxe => Tool {
6006                rules: vec![
6007                    ToolRule {
6008                        blocks: HolderSet::Direct {
6009                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6010                                .clone()
6011                                .into_iter()
6012                                .collect(),
6013                        },
6014                        correct_for_drops: Some(false),
6015                        ..ToolRule::new()
6016                    },
6017                    ToolRule {
6018                        blocks: HolderSet::Direct {
6019                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
6020                                .clone()
6021                                .into_iter()
6022                                .collect(),
6023                        },
6024                        correct_for_drops: Some(true),
6025                        speed: Some(4.0),
6026                    },
6027                ],
6028                ..Tool::new()
6029            },
6030            ItemKind::StoneHoe => Tool {
6031                rules: vec![
6032                    ToolRule {
6033                        blocks: HolderSet::Direct {
6034                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6035                                .clone()
6036                                .into_iter()
6037                                .collect(),
6038                        },
6039                        correct_for_drops: Some(false),
6040                        ..ToolRule::new()
6041                    },
6042                    ToolRule {
6043                        blocks: HolderSet::Direct {
6044                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
6045                                .clone()
6046                                .into_iter()
6047                                .collect(),
6048                        },
6049                        correct_for_drops: Some(true),
6050                        speed: Some(4.0),
6051                    },
6052                ],
6053                ..Tool::new()
6054            },
6055            ItemKind::StonePickaxe => Tool {
6056                rules: vec![
6057                    ToolRule {
6058                        blocks: HolderSet::Direct {
6059                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6060                                .clone()
6061                                .into_iter()
6062                                .collect(),
6063                        },
6064                        correct_for_drops: Some(false),
6065                        ..ToolRule::new()
6066                    },
6067                    ToolRule {
6068                        blocks: HolderSet::Direct {
6069                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
6070                                .clone()
6071                                .into_iter()
6072                                .collect(),
6073                        },
6074                        correct_for_drops: Some(true),
6075                        speed: Some(4.0),
6076                    },
6077                ],
6078                ..Tool::new()
6079            },
6080            ItemKind::StoneShovel => Tool {
6081                rules: vec![
6082                    ToolRule {
6083                        blocks: HolderSet::Direct {
6084                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
6085                                .clone()
6086                                .into_iter()
6087                                .collect(),
6088                        },
6089                        correct_for_drops: Some(false),
6090                        ..ToolRule::new()
6091                    },
6092                    ToolRule {
6093                        blocks: HolderSet::Direct {
6094                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
6095                                .clone()
6096                                .into_iter()
6097                                .collect(),
6098                        },
6099                        correct_for_drops: Some(true),
6100                        speed: Some(4.0),
6101                    },
6102                ],
6103                ..Tool::new()
6104            },
6105            ItemKind::StoneSword => Tool {
6106                can_destroy_blocks_in_creative: false,
6107                damage_per_block: 2,
6108                rules: vec![
6109                    ToolRule {
6110                        blocks: HolderSet::Direct {
6111                            contents: vec![BlockKind::Cobweb],
6112                        },
6113                        correct_for_drops: Some(true),
6114                        speed: Some(15.0),
6115                    },
6116                    ToolRule {
6117                        blocks: HolderSet::Direct {
6118                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
6119                                .clone()
6120                                .into_iter()
6121                                .collect(),
6122                        },
6123                        speed: Some(3.4028235e+38),
6124                        ..ToolRule::new()
6125                    },
6126                    ToolRule {
6127                        blocks: HolderSet::Direct {
6128                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
6129                                .clone()
6130                                .into_iter()
6131                                .collect(),
6132                        },
6133                        speed: Some(1.5),
6134                        ..ToolRule::new()
6135                    },
6136                ],
6137                ..Tool::new()
6138            },
6139            ItemKind::Trident => Tool {
6140                can_destroy_blocks_in_creative: false,
6141                damage_per_block: 2,
6142                rules: vec![],
6143                ..Tool::new()
6144            },
6145            ItemKind::WoodenAxe => Tool {
6146                rules: vec![
6147                    ToolRule {
6148                        blocks: HolderSet::Direct {
6149                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6150                                .clone()
6151                                .into_iter()
6152                                .collect(),
6153                        },
6154                        correct_for_drops: Some(false),
6155                        ..ToolRule::new()
6156                    },
6157                    ToolRule {
6158                        blocks: HolderSet::Direct {
6159                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
6160                                .clone()
6161                                .into_iter()
6162                                .collect(),
6163                        },
6164                        correct_for_drops: Some(true),
6165                        speed: Some(2.0),
6166                    },
6167                ],
6168                ..Tool::new()
6169            },
6170            ItemKind::WoodenHoe => Tool {
6171                rules: vec![
6172                    ToolRule {
6173                        blocks: HolderSet::Direct {
6174                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6175                                .clone()
6176                                .into_iter()
6177                                .collect(),
6178                        },
6179                        correct_for_drops: Some(false),
6180                        ..ToolRule::new()
6181                    },
6182                    ToolRule {
6183                        blocks: HolderSet::Direct {
6184                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
6185                                .clone()
6186                                .into_iter()
6187                                .collect(),
6188                        },
6189                        correct_for_drops: Some(true),
6190                        speed: Some(2.0),
6191                    },
6192                ],
6193                ..Tool::new()
6194            },
6195            ItemKind::WoodenPickaxe => Tool {
6196                rules: vec![
6197                    ToolRule {
6198                        blocks: HolderSet::Direct {
6199                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6200                                .clone()
6201                                .into_iter()
6202                                .collect(),
6203                        },
6204                        correct_for_drops: Some(false),
6205                        ..ToolRule::new()
6206                    },
6207                    ToolRule {
6208                        blocks: HolderSet::Direct {
6209                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
6210                                .clone()
6211                                .into_iter()
6212                                .collect(),
6213                        },
6214                        correct_for_drops: Some(true),
6215                        speed: Some(2.0),
6216                    },
6217                ],
6218                ..Tool::new()
6219            },
6220            ItemKind::WoodenShovel => Tool {
6221                rules: vec![
6222                    ToolRule {
6223                        blocks: HolderSet::Direct {
6224                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
6225                                .clone()
6226                                .into_iter()
6227                                .collect(),
6228                        },
6229                        correct_for_drops: Some(false),
6230                        ..ToolRule::new()
6231                    },
6232                    ToolRule {
6233                        blocks: HolderSet::Direct {
6234                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
6235                                .clone()
6236                                .into_iter()
6237                                .collect(),
6238                        },
6239                        correct_for_drops: Some(true),
6240                        speed: Some(2.0),
6241                    },
6242                ],
6243                ..Tool::new()
6244            },
6245            ItemKind::WoodenSword => Tool {
6246                can_destroy_blocks_in_creative: false,
6247                damage_per_block: 2,
6248                rules: vec![
6249                    ToolRule {
6250                        blocks: HolderSet::Direct {
6251                            contents: vec![BlockKind::Cobweb],
6252                        },
6253                        correct_for_drops: Some(true),
6254                        speed: Some(15.0),
6255                    },
6256                    ToolRule {
6257                        blocks: HolderSet::Direct {
6258                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
6259                                .clone()
6260                                .into_iter()
6261                                .collect(),
6262                        },
6263                        speed: Some(3.4028235e+38),
6264                        ..ToolRule::new()
6265                    },
6266                    ToolRule {
6267                        blocks: HolderSet::Direct {
6268                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
6269                                .clone()
6270                                .into_iter()
6271                                .collect(),
6272                        },
6273                        speed: Some(1.5),
6274                        ..ToolRule::new()
6275                    },
6276                ],
6277                ..Tool::new()
6278            },
6279            _ => return None,
6280        };
6281        Some(value)
6282    }
6283}
6284impl DefaultableComponent for TooltipDisplay {
6285    fn default_for_item(_item: ItemKind) -> Option<Self> {
6286        Some(TooltipDisplay::new())
6287    }
6288}
6289impl DefaultableComponent for UseCooldown {
6290    fn default_for_item(item: ItemKind) -> Option<Self> {
6291        let value = match item {
6292            ItemKind::ChorusFruit => UseCooldown {
6293                seconds: 1.0,
6294                ..UseCooldown::new()
6295            },
6296            ItemKind::EnderPearl => UseCooldown {
6297                seconds: 1.0,
6298                ..UseCooldown::new()
6299            },
6300            ItemKind::WindCharge => UseCooldown {
6301                seconds: 0.5,
6302                ..UseCooldown::new()
6303            },
6304            _ => return None,
6305        };
6306        Some(value)
6307    }
6308}
6309impl DefaultableComponent for UseEffects {
6310    fn default_for_item(item: ItemKind) -> Option<Self> {
6311        let value = match item {
6312            ItemKind::CopperSpear => UseEffects {
6313                can_sprint: true,
6314                interact_vibrations: false,
6315                speed_multiplier: 1.0,
6316            },
6317            ItemKind::DiamondSpear => UseEffects {
6318                can_sprint: true,
6319                interact_vibrations: false,
6320                speed_multiplier: 1.0,
6321            },
6322            ItemKind::GoldenSpear => UseEffects {
6323                can_sprint: true,
6324                interact_vibrations: false,
6325                speed_multiplier: 1.0,
6326            },
6327            ItemKind::IronSpear => UseEffects {
6328                can_sprint: true,
6329                interact_vibrations: false,
6330                speed_multiplier: 1.0,
6331            },
6332            ItemKind::NetheriteSpear => UseEffects {
6333                can_sprint: true,
6334                interact_vibrations: false,
6335                speed_multiplier: 1.0,
6336            },
6337            ItemKind::StoneSpear => UseEffects {
6338                can_sprint: true,
6339                interact_vibrations: false,
6340                speed_multiplier: 1.0,
6341            },
6342            ItemKind::WoodenSpear => UseEffects {
6343                can_sprint: true,
6344                interact_vibrations: false,
6345                speed_multiplier: 1.0,
6346            },
6347            _ => UseEffects::new(),
6348        };
6349        Some(value)
6350    }
6351}
6352impl DefaultableComponent for UseRemainder {
6353    fn default_for_item(item: ItemKind) -> Option<Self> {
6354        let value = match item {
6355            ItemKind::BeetrootSoup => ItemStack::from(ItemKind::Bowl),
6356            ItemKind::HoneyBottle => ItemStack::from(ItemKind::GlassBottle),
6357            ItemKind::MilkBucket => ItemStack::from(ItemKind::Bucket),
6358            ItemKind::MushroomStew => ItemStack::from(ItemKind::Bowl),
6359            ItemKind::Potion => ItemStack::from(ItemKind::GlassBottle),
6360            ItemKind::RabbitStew => ItemStack::from(ItemKind::Bowl),
6361            ItemKind::SuspiciousStew => ItemStack::from(ItemKind::Bowl),
6362            _ => return None,
6363        };
6364        Some(UseRemainder {
6365            convert_into: value,
6366        })
6367    }
6368}
6369impl DefaultableComponent for Weapon {
6370    fn default_for_item(item: ItemKind) -> Option<Self> {
6371        let value = match item {
6372            ItemKind::CopperAxe => Weapon {
6373                disable_blocking_for_seconds: 5.0,
6374                item_damage_per_attack: 2,
6375            },
6376            ItemKind::CopperHoe => Weapon {
6377                item_damage_per_attack: 2,
6378                ..Weapon::new()
6379            },
6380            ItemKind::CopperPickaxe => Weapon {
6381                item_damage_per_attack: 2,
6382                ..Weapon::new()
6383            },
6384            ItemKind::CopperShovel => Weapon {
6385                item_damage_per_attack: 2,
6386                ..Weapon::new()
6387            },
6388            ItemKind::CopperSpear => Weapon::new(),
6389            ItemKind::CopperSword => Weapon::new(),
6390            ItemKind::DiamondAxe => Weapon {
6391                disable_blocking_for_seconds: 5.0,
6392                item_damage_per_attack: 2,
6393            },
6394            ItemKind::DiamondHoe => Weapon {
6395                item_damage_per_attack: 2,
6396                ..Weapon::new()
6397            },
6398            ItemKind::DiamondPickaxe => Weapon {
6399                item_damage_per_attack: 2,
6400                ..Weapon::new()
6401            },
6402            ItemKind::DiamondShovel => Weapon {
6403                item_damage_per_attack: 2,
6404                ..Weapon::new()
6405            },
6406            ItemKind::DiamondSpear => Weapon::new(),
6407            ItemKind::DiamondSword => Weapon::new(),
6408            ItemKind::GoldenAxe => Weapon {
6409                disable_blocking_for_seconds: 5.0,
6410                item_damage_per_attack: 2,
6411            },
6412            ItemKind::GoldenHoe => Weapon {
6413                item_damage_per_attack: 2,
6414                ..Weapon::new()
6415            },
6416            ItemKind::GoldenPickaxe => Weapon {
6417                item_damage_per_attack: 2,
6418                ..Weapon::new()
6419            },
6420            ItemKind::GoldenShovel => Weapon {
6421                item_damage_per_attack: 2,
6422                ..Weapon::new()
6423            },
6424            ItemKind::GoldenSpear => Weapon::new(),
6425            ItemKind::GoldenSword => Weapon::new(),
6426            ItemKind::IronAxe => Weapon {
6427                disable_blocking_for_seconds: 5.0,
6428                item_damage_per_attack: 2,
6429            },
6430            ItemKind::IronHoe => Weapon {
6431                item_damage_per_attack: 2,
6432                ..Weapon::new()
6433            },
6434            ItemKind::IronPickaxe => Weapon {
6435                item_damage_per_attack: 2,
6436                ..Weapon::new()
6437            },
6438            ItemKind::IronShovel => Weapon {
6439                item_damage_per_attack: 2,
6440                ..Weapon::new()
6441            },
6442            ItemKind::IronSpear => Weapon::new(),
6443            ItemKind::IronSword => Weapon::new(),
6444            ItemKind::Mace => Weapon::new(),
6445            ItemKind::NetheriteAxe => Weapon {
6446                disable_blocking_for_seconds: 5.0,
6447                item_damage_per_attack: 2,
6448            },
6449            ItemKind::NetheriteHoe => Weapon {
6450                item_damage_per_attack: 2,
6451                ..Weapon::new()
6452            },
6453            ItemKind::NetheritePickaxe => Weapon {
6454                item_damage_per_attack: 2,
6455                ..Weapon::new()
6456            },
6457            ItemKind::NetheriteShovel => Weapon {
6458                item_damage_per_attack: 2,
6459                ..Weapon::new()
6460            },
6461            ItemKind::NetheriteSpear => Weapon::new(),
6462            ItemKind::NetheriteSword => Weapon::new(),
6463            ItemKind::StoneAxe => Weapon {
6464                disable_blocking_for_seconds: 5.0,
6465                item_damage_per_attack: 2,
6466            },
6467            ItemKind::StoneHoe => Weapon {
6468                item_damage_per_attack: 2,
6469                ..Weapon::new()
6470            },
6471            ItemKind::StonePickaxe => Weapon {
6472                item_damage_per_attack: 2,
6473                ..Weapon::new()
6474            },
6475            ItemKind::StoneShovel => Weapon {
6476                item_damage_per_attack: 2,
6477                ..Weapon::new()
6478            },
6479            ItemKind::StoneSpear => Weapon::new(),
6480            ItemKind::StoneSword => Weapon::new(),
6481            ItemKind::Trident => Weapon::new(),
6482            ItemKind::WoodenAxe => Weapon {
6483                disable_blocking_for_seconds: 5.0,
6484                item_damage_per_attack: 2,
6485            },
6486            ItemKind::WoodenHoe => Weapon {
6487                item_damage_per_attack: 2,
6488                ..Weapon::new()
6489            },
6490            ItemKind::WoodenPickaxe => Weapon {
6491                item_damage_per_attack: 2,
6492                ..Weapon::new()
6493            },
6494            ItemKind::WoodenShovel => Weapon {
6495                item_damage_per_attack: 2,
6496                ..Weapon::new()
6497            },
6498            ItemKind::WoodenSpear => Weapon::new(),
6499            ItemKind::WoodenSword => Weapon::new(),
6500            _ => return None,
6501        };
6502        Some(value)
6503    }
6504}
6505impl DefaultableComponent for WritableBookContent {
6506    fn default_for_item(item: ItemKind) -> Option<Self> {
6507        let value = match item {
6508            ItemKind::WritableBook => Vec::new(),
6509            _ => return None,
6510        };
6511        Some(WritableBookContent { pages: value })
6512    }
6513}