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