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_registry::{Attribute, Block, EntityKind, HolderSet, Item, MobEffect, SoundEvent};
10use simdnbt::owned::NbtCompound;
11
12use crate::{
13    ItemStack, components::*, default_components::DefaultableComponent,
14    item::consume_effect::ConsumeEffect,
15};
16
17impl DefaultableComponent for AttributeModifiers {
18    fn default_for_item(item: Item) -> Option<Self> {
19        let value = match item {
20            Item::CarvedPumpkin => vec![AttributeModifiersEntry {
21                display: AttributeModifierDisplay::Hidden,
22                slot: EquipmentSlotGroup::Head,
23                attribute: Attribute::WaypointTransmitRange,
24                modifier: AttributeModifier {
25                    id: "minecraft:waypoint_transmit_range_hide".into(),
26                    amount: -1.0,
27                    operation: AttributeModifierOperation::AddMultipliedTotal,
28                },
29            }],
30            Item::ChainmailBoots => vec![
31                AttributeModifiersEntry {
32                    slot: EquipmentSlotGroup::Feet,
33                    attribute: Attribute::Armor,
34                    display: AttributeModifierDisplay::Default,
35                    modifier: AttributeModifier {
36                        id: "minecraft:armor.boots".into(),
37                        amount: 1.0,
38                        operation: AttributeModifierOperation::AddValue,
39                    },
40                },
41                AttributeModifiersEntry {
42                    slot: EquipmentSlotGroup::Feet,
43                    attribute: Attribute::ArmorToughness,
44                    display: AttributeModifierDisplay::Default,
45                    modifier: AttributeModifier {
46                        id: "minecraft:armor.boots".into(),
47                        amount: 0.0,
48                        operation: AttributeModifierOperation::AddValue,
49                    },
50                },
51            ],
52            Item::ChainmailChestplate => vec![
53                AttributeModifiersEntry {
54                    slot: EquipmentSlotGroup::Chest,
55                    attribute: Attribute::Armor,
56                    display: AttributeModifierDisplay::Default,
57                    modifier: AttributeModifier {
58                        id: "minecraft:armor.chestplate".into(),
59                        amount: 5.0,
60                        operation: AttributeModifierOperation::AddValue,
61                    },
62                },
63                AttributeModifiersEntry {
64                    slot: EquipmentSlotGroup::Chest,
65                    attribute: Attribute::ArmorToughness,
66                    display: AttributeModifierDisplay::Default,
67                    modifier: AttributeModifier {
68                        id: "minecraft:armor.chestplate".into(),
69                        amount: 0.0,
70                        operation: AttributeModifierOperation::AddValue,
71                    },
72                },
73            ],
74            Item::ChainmailHelmet => vec![
75                AttributeModifiersEntry {
76                    slot: EquipmentSlotGroup::Head,
77                    attribute: Attribute::Armor,
78                    display: AttributeModifierDisplay::Default,
79                    modifier: AttributeModifier {
80                        id: "minecraft:armor.helmet".into(),
81                        amount: 2.0,
82                        operation: AttributeModifierOperation::AddValue,
83                    },
84                },
85                AttributeModifiersEntry {
86                    slot: EquipmentSlotGroup::Head,
87                    attribute: Attribute::ArmorToughness,
88                    display: AttributeModifierDisplay::Default,
89                    modifier: AttributeModifier {
90                        id: "minecraft:armor.helmet".into(),
91                        amount: 0.0,
92                        operation: AttributeModifierOperation::AddValue,
93                    },
94                },
95            ],
96            Item::ChainmailLeggings => vec![
97                AttributeModifiersEntry {
98                    slot: EquipmentSlotGroup::Legs,
99                    attribute: Attribute::Armor,
100                    display: AttributeModifierDisplay::Default,
101                    modifier: AttributeModifier {
102                        id: "minecraft:armor.leggings".into(),
103                        amount: 4.0,
104                        operation: AttributeModifierOperation::AddValue,
105                    },
106                },
107                AttributeModifiersEntry {
108                    slot: EquipmentSlotGroup::Legs,
109                    attribute: Attribute::ArmorToughness,
110                    display: AttributeModifierDisplay::Default,
111                    modifier: AttributeModifier {
112                        id: "minecraft:armor.leggings".into(),
113                        amount: 0.0,
114                        operation: AttributeModifierOperation::AddValue,
115                    },
116                },
117            ],
118            Item::CreeperHead => vec![AttributeModifiersEntry {
119                display: AttributeModifierDisplay::Hidden,
120                slot: EquipmentSlotGroup::Head,
121                attribute: Attribute::WaypointTransmitRange,
122                modifier: AttributeModifier {
123                    id: "minecraft:waypoint_transmit_range_hide".into(),
124                    amount: -1.0,
125                    operation: AttributeModifierOperation::AddMultipliedTotal,
126                },
127            }],
128            Item::DiamondAxe => vec![
129                AttributeModifiersEntry {
130                    slot: EquipmentSlotGroup::Mainhand,
131                    attribute: Attribute::AttackDamage,
132                    display: AttributeModifierDisplay::Default,
133                    modifier: AttributeModifier {
134                        id: "minecraft:base_attack_damage".into(),
135                        amount: 8.0,
136                        operation: AttributeModifierOperation::AddValue,
137                    },
138                },
139                AttributeModifiersEntry {
140                    slot: EquipmentSlotGroup::Mainhand,
141                    attribute: Attribute::AttackSpeed,
142                    display: AttributeModifierDisplay::Default,
143                    modifier: AttributeModifier {
144                        id: "minecraft:base_attack_speed".into(),
145                        amount: -3.0,
146                        operation: AttributeModifierOperation::AddValue,
147                    },
148                },
149            ],
150            Item::DiamondBoots => vec![
151                AttributeModifiersEntry {
152                    slot: EquipmentSlotGroup::Feet,
153                    attribute: Attribute::Armor,
154                    display: AttributeModifierDisplay::Default,
155                    modifier: AttributeModifier {
156                        id: "minecraft:armor.boots".into(),
157                        amount: 3.0,
158                        operation: AttributeModifierOperation::AddValue,
159                    },
160                },
161                AttributeModifiersEntry {
162                    slot: EquipmentSlotGroup::Feet,
163                    attribute: Attribute::ArmorToughness,
164                    display: AttributeModifierDisplay::Default,
165                    modifier: AttributeModifier {
166                        id: "minecraft:armor.boots".into(),
167                        amount: 2.0,
168                        operation: AttributeModifierOperation::AddValue,
169                    },
170                },
171            ],
172            Item::DiamondChestplate => vec![
173                AttributeModifiersEntry {
174                    slot: EquipmentSlotGroup::Chest,
175                    attribute: Attribute::Armor,
176                    display: AttributeModifierDisplay::Default,
177                    modifier: AttributeModifier {
178                        id: "minecraft:armor.chestplate".into(),
179                        amount: 8.0,
180                        operation: AttributeModifierOperation::AddValue,
181                    },
182                },
183                AttributeModifiersEntry {
184                    slot: EquipmentSlotGroup::Chest,
185                    attribute: Attribute::ArmorToughness,
186                    display: AttributeModifierDisplay::Default,
187                    modifier: AttributeModifier {
188                        id: "minecraft:armor.chestplate".into(),
189                        amount: 2.0,
190                        operation: AttributeModifierOperation::AddValue,
191                    },
192                },
193            ],
194            Item::DiamondHelmet => vec![
195                AttributeModifiersEntry {
196                    slot: EquipmentSlotGroup::Head,
197                    attribute: Attribute::Armor,
198                    display: AttributeModifierDisplay::Default,
199                    modifier: AttributeModifier {
200                        id: "minecraft:armor.helmet".into(),
201                        amount: 3.0,
202                        operation: AttributeModifierOperation::AddValue,
203                    },
204                },
205                AttributeModifiersEntry {
206                    slot: EquipmentSlotGroup::Head,
207                    attribute: Attribute::ArmorToughness,
208                    display: AttributeModifierDisplay::Default,
209                    modifier: AttributeModifier {
210                        id: "minecraft:armor.helmet".into(),
211                        amount: 2.0,
212                        operation: AttributeModifierOperation::AddValue,
213                    },
214                },
215            ],
216            Item::DiamondHoe => vec![
217                AttributeModifiersEntry {
218                    slot: EquipmentSlotGroup::Mainhand,
219                    attribute: Attribute::AttackDamage,
220                    display: AttributeModifierDisplay::Default,
221                    modifier: AttributeModifier {
222                        id: "minecraft:base_attack_damage".into(),
223                        amount: 0.0,
224                        operation: AttributeModifierOperation::AddValue,
225                    },
226                },
227                AttributeModifiersEntry {
228                    slot: EquipmentSlotGroup::Mainhand,
229                    attribute: Attribute::AttackSpeed,
230                    display: AttributeModifierDisplay::Default,
231                    modifier: AttributeModifier {
232                        id: "minecraft:base_attack_speed".into(),
233                        amount: 0.0,
234                        operation: AttributeModifierOperation::AddValue,
235                    },
236                },
237            ],
238            Item::DiamondHorseArmor => vec![
239                AttributeModifiersEntry {
240                    slot: EquipmentSlotGroup::Body,
241                    attribute: Attribute::Armor,
242                    display: AttributeModifierDisplay::Default,
243                    modifier: AttributeModifier {
244                        id: "minecraft:armor.body".into(),
245                        amount: 11.0,
246                        operation: AttributeModifierOperation::AddValue,
247                    },
248                },
249                AttributeModifiersEntry {
250                    slot: EquipmentSlotGroup::Body,
251                    attribute: Attribute::ArmorToughness,
252                    display: AttributeModifierDisplay::Default,
253                    modifier: AttributeModifier {
254                        id: "minecraft:armor.body".into(),
255                        amount: 2.0,
256                        operation: AttributeModifierOperation::AddValue,
257                    },
258                },
259            ],
260            Item::DiamondLeggings => vec![
261                AttributeModifiersEntry {
262                    slot: EquipmentSlotGroup::Legs,
263                    attribute: Attribute::Armor,
264                    display: AttributeModifierDisplay::Default,
265                    modifier: AttributeModifier {
266                        id: "minecraft:armor.leggings".into(),
267                        amount: 6.0,
268                        operation: AttributeModifierOperation::AddValue,
269                    },
270                },
271                AttributeModifiersEntry {
272                    slot: EquipmentSlotGroup::Legs,
273                    attribute: Attribute::ArmorToughness,
274                    display: AttributeModifierDisplay::Default,
275                    modifier: AttributeModifier {
276                        id: "minecraft:armor.leggings".into(),
277                        amount: 2.0,
278                        operation: AttributeModifierOperation::AddValue,
279                    },
280                },
281            ],
282            Item::DiamondPickaxe => vec![
283                AttributeModifiersEntry {
284                    slot: EquipmentSlotGroup::Mainhand,
285                    attribute: Attribute::AttackDamage,
286                    display: AttributeModifierDisplay::Default,
287                    modifier: AttributeModifier {
288                        id: "minecraft:base_attack_damage".into(),
289                        amount: 4.0,
290                        operation: AttributeModifierOperation::AddValue,
291                    },
292                },
293                AttributeModifiersEntry {
294                    slot: EquipmentSlotGroup::Mainhand,
295                    attribute: Attribute::AttackSpeed,
296                    display: AttributeModifierDisplay::Default,
297                    modifier: AttributeModifier {
298                        id: "minecraft:base_attack_speed".into(),
299                        amount: -2.799999952316284,
300                        operation: AttributeModifierOperation::AddValue,
301                    },
302                },
303            ],
304            Item::DiamondShovel => vec![
305                AttributeModifiersEntry {
306                    slot: EquipmentSlotGroup::Mainhand,
307                    attribute: Attribute::AttackDamage,
308                    display: AttributeModifierDisplay::Default,
309                    modifier: AttributeModifier {
310                        id: "minecraft:base_attack_damage".into(),
311                        amount: 4.5,
312                        operation: AttributeModifierOperation::AddValue,
313                    },
314                },
315                AttributeModifiersEntry {
316                    slot: EquipmentSlotGroup::Mainhand,
317                    attribute: Attribute::AttackSpeed,
318                    display: AttributeModifierDisplay::Default,
319                    modifier: AttributeModifier {
320                        id: "minecraft:base_attack_speed".into(),
321                        amount: -3.0,
322                        operation: AttributeModifierOperation::AddValue,
323                    },
324                },
325            ],
326            Item::DiamondSword => vec![
327                AttributeModifiersEntry {
328                    slot: EquipmentSlotGroup::Mainhand,
329                    attribute: Attribute::AttackDamage,
330                    display: AttributeModifierDisplay::Default,
331                    modifier: AttributeModifier {
332                        id: "minecraft:base_attack_damage".into(),
333                        amount: 6.0,
334                        operation: AttributeModifierOperation::AddValue,
335                    },
336                },
337                AttributeModifiersEntry {
338                    slot: EquipmentSlotGroup::Mainhand,
339                    attribute: Attribute::AttackSpeed,
340                    display: AttributeModifierDisplay::Default,
341                    modifier: AttributeModifier {
342                        id: "minecraft:base_attack_speed".into(),
343                        amount: -2.4000000953674316,
344                        operation: AttributeModifierOperation::AddValue,
345                    },
346                },
347            ],
348            Item::DragonHead => vec![AttributeModifiersEntry {
349                display: AttributeModifierDisplay::Hidden,
350                slot: EquipmentSlotGroup::Head,
351                attribute: Attribute::WaypointTransmitRange,
352                modifier: AttributeModifier {
353                    id: "minecraft:waypoint_transmit_range_hide".into(),
354                    amount: -1.0,
355                    operation: AttributeModifierOperation::AddMultipliedTotal,
356                },
357            }],
358            Item::GoldenAxe => vec![
359                AttributeModifiersEntry {
360                    slot: EquipmentSlotGroup::Mainhand,
361                    attribute: Attribute::AttackDamage,
362                    display: AttributeModifierDisplay::Default,
363                    modifier: AttributeModifier {
364                        id: "minecraft:base_attack_damage".into(),
365                        amount: 6.0,
366                        operation: AttributeModifierOperation::AddValue,
367                    },
368                },
369                AttributeModifiersEntry {
370                    slot: EquipmentSlotGroup::Mainhand,
371                    attribute: Attribute::AttackSpeed,
372                    display: AttributeModifierDisplay::Default,
373                    modifier: AttributeModifier {
374                        id: "minecraft:base_attack_speed".into(),
375                        amount: -3.0,
376                        operation: AttributeModifierOperation::AddValue,
377                    },
378                },
379            ],
380            Item::GoldenBoots => vec![
381                AttributeModifiersEntry {
382                    slot: EquipmentSlotGroup::Feet,
383                    attribute: Attribute::Armor,
384                    display: AttributeModifierDisplay::Default,
385                    modifier: AttributeModifier {
386                        id: "minecraft:armor.boots".into(),
387                        amount: 1.0,
388                        operation: AttributeModifierOperation::AddValue,
389                    },
390                },
391                AttributeModifiersEntry {
392                    slot: EquipmentSlotGroup::Feet,
393                    attribute: Attribute::ArmorToughness,
394                    display: AttributeModifierDisplay::Default,
395                    modifier: AttributeModifier {
396                        id: "minecraft:armor.boots".into(),
397                        amount: 0.0,
398                        operation: AttributeModifierOperation::AddValue,
399                    },
400                },
401            ],
402            Item::GoldenChestplate => vec![
403                AttributeModifiersEntry {
404                    slot: EquipmentSlotGroup::Chest,
405                    attribute: Attribute::Armor,
406                    display: AttributeModifierDisplay::Default,
407                    modifier: AttributeModifier {
408                        id: "minecraft:armor.chestplate".into(),
409                        amount: 5.0,
410                        operation: AttributeModifierOperation::AddValue,
411                    },
412                },
413                AttributeModifiersEntry {
414                    slot: EquipmentSlotGroup::Chest,
415                    attribute: Attribute::ArmorToughness,
416                    display: AttributeModifierDisplay::Default,
417                    modifier: AttributeModifier {
418                        id: "minecraft:armor.chestplate".into(),
419                        amount: 0.0,
420                        operation: AttributeModifierOperation::AddValue,
421                    },
422                },
423            ],
424            Item::GoldenHelmet => vec![
425                AttributeModifiersEntry {
426                    slot: EquipmentSlotGroup::Head,
427                    attribute: Attribute::Armor,
428                    display: AttributeModifierDisplay::Default,
429                    modifier: AttributeModifier {
430                        id: "minecraft:armor.helmet".into(),
431                        amount: 2.0,
432                        operation: AttributeModifierOperation::AddValue,
433                    },
434                },
435                AttributeModifiersEntry {
436                    slot: EquipmentSlotGroup::Head,
437                    attribute: Attribute::ArmorToughness,
438                    display: AttributeModifierDisplay::Default,
439                    modifier: AttributeModifier {
440                        id: "minecraft:armor.helmet".into(),
441                        amount: 0.0,
442                        operation: AttributeModifierOperation::AddValue,
443                    },
444                },
445            ],
446            Item::GoldenHoe => vec![
447                AttributeModifiersEntry {
448                    slot: EquipmentSlotGroup::Mainhand,
449                    attribute: Attribute::AttackDamage,
450                    display: AttributeModifierDisplay::Default,
451                    modifier: AttributeModifier {
452                        id: "minecraft:base_attack_damage".into(),
453                        amount: 0.0,
454                        operation: AttributeModifierOperation::AddValue,
455                    },
456                },
457                AttributeModifiersEntry {
458                    slot: EquipmentSlotGroup::Mainhand,
459                    attribute: Attribute::AttackSpeed,
460                    display: AttributeModifierDisplay::Default,
461                    modifier: AttributeModifier {
462                        id: "minecraft:base_attack_speed".into(),
463                        amount: -3.0,
464                        operation: AttributeModifierOperation::AddValue,
465                    },
466                },
467            ],
468            Item::GoldenHorseArmor => vec![
469                AttributeModifiersEntry {
470                    slot: EquipmentSlotGroup::Body,
471                    attribute: Attribute::Armor,
472                    display: AttributeModifierDisplay::Default,
473                    modifier: AttributeModifier {
474                        id: "minecraft:armor.body".into(),
475                        amount: 7.0,
476                        operation: AttributeModifierOperation::AddValue,
477                    },
478                },
479                AttributeModifiersEntry {
480                    slot: EquipmentSlotGroup::Body,
481                    attribute: Attribute::ArmorToughness,
482                    display: AttributeModifierDisplay::Default,
483                    modifier: AttributeModifier {
484                        id: "minecraft:armor.body".into(),
485                        amount: 0.0,
486                        operation: AttributeModifierOperation::AddValue,
487                    },
488                },
489            ],
490            Item::GoldenLeggings => vec![
491                AttributeModifiersEntry {
492                    slot: EquipmentSlotGroup::Legs,
493                    attribute: Attribute::Armor,
494                    display: AttributeModifierDisplay::Default,
495                    modifier: AttributeModifier {
496                        id: "minecraft:armor.leggings".into(),
497                        amount: 3.0,
498                        operation: AttributeModifierOperation::AddValue,
499                    },
500                },
501                AttributeModifiersEntry {
502                    slot: EquipmentSlotGroup::Legs,
503                    attribute: Attribute::ArmorToughness,
504                    display: AttributeModifierDisplay::Default,
505                    modifier: AttributeModifier {
506                        id: "minecraft:armor.leggings".into(),
507                        amount: 0.0,
508                        operation: AttributeModifierOperation::AddValue,
509                    },
510                },
511            ],
512            Item::GoldenPickaxe => vec![
513                AttributeModifiersEntry {
514                    slot: EquipmentSlotGroup::Mainhand,
515                    attribute: Attribute::AttackDamage,
516                    display: AttributeModifierDisplay::Default,
517                    modifier: AttributeModifier {
518                        id: "minecraft:base_attack_damage".into(),
519                        amount: 1.0,
520                        operation: AttributeModifierOperation::AddValue,
521                    },
522                },
523                AttributeModifiersEntry {
524                    slot: EquipmentSlotGroup::Mainhand,
525                    attribute: Attribute::AttackSpeed,
526                    display: AttributeModifierDisplay::Default,
527                    modifier: AttributeModifier {
528                        id: "minecraft:base_attack_speed".into(),
529                        amount: -2.799999952316284,
530                        operation: AttributeModifierOperation::AddValue,
531                    },
532                },
533            ],
534            Item::GoldenShovel => vec![
535                AttributeModifiersEntry {
536                    slot: EquipmentSlotGroup::Mainhand,
537                    attribute: Attribute::AttackDamage,
538                    display: AttributeModifierDisplay::Default,
539                    modifier: AttributeModifier {
540                        id: "minecraft:base_attack_damage".into(),
541                        amount: 1.5,
542                        operation: AttributeModifierOperation::AddValue,
543                    },
544                },
545                AttributeModifiersEntry {
546                    slot: EquipmentSlotGroup::Mainhand,
547                    attribute: Attribute::AttackSpeed,
548                    display: AttributeModifierDisplay::Default,
549                    modifier: AttributeModifier {
550                        id: "minecraft:base_attack_speed".into(),
551                        amount: -3.0,
552                        operation: AttributeModifierOperation::AddValue,
553                    },
554                },
555            ],
556            Item::GoldenSword => vec![
557                AttributeModifiersEntry {
558                    slot: EquipmentSlotGroup::Mainhand,
559                    attribute: Attribute::AttackDamage,
560                    display: AttributeModifierDisplay::Default,
561                    modifier: AttributeModifier {
562                        id: "minecraft:base_attack_damage".into(),
563                        amount: 3.0,
564                        operation: AttributeModifierOperation::AddValue,
565                    },
566                },
567                AttributeModifiersEntry {
568                    slot: EquipmentSlotGroup::Mainhand,
569                    attribute: Attribute::AttackSpeed,
570                    display: AttributeModifierDisplay::Default,
571                    modifier: AttributeModifier {
572                        id: "minecraft:base_attack_speed".into(),
573                        amount: -2.4000000953674316,
574                        operation: AttributeModifierOperation::AddValue,
575                    },
576                },
577            ],
578            Item::IronAxe => vec![
579                AttributeModifiersEntry {
580                    slot: EquipmentSlotGroup::Mainhand,
581                    attribute: Attribute::AttackDamage,
582                    display: AttributeModifierDisplay::Default,
583                    modifier: AttributeModifier {
584                        id: "minecraft:base_attack_damage".into(),
585                        amount: 8.0,
586                        operation: AttributeModifierOperation::AddValue,
587                    },
588                },
589                AttributeModifiersEntry {
590                    slot: EquipmentSlotGroup::Mainhand,
591                    attribute: Attribute::AttackSpeed,
592                    display: AttributeModifierDisplay::Default,
593                    modifier: AttributeModifier {
594                        id: "minecraft:base_attack_speed".into(),
595                        amount: -3.0999999046325684,
596                        operation: AttributeModifierOperation::AddValue,
597                    },
598                },
599            ],
600            Item::IronBoots => vec![
601                AttributeModifiersEntry {
602                    slot: EquipmentSlotGroup::Feet,
603                    attribute: Attribute::Armor,
604                    display: AttributeModifierDisplay::Default,
605                    modifier: AttributeModifier {
606                        id: "minecraft:armor.boots".into(),
607                        amount: 2.0,
608                        operation: AttributeModifierOperation::AddValue,
609                    },
610                },
611                AttributeModifiersEntry {
612                    slot: EquipmentSlotGroup::Feet,
613                    attribute: Attribute::ArmorToughness,
614                    display: AttributeModifierDisplay::Default,
615                    modifier: AttributeModifier {
616                        id: "minecraft:armor.boots".into(),
617                        amount: 0.0,
618                        operation: AttributeModifierOperation::AddValue,
619                    },
620                },
621            ],
622            Item::IronChestplate => vec![
623                AttributeModifiersEntry {
624                    slot: EquipmentSlotGroup::Chest,
625                    attribute: Attribute::Armor,
626                    display: AttributeModifierDisplay::Default,
627                    modifier: AttributeModifier {
628                        id: "minecraft:armor.chestplate".into(),
629                        amount: 6.0,
630                        operation: AttributeModifierOperation::AddValue,
631                    },
632                },
633                AttributeModifiersEntry {
634                    slot: EquipmentSlotGroup::Chest,
635                    attribute: Attribute::ArmorToughness,
636                    display: AttributeModifierDisplay::Default,
637                    modifier: AttributeModifier {
638                        id: "minecraft:armor.chestplate".into(),
639                        amount: 0.0,
640                        operation: AttributeModifierOperation::AddValue,
641                    },
642                },
643            ],
644            Item::IronHelmet => vec![
645                AttributeModifiersEntry {
646                    slot: EquipmentSlotGroup::Head,
647                    attribute: Attribute::Armor,
648                    display: AttributeModifierDisplay::Default,
649                    modifier: AttributeModifier {
650                        id: "minecraft:armor.helmet".into(),
651                        amount: 2.0,
652                        operation: AttributeModifierOperation::AddValue,
653                    },
654                },
655                AttributeModifiersEntry {
656                    slot: EquipmentSlotGroup::Head,
657                    attribute: Attribute::ArmorToughness,
658                    display: AttributeModifierDisplay::Default,
659                    modifier: AttributeModifier {
660                        id: "minecraft:armor.helmet".into(),
661                        amount: 0.0,
662                        operation: AttributeModifierOperation::AddValue,
663                    },
664                },
665            ],
666            Item::IronHoe => vec![
667                AttributeModifiersEntry {
668                    slot: EquipmentSlotGroup::Mainhand,
669                    attribute: Attribute::AttackDamage,
670                    display: AttributeModifierDisplay::Default,
671                    modifier: AttributeModifier {
672                        id: "minecraft:base_attack_damage".into(),
673                        amount: 0.0,
674                        operation: AttributeModifierOperation::AddValue,
675                    },
676                },
677                AttributeModifiersEntry {
678                    slot: EquipmentSlotGroup::Mainhand,
679                    attribute: Attribute::AttackSpeed,
680                    display: AttributeModifierDisplay::Default,
681                    modifier: AttributeModifier {
682                        id: "minecraft:base_attack_speed".into(),
683                        amount: -1.0,
684                        operation: AttributeModifierOperation::AddValue,
685                    },
686                },
687            ],
688            Item::IronHorseArmor => vec![
689                AttributeModifiersEntry {
690                    slot: EquipmentSlotGroup::Body,
691                    attribute: Attribute::Armor,
692                    display: AttributeModifierDisplay::Default,
693                    modifier: AttributeModifier {
694                        id: "minecraft:armor.body".into(),
695                        amount: 5.0,
696                        operation: AttributeModifierOperation::AddValue,
697                    },
698                },
699                AttributeModifiersEntry {
700                    slot: EquipmentSlotGroup::Body,
701                    attribute: Attribute::ArmorToughness,
702                    display: AttributeModifierDisplay::Default,
703                    modifier: AttributeModifier {
704                        id: "minecraft:armor.body".into(),
705                        amount: 0.0,
706                        operation: AttributeModifierOperation::AddValue,
707                    },
708                },
709            ],
710            Item::IronLeggings => vec![
711                AttributeModifiersEntry {
712                    slot: EquipmentSlotGroup::Legs,
713                    attribute: Attribute::Armor,
714                    display: AttributeModifierDisplay::Default,
715                    modifier: AttributeModifier {
716                        id: "minecraft:armor.leggings".into(),
717                        amount: 5.0,
718                        operation: AttributeModifierOperation::AddValue,
719                    },
720                },
721                AttributeModifiersEntry {
722                    slot: EquipmentSlotGroup::Legs,
723                    attribute: Attribute::ArmorToughness,
724                    display: AttributeModifierDisplay::Default,
725                    modifier: AttributeModifier {
726                        id: "minecraft:armor.leggings".into(),
727                        amount: 0.0,
728                        operation: AttributeModifierOperation::AddValue,
729                    },
730                },
731            ],
732            Item::IronPickaxe => vec![
733                AttributeModifiersEntry {
734                    slot: EquipmentSlotGroup::Mainhand,
735                    attribute: Attribute::AttackDamage,
736                    display: AttributeModifierDisplay::Default,
737                    modifier: AttributeModifier {
738                        id: "minecraft:base_attack_damage".into(),
739                        amount: 3.0,
740                        operation: AttributeModifierOperation::AddValue,
741                    },
742                },
743                AttributeModifiersEntry {
744                    slot: EquipmentSlotGroup::Mainhand,
745                    attribute: Attribute::AttackSpeed,
746                    display: AttributeModifierDisplay::Default,
747                    modifier: AttributeModifier {
748                        id: "minecraft:base_attack_speed".into(),
749                        amount: -2.799999952316284,
750                        operation: AttributeModifierOperation::AddValue,
751                    },
752                },
753            ],
754            Item::IronShovel => vec![
755                AttributeModifiersEntry {
756                    slot: EquipmentSlotGroup::Mainhand,
757                    attribute: Attribute::AttackDamage,
758                    display: AttributeModifierDisplay::Default,
759                    modifier: AttributeModifier {
760                        id: "minecraft:base_attack_damage".into(),
761                        amount: 3.5,
762                        operation: AttributeModifierOperation::AddValue,
763                    },
764                },
765                AttributeModifiersEntry {
766                    slot: EquipmentSlotGroup::Mainhand,
767                    attribute: Attribute::AttackSpeed,
768                    display: AttributeModifierDisplay::Default,
769                    modifier: AttributeModifier {
770                        id: "minecraft:base_attack_speed".into(),
771                        amount: -3.0,
772                        operation: AttributeModifierOperation::AddValue,
773                    },
774                },
775            ],
776            Item::IronSword => vec![
777                AttributeModifiersEntry {
778                    slot: EquipmentSlotGroup::Mainhand,
779                    attribute: Attribute::AttackDamage,
780                    display: AttributeModifierDisplay::Default,
781                    modifier: AttributeModifier {
782                        id: "minecraft:base_attack_damage".into(),
783                        amount: 5.0,
784                        operation: AttributeModifierOperation::AddValue,
785                    },
786                },
787                AttributeModifiersEntry {
788                    slot: EquipmentSlotGroup::Mainhand,
789                    attribute: Attribute::AttackSpeed,
790                    display: AttributeModifierDisplay::Default,
791                    modifier: AttributeModifier {
792                        id: "minecraft:base_attack_speed".into(),
793                        amount: -2.4000000953674316,
794                        operation: AttributeModifierOperation::AddValue,
795                    },
796                },
797            ],
798            Item::LeatherBoots => vec![
799                AttributeModifiersEntry {
800                    slot: EquipmentSlotGroup::Feet,
801                    attribute: Attribute::Armor,
802                    display: AttributeModifierDisplay::Default,
803                    modifier: AttributeModifier {
804                        id: "minecraft:armor.boots".into(),
805                        amount: 1.0,
806                        operation: AttributeModifierOperation::AddValue,
807                    },
808                },
809                AttributeModifiersEntry {
810                    slot: EquipmentSlotGroup::Feet,
811                    attribute: Attribute::ArmorToughness,
812                    display: AttributeModifierDisplay::Default,
813                    modifier: AttributeModifier {
814                        id: "minecraft:armor.boots".into(),
815                        amount: 0.0,
816                        operation: AttributeModifierOperation::AddValue,
817                    },
818                },
819            ],
820            Item::LeatherChestplate => vec![
821                AttributeModifiersEntry {
822                    slot: EquipmentSlotGroup::Chest,
823                    attribute: Attribute::Armor,
824                    display: AttributeModifierDisplay::Default,
825                    modifier: AttributeModifier {
826                        id: "minecraft:armor.chestplate".into(),
827                        amount: 3.0,
828                        operation: AttributeModifierOperation::AddValue,
829                    },
830                },
831                AttributeModifiersEntry {
832                    slot: EquipmentSlotGroup::Chest,
833                    attribute: Attribute::ArmorToughness,
834                    display: AttributeModifierDisplay::Default,
835                    modifier: AttributeModifier {
836                        id: "minecraft:armor.chestplate".into(),
837                        amount: 0.0,
838                        operation: AttributeModifierOperation::AddValue,
839                    },
840                },
841            ],
842            Item::LeatherHelmet => vec![
843                AttributeModifiersEntry {
844                    slot: EquipmentSlotGroup::Head,
845                    attribute: Attribute::Armor,
846                    display: AttributeModifierDisplay::Default,
847                    modifier: AttributeModifier {
848                        id: "minecraft:armor.helmet".into(),
849                        amount: 1.0,
850                        operation: AttributeModifierOperation::AddValue,
851                    },
852                },
853                AttributeModifiersEntry {
854                    slot: EquipmentSlotGroup::Head,
855                    attribute: Attribute::ArmorToughness,
856                    display: AttributeModifierDisplay::Default,
857                    modifier: AttributeModifier {
858                        id: "minecraft:armor.helmet".into(),
859                        amount: 0.0,
860                        operation: AttributeModifierOperation::AddValue,
861                    },
862                },
863            ],
864            Item::LeatherHorseArmor => vec![
865                AttributeModifiersEntry {
866                    slot: EquipmentSlotGroup::Body,
867                    attribute: Attribute::Armor,
868                    display: AttributeModifierDisplay::Default,
869                    modifier: AttributeModifier {
870                        id: "minecraft:armor.body".into(),
871                        amount: 3.0,
872                        operation: AttributeModifierOperation::AddValue,
873                    },
874                },
875                AttributeModifiersEntry {
876                    slot: EquipmentSlotGroup::Body,
877                    attribute: Attribute::ArmorToughness,
878                    display: AttributeModifierDisplay::Default,
879                    modifier: AttributeModifier {
880                        id: "minecraft:armor.body".into(),
881                        amount: 0.0,
882                        operation: AttributeModifierOperation::AddValue,
883                    },
884                },
885            ],
886            Item::LeatherLeggings => vec![
887                AttributeModifiersEntry {
888                    slot: EquipmentSlotGroup::Legs,
889                    attribute: Attribute::Armor,
890                    display: AttributeModifierDisplay::Default,
891                    modifier: AttributeModifier {
892                        id: "minecraft:armor.leggings".into(),
893                        amount: 2.0,
894                        operation: AttributeModifierOperation::AddValue,
895                    },
896                },
897                AttributeModifiersEntry {
898                    slot: EquipmentSlotGroup::Legs,
899                    attribute: Attribute::ArmorToughness,
900                    display: AttributeModifierDisplay::Default,
901                    modifier: AttributeModifier {
902                        id: "minecraft:armor.leggings".into(),
903                        amount: 0.0,
904                        operation: AttributeModifierOperation::AddValue,
905                    },
906                },
907            ],
908            Item::Mace => vec![
909                AttributeModifiersEntry {
910                    slot: EquipmentSlotGroup::Mainhand,
911                    attribute: Attribute::AttackDamage,
912                    display: AttributeModifierDisplay::Default,
913                    modifier: AttributeModifier {
914                        id: "minecraft:base_attack_damage".into(),
915                        amount: 5.0,
916                        operation: AttributeModifierOperation::AddValue,
917                    },
918                },
919                AttributeModifiersEntry {
920                    slot: EquipmentSlotGroup::Mainhand,
921                    attribute: Attribute::AttackSpeed,
922                    display: AttributeModifierDisplay::Default,
923                    modifier: AttributeModifier {
924                        id: "minecraft:base_attack_speed".into(),
925                        amount: -3.4000000953674316,
926                        operation: AttributeModifierOperation::AddValue,
927                    },
928                },
929            ],
930            Item::NetheriteAxe => vec![
931                AttributeModifiersEntry {
932                    slot: EquipmentSlotGroup::Mainhand,
933                    attribute: Attribute::AttackDamage,
934                    display: AttributeModifierDisplay::Default,
935                    modifier: AttributeModifier {
936                        id: "minecraft:base_attack_damage".into(),
937                        amount: 9.0,
938                        operation: AttributeModifierOperation::AddValue,
939                    },
940                },
941                AttributeModifiersEntry {
942                    slot: EquipmentSlotGroup::Mainhand,
943                    attribute: Attribute::AttackSpeed,
944                    display: AttributeModifierDisplay::Default,
945                    modifier: AttributeModifier {
946                        id: "minecraft:base_attack_speed".into(),
947                        amount: -3.0,
948                        operation: AttributeModifierOperation::AddValue,
949                    },
950                },
951            ],
952            Item::NetheriteBoots => vec![
953                AttributeModifiersEntry {
954                    slot: EquipmentSlotGroup::Feet,
955                    attribute: Attribute::Armor,
956                    display: AttributeModifierDisplay::Default,
957                    modifier: AttributeModifier {
958                        id: "minecraft:armor.boots".into(),
959                        amount: 3.0,
960                        operation: AttributeModifierOperation::AddValue,
961                    },
962                },
963                AttributeModifiersEntry {
964                    slot: EquipmentSlotGroup::Feet,
965                    attribute: Attribute::ArmorToughness,
966                    display: AttributeModifierDisplay::Default,
967                    modifier: AttributeModifier {
968                        id: "minecraft:armor.boots".into(),
969                        amount: 3.0,
970                        operation: AttributeModifierOperation::AddValue,
971                    },
972                },
973                AttributeModifiersEntry {
974                    slot: EquipmentSlotGroup::Feet,
975                    attribute: Attribute::KnockbackResistance,
976                    display: AttributeModifierDisplay::Default,
977                    modifier: AttributeModifier {
978                        id: "minecraft:armor.boots".into(),
979                        amount: 0.10000000149011612,
980                        operation: AttributeModifierOperation::AddValue,
981                    },
982                },
983            ],
984            Item::NetheriteChestplate => vec![
985                AttributeModifiersEntry {
986                    slot: EquipmentSlotGroup::Chest,
987                    attribute: Attribute::Armor,
988                    display: AttributeModifierDisplay::Default,
989                    modifier: AttributeModifier {
990                        id: "minecraft:armor.chestplate".into(),
991                        amount: 8.0,
992                        operation: AttributeModifierOperation::AddValue,
993                    },
994                },
995                AttributeModifiersEntry {
996                    slot: EquipmentSlotGroup::Chest,
997                    attribute: Attribute::ArmorToughness,
998                    display: AttributeModifierDisplay::Default,
999                    modifier: AttributeModifier {
1000                        id: "minecraft:armor.chestplate".into(),
1001                        amount: 3.0,
1002                        operation: AttributeModifierOperation::AddValue,
1003                    },
1004                },
1005                AttributeModifiersEntry {
1006                    slot: EquipmentSlotGroup::Chest,
1007                    attribute: Attribute::KnockbackResistance,
1008                    display: AttributeModifierDisplay::Default,
1009                    modifier: AttributeModifier {
1010                        id: "minecraft:armor.chestplate".into(),
1011                        amount: 0.10000000149011612,
1012                        operation: AttributeModifierOperation::AddValue,
1013                    },
1014                },
1015            ],
1016            Item::NetheriteHelmet => vec![
1017                AttributeModifiersEntry {
1018                    slot: EquipmentSlotGroup::Head,
1019                    attribute: Attribute::Armor,
1020                    display: AttributeModifierDisplay::Default,
1021                    modifier: AttributeModifier {
1022                        id: "minecraft:armor.helmet".into(),
1023                        amount: 3.0,
1024                        operation: AttributeModifierOperation::AddValue,
1025                    },
1026                },
1027                AttributeModifiersEntry {
1028                    slot: EquipmentSlotGroup::Head,
1029                    attribute: Attribute::ArmorToughness,
1030                    display: AttributeModifierDisplay::Default,
1031                    modifier: AttributeModifier {
1032                        id: "minecraft:armor.helmet".into(),
1033                        amount: 3.0,
1034                        operation: AttributeModifierOperation::AddValue,
1035                    },
1036                },
1037                AttributeModifiersEntry {
1038                    slot: EquipmentSlotGroup::Head,
1039                    attribute: Attribute::KnockbackResistance,
1040                    display: AttributeModifierDisplay::Default,
1041                    modifier: AttributeModifier {
1042                        id: "minecraft:armor.helmet".into(),
1043                        amount: 0.10000000149011612,
1044                        operation: AttributeModifierOperation::AddValue,
1045                    },
1046                },
1047            ],
1048            Item::NetheriteHoe => vec![
1049                AttributeModifiersEntry {
1050                    slot: EquipmentSlotGroup::Mainhand,
1051                    attribute: Attribute::AttackDamage,
1052                    display: AttributeModifierDisplay::Default,
1053                    modifier: AttributeModifier {
1054                        id: "minecraft:base_attack_damage".into(),
1055                        amount: 0.0,
1056                        operation: AttributeModifierOperation::AddValue,
1057                    },
1058                },
1059                AttributeModifiersEntry {
1060                    slot: EquipmentSlotGroup::Mainhand,
1061                    attribute: Attribute::AttackSpeed,
1062                    display: AttributeModifierDisplay::Default,
1063                    modifier: AttributeModifier {
1064                        id: "minecraft:base_attack_speed".into(),
1065                        amount: 0.0,
1066                        operation: AttributeModifierOperation::AddValue,
1067                    },
1068                },
1069            ],
1070            Item::NetheriteLeggings => vec![
1071                AttributeModifiersEntry {
1072                    slot: EquipmentSlotGroup::Legs,
1073                    attribute: Attribute::Armor,
1074                    display: AttributeModifierDisplay::Default,
1075                    modifier: AttributeModifier {
1076                        id: "minecraft:armor.leggings".into(),
1077                        amount: 6.0,
1078                        operation: AttributeModifierOperation::AddValue,
1079                    },
1080                },
1081                AttributeModifiersEntry {
1082                    slot: EquipmentSlotGroup::Legs,
1083                    attribute: Attribute::ArmorToughness,
1084                    display: AttributeModifierDisplay::Default,
1085                    modifier: AttributeModifier {
1086                        id: "minecraft:armor.leggings".into(),
1087                        amount: 3.0,
1088                        operation: AttributeModifierOperation::AddValue,
1089                    },
1090                },
1091                AttributeModifiersEntry {
1092                    slot: EquipmentSlotGroup::Legs,
1093                    attribute: Attribute::KnockbackResistance,
1094                    display: AttributeModifierDisplay::Default,
1095                    modifier: AttributeModifier {
1096                        id: "minecraft:armor.leggings".into(),
1097                        amount: 0.10000000149011612,
1098                        operation: AttributeModifierOperation::AddValue,
1099                    },
1100                },
1101            ],
1102            Item::NetheritePickaxe => vec![
1103                AttributeModifiersEntry {
1104                    slot: EquipmentSlotGroup::Mainhand,
1105                    attribute: Attribute::AttackDamage,
1106                    display: AttributeModifierDisplay::Default,
1107                    modifier: AttributeModifier {
1108                        id: "minecraft:base_attack_damage".into(),
1109                        amount: 5.0,
1110                        operation: AttributeModifierOperation::AddValue,
1111                    },
1112                },
1113                AttributeModifiersEntry {
1114                    slot: EquipmentSlotGroup::Mainhand,
1115                    attribute: Attribute::AttackSpeed,
1116                    display: AttributeModifierDisplay::Default,
1117                    modifier: AttributeModifier {
1118                        id: "minecraft:base_attack_speed".into(),
1119                        amount: -2.799999952316284,
1120                        operation: AttributeModifierOperation::AddValue,
1121                    },
1122                },
1123            ],
1124            Item::NetheriteShovel => vec![
1125                AttributeModifiersEntry {
1126                    slot: EquipmentSlotGroup::Mainhand,
1127                    attribute: Attribute::AttackDamage,
1128                    display: AttributeModifierDisplay::Default,
1129                    modifier: AttributeModifier {
1130                        id: "minecraft:base_attack_damage".into(),
1131                        amount: 5.5,
1132                        operation: AttributeModifierOperation::AddValue,
1133                    },
1134                },
1135                AttributeModifiersEntry {
1136                    slot: EquipmentSlotGroup::Mainhand,
1137                    attribute: Attribute::AttackSpeed,
1138                    display: AttributeModifierDisplay::Default,
1139                    modifier: AttributeModifier {
1140                        id: "minecraft:base_attack_speed".into(),
1141                        amount: -3.0,
1142                        operation: AttributeModifierOperation::AddValue,
1143                    },
1144                },
1145            ],
1146            Item::NetheriteSword => vec![
1147                AttributeModifiersEntry {
1148                    slot: EquipmentSlotGroup::Mainhand,
1149                    attribute: Attribute::AttackDamage,
1150                    display: AttributeModifierDisplay::Default,
1151                    modifier: AttributeModifier {
1152                        id: "minecraft:base_attack_damage".into(),
1153                        amount: 7.0,
1154                        operation: AttributeModifierOperation::AddValue,
1155                    },
1156                },
1157                AttributeModifiersEntry {
1158                    slot: EquipmentSlotGroup::Mainhand,
1159                    attribute: Attribute::AttackSpeed,
1160                    display: AttributeModifierDisplay::Default,
1161                    modifier: AttributeModifier {
1162                        id: "minecraft:base_attack_speed".into(),
1163                        amount: -2.4000000953674316,
1164                        operation: AttributeModifierOperation::AddValue,
1165                    },
1166                },
1167            ],
1168            Item::PiglinHead => vec![AttributeModifiersEntry {
1169                display: AttributeModifierDisplay::Hidden,
1170                slot: EquipmentSlotGroup::Head,
1171                attribute: Attribute::WaypointTransmitRange,
1172                modifier: AttributeModifier {
1173                    id: "minecraft:waypoint_transmit_range_hide".into(),
1174                    amount: -1.0,
1175                    operation: AttributeModifierOperation::AddMultipliedTotal,
1176                },
1177            }],
1178            Item::PlayerHead => vec![AttributeModifiersEntry {
1179                display: AttributeModifierDisplay::Hidden,
1180                slot: EquipmentSlotGroup::Head,
1181                attribute: Attribute::WaypointTransmitRange,
1182                modifier: AttributeModifier {
1183                    id: "minecraft:waypoint_transmit_range_hide".into(),
1184                    amount: -1.0,
1185                    operation: AttributeModifierOperation::AddMultipliedTotal,
1186                },
1187            }],
1188            Item::SkeletonSkull => vec![AttributeModifiersEntry {
1189                display: AttributeModifierDisplay::Hidden,
1190                slot: EquipmentSlotGroup::Head,
1191                attribute: Attribute::WaypointTransmitRange,
1192                modifier: AttributeModifier {
1193                    id: "minecraft:waypoint_transmit_range_hide".into(),
1194                    amount: -1.0,
1195                    operation: AttributeModifierOperation::AddMultipliedTotal,
1196                },
1197            }],
1198            Item::StoneAxe => vec![
1199                AttributeModifiersEntry {
1200                    slot: EquipmentSlotGroup::Mainhand,
1201                    attribute: Attribute::AttackDamage,
1202                    display: AttributeModifierDisplay::Default,
1203                    modifier: AttributeModifier {
1204                        id: "minecraft:base_attack_damage".into(),
1205                        amount: 8.0,
1206                        operation: AttributeModifierOperation::AddValue,
1207                    },
1208                },
1209                AttributeModifiersEntry {
1210                    slot: EquipmentSlotGroup::Mainhand,
1211                    attribute: Attribute::AttackSpeed,
1212                    display: AttributeModifierDisplay::Default,
1213                    modifier: AttributeModifier {
1214                        id: "minecraft:base_attack_speed".into(),
1215                        amount: -3.200000047683716,
1216                        operation: AttributeModifierOperation::AddValue,
1217                    },
1218                },
1219            ],
1220            Item::StoneHoe => vec![
1221                AttributeModifiersEntry {
1222                    slot: EquipmentSlotGroup::Mainhand,
1223                    attribute: Attribute::AttackDamage,
1224                    display: AttributeModifierDisplay::Default,
1225                    modifier: AttributeModifier {
1226                        id: "minecraft:base_attack_damage".into(),
1227                        amount: 0.0,
1228                        operation: AttributeModifierOperation::AddValue,
1229                    },
1230                },
1231                AttributeModifiersEntry {
1232                    slot: EquipmentSlotGroup::Mainhand,
1233                    attribute: Attribute::AttackSpeed,
1234                    display: AttributeModifierDisplay::Default,
1235                    modifier: AttributeModifier {
1236                        id: "minecraft:base_attack_speed".into(),
1237                        amount: -2.0,
1238                        operation: AttributeModifierOperation::AddValue,
1239                    },
1240                },
1241            ],
1242            Item::StonePickaxe => vec![
1243                AttributeModifiersEntry {
1244                    slot: EquipmentSlotGroup::Mainhand,
1245                    attribute: Attribute::AttackDamage,
1246                    display: AttributeModifierDisplay::Default,
1247                    modifier: AttributeModifier {
1248                        id: "minecraft:base_attack_damage".into(),
1249                        amount: 2.0,
1250                        operation: AttributeModifierOperation::AddValue,
1251                    },
1252                },
1253                AttributeModifiersEntry {
1254                    slot: EquipmentSlotGroup::Mainhand,
1255                    attribute: Attribute::AttackSpeed,
1256                    display: AttributeModifierDisplay::Default,
1257                    modifier: AttributeModifier {
1258                        id: "minecraft:base_attack_speed".into(),
1259                        amount: -2.799999952316284,
1260                        operation: AttributeModifierOperation::AddValue,
1261                    },
1262                },
1263            ],
1264            Item::StoneShovel => vec![
1265                AttributeModifiersEntry {
1266                    slot: EquipmentSlotGroup::Mainhand,
1267                    attribute: Attribute::AttackDamage,
1268                    display: AttributeModifierDisplay::Default,
1269                    modifier: AttributeModifier {
1270                        id: "minecraft:base_attack_damage".into(),
1271                        amount: 2.5,
1272                        operation: AttributeModifierOperation::AddValue,
1273                    },
1274                },
1275                AttributeModifiersEntry {
1276                    slot: EquipmentSlotGroup::Mainhand,
1277                    attribute: Attribute::AttackSpeed,
1278                    display: AttributeModifierDisplay::Default,
1279                    modifier: AttributeModifier {
1280                        id: "minecraft:base_attack_speed".into(),
1281                        amount: -3.0,
1282                        operation: AttributeModifierOperation::AddValue,
1283                    },
1284                },
1285            ],
1286            Item::StoneSword => vec![
1287                AttributeModifiersEntry {
1288                    slot: EquipmentSlotGroup::Mainhand,
1289                    attribute: Attribute::AttackDamage,
1290                    display: AttributeModifierDisplay::Default,
1291                    modifier: AttributeModifier {
1292                        id: "minecraft:base_attack_damage".into(),
1293                        amount: 4.0,
1294                        operation: AttributeModifierOperation::AddValue,
1295                    },
1296                },
1297                AttributeModifiersEntry {
1298                    slot: EquipmentSlotGroup::Mainhand,
1299                    attribute: Attribute::AttackSpeed,
1300                    display: AttributeModifierDisplay::Default,
1301                    modifier: AttributeModifier {
1302                        id: "minecraft:base_attack_speed".into(),
1303                        amount: -2.4000000953674316,
1304                        operation: AttributeModifierOperation::AddValue,
1305                    },
1306                },
1307            ],
1308            Item::Trident => vec![
1309                AttributeModifiersEntry {
1310                    slot: EquipmentSlotGroup::Mainhand,
1311                    attribute: Attribute::AttackDamage,
1312                    display: AttributeModifierDisplay::Default,
1313                    modifier: AttributeModifier {
1314                        id: "minecraft:base_attack_damage".into(),
1315                        amount: 8.0,
1316                        operation: AttributeModifierOperation::AddValue,
1317                    },
1318                },
1319                AttributeModifiersEntry {
1320                    slot: EquipmentSlotGroup::Mainhand,
1321                    attribute: Attribute::AttackSpeed,
1322                    display: AttributeModifierDisplay::Default,
1323                    modifier: AttributeModifier {
1324                        id: "minecraft:base_attack_speed".into(),
1325                        amount: -2.9000000953674316,
1326                        operation: AttributeModifierOperation::AddValue,
1327                    },
1328                },
1329            ],
1330            Item::TurtleHelmet => vec![
1331                AttributeModifiersEntry {
1332                    slot: EquipmentSlotGroup::Head,
1333                    attribute: Attribute::Armor,
1334                    display: AttributeModifierDisplay::Default,
1335                    modifier: AttributeModifier {
1336                        id: "minecraft:armor.helmet".into(),
1337                        amount: 2.0,
1338                        operation: AttributeModifierOperation::AddValue,
1339                    },
1340                },
1341                AttributeModifiersEntry {
1342                    slot: EquipmentSlotGroup::Head,
1343                    attribute: Attribute::ArmorToughness,
1344                    display: AttributeModifierDisplay::Default,
1345                    modifier: AttributeModifier {
1346                        id: "minecraft:armor.helmet".into(),
1347                        amount: 0.0,
1348                        operation: AttributeModifierOperation::AddValue,
1349                    },
1350                },
1351            ],
1352            Item::WitherSkeletonSkull => vec![AttributeModifiersEntry {
1353                display: AttributeModifierDisplay::Hidden,
1354                slot: EquipmentSlotGroup::Head,
1355                attribute: Attribute::WaypointTransmitRange,
1356                modifier: AttributeModifier {
1357                    id: "minecraft:waypoint_transmit_range_hide".into(),
1358                    amount: -1.0,
1359                    operation: AttributeModifierOperation::AddMultipliedTotal,
1360                },
1361            }],
1362            Item::WolfArmor => vec![
1363                AttributeModifiersEntry {
1364                    slot: EquipmentSlotGroup::Body,
1365                    attribute: Attribute::Armor,
1366                    display: AttributeModifierDisplay::Default,
1367                    modifier: AttributeModifier {
1368                        id: "minecraft:armor.body".into(),
1369                        amount: 11.0,
1370                        operation: AttributeModifierOperation::AddValue,
1371                    },
1372                },
1373                AttributeModifiersEntry {
1374                    slot: EquipmentSlotGroup::Body,
1375                    attribute: Attribute::ArmorToughness,
1376                    display: AttributeModifierDisplay::Default,
1377                    modifier: AttributeModifier {
1378                        id: "minecraft:armor.body".into(),
1379                        amount: 0.0,
1380                        operation: AttributeModifierOperation::AddValue,
1381                    },
1382                },
1383            ],
1384            Item::WoodenAxe => vec![
1385                AttributeModifiersEntry {
1386                    slot: EquipmentSlotGroup::Mainhand,
1387                    attribute: Attribute::AttackDamage,
1388                    display: AttributeModifierDisplay::Default,
1389                    modifier: AttributeModifier {
1390                        id: "minecraft:base_attack_damage".into(),
1391                        amount: 6.0,
1392                        operation: AttributeModifierOperation::AddValue,
1393                    },
1394                },
1395                AttributeModifiersEntry {
1396                    slot: EquipmentSlotGroup::Mainhand,
1397                    attribute: Attribute::AttackSpeed,
1398                    display: AttributeModifierDisplay::Default,
1399                    modifier: AttributeModifier {
1400                        id: "minecraft:base_attack_speed".into(),
1401                        amount: -3.200000047683716,
1402                        operation: AttributeModifierOperation::AddValue,
1403                    },
1404                },
1405            ],
1406            Item::WoodenHoe => vec![
1407                AttributeModifiersEntry {
1408                    slot: EquipmentSlotGroup::Mainhand,
1409                    attribute: Attribute::AttackDamage,
1410                    display: AttributeModifierDisplay::Default,
1411                    modifier: AttributeModifier {
1412                        id: "minecraft:base_attack_damage".into(),
1413                        amount: 0.0,
1414                        operation: AttributeModifierOperation::AddValue,
1415                    },
1416                },
1417                AttributeModifiersEntry {
1418                    slot: EquipmentSlotGroup::Mainhand,
1419                    attribute: Attribute::AttackSpeed,
1420                    display: AttributeModifierDisplay::Default,
1421                    modifier: AttributeModifier {
1422                        id: "minecraft:base_attack_speed".into(),
1423                        amount: -3.0,
1424                        operation: AttributeModifierOperation::AddValue,
1425                    },
1426                },
1427            ],
1428            Item::WoodenPickaxe => vec![
1429                AttributeModifiersEntry {
1430                    slot: EquipmentSlotGroup::Mainhand,
1431                    attribute: Attribute::AttackDamage,
1432                    display: AttributeModifierDisplay::Default,
1433                    modifier: AttributeModifier {
1434                        id: "minecraft:base_attack_damage".into(),
1435                        amount: 1.0,
1436                        operation: AttributeModifierOperation::AddValue,
1437                    },
1438                },
1439                AttributeModifiersEntry {
1440                    slot: EquipmentSlotGroup::Mainhand,
1441                    attribute: Attribute::AttackSpeed,
1442                    display: AttributeModifierDisplay::Default,
1443                    modifier: AttributeModifier {
1444                        id: "minecraft:base_attack_speed".into(),
1445                        amount: -2.799999952316284,
1446                        operation: AttributeModifierOperation::AddValue,
1447                    },
1448                },
1449            ],
1450            Item::WoodenShovel => vec![
1451                AttributeModifiersEntry {
1452                    slot: EquipmentSlotGroup::Mainhand,
1453                    attribute: Attribute::AttackDamage,
1454                    display: AttributeModifierDisplay::Default,
1455                    modifier: AttributeModifier {
1456                        id: "minecraft:base_attack_damage".into(),
1457                        amount: 1.5,
1458                        operation: AttributeModifierOperation::AddValue,
1459                    },
1460                },
1461                AttributeModifiersEntry {
1462                    slot: EquipmentSlotGroup::Mainhand,
1463                    attribute: Attribute::AttackSpeed,
1464                    display: AttributeModifierDisplay::Default,
1465                    modifier: AttributeModifier {
1466                        id: "minecraft:base_attack_speed".into(),
1467                        amount: -3.0,
1468                        operation: AttributeModifierOperation::AddValue,
1469                    },
1470                },
1471            ],
1472            Item::WoodenSword => vec![
1473                AttributeModifiersEntry {
1474                    slot: EquipmentSlotGroup::Mainhand,
1475                    attribute: Attribute::AttackDamage,
1476                    display: AttributeModifierDisplay::Default,
1477                    modifier: AttributeModifier {
1478                        id: "minecraft:base_attack_damage".into(),
1479                        amount: 3.0,
1480                        operation: AttributeModifierOperation::AddValue,
1481                    },
1482                },
1483                AttributeModifiersEntry {
1484                    slot: EquipmentSlotGroup::Mainhand,
1485                    attribute: Attribute::AttackSpeed,
1486                    display: AttributeModifierDisplay::Default,
1487                    modifier: AttributeModifier {
1488                        id: "minecraft:base_attack_speed".into(),
1489                        amount: -2.4000000953674316,
1490                        operation: AttributeModifierOperation::AddValue,
1491                    },
1492                },
1493            ],
1494            Item::ZombieHead => vec![AttributeModifiersEntry {
1495                display: AttributeModifierDisplay::Hidden,
1496                slot: EquipmentSlotGroup::Head,
1497                attribute: Attribute::WaypointTransmitRange,
1498                modifier: AttributeModifier {
1499                    id: "minecraft:waypoint_transmit_range_hide".into(),
1500                    amount: -1.0,
1501                    operation: AttributeModifierOperation::AddMultipliedTotal,
1502                },
1503            }],
1504            _ => vec![],
1505        };
1506        Some(AttributeModifiers { modifiers: value })
1507    }
1508}
1509impl DefaultableComponent for BreakSound {
1510    fn default_for_item(item: Item) -> Option<Self> {
1511        let value = match item {
1512            Item::Shield => azalea_registry::Holder::Reference(SoundEvent::ItemShieldBreak),
1513            Item::WolfArmor => azalea_registry::Holder::Reference(SoundEvent::ItemWolfArmorBreak),
1514            _ => azalea_registry::Holder::Reference(SoundEvent::EntityItemBreak),
1515        };
1516        Some(BreakSound { sound: value })
1517    }
1518}
1519impl DefaultableComponent for Enchantments {
1520    fn default_for_item(_item: Item) -> Option<Self> {
1521        Some(Enchantments {
1522            levels: HashMap::from_iter([]),
1523        })
1524    }
1525}
1526#[rustfmt::skip]
1527static ITEM_MODEL_VALUES: [&str; 1416] = ["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: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: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: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: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: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: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: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:armadillo_spawn_egg","minecraft:allay_spawn_egg","minecraft:axolotl_spawn_egg","minecraft:bat_spawn_egg","minecraft:bee_spawn_egg","minecraft:blaze_spawn_egg","minecraft:bogged_spawn_egg","minecraft:breeze_spawn_egg","minecraft:cat_spawn_egg","minecraft:camel_spawn_egg","minecraft:cave_spider_spawn_egg","minecraft:chicken_spawn_egg","minecraft:cod_spawn_egg","minecraft:cow_spawn_egg","minecraft:creeper_spawn_egg","minecraft:dolphin_spawn_egg","minecraft:donkey_spawn_egg","minecraft:drowned_spawn_egg","minecraft:elder_guardian_spawn_egg","minecraft:ender_dragon_spawn_egg","minecraft:enderman_spawn_egg","minecraft:endermite_spawn_egg","minecraft:evoker_spawn_egg","minecraft:fox_spawn_egg","minecraft:frog_spawn_egg","minecraft:ghast_spawn_egg","minecraft:happy_ghast_spawn_egg","minecraft:glow_squid_spawn_egg","minecraft:goat_spawn_egg","minecraft:guardian_spawn_egg","minecraft:hoglin_spawn_egg","minecraft:horse_spawn_egg","minecraft:husk_spawn_egg","minecraft:iron_golem_spawn_egg","minecraft:llama_spawn_egg","minecraft:magma_cube_spawn_egg","minecraft:mooshroom_spawn_egg","minecraft:mule_spawn_egg","minecraft:ocelot_spawn_egg","minecraft:panda_spawn_egg","minecraft:parrot_spawn_egg","minecraft:phantom_spawn_egg","minecraft:pig_spawn_egg","minecraft:piglin_spawn_egg","minecraft:piglin_brute_spawn_egg","minecraft:pillager_spawn_egg","minecraft:polar_bear_spawn_egg","minecraft:pufferfish_spawn_egg","minecraft:rabbit_spawn_egg","minecraft:ravager_spawn_egg","minecraft:salmon_spawn_egg","minecraft:sheep_spawn_egg","minecraft:shulker_spawn_egg","minecraft:silverfish_spawn_egg","minecraft:skeleton_spawn_egg","minecraft:skeleton_horse_spawn_egg","minecraft:slime_spawn_egg","minecraft:sniffer_spawn_egg","minecraft:snow_golem_spawn_egg","minecraft:spider_spawn_egg","minecraft:squid_spawn_egg","minecraft:stray_spawn_egg","minecraft:strider_spawn_egg","minecraft:tadpole_spawn_egg","minecraft:trader_llama_spawn_egg","minecraft:tropical_fish_spawn_egg","minecraft:turtle_spawn_egg","minecraft:vex_spawn_egg","minecraft:villager_spawn_egg","minecraft:vindicator_spawn_egg","minecraft:wandering_trader_spawn_egg","minecraft:warden_spawn_egg","minecraft:witch_spawn_egg","minecraft:wither_spawn_egg","minecraft:wither_skeleton_spawn_egg","minecraft:wolf_spawn_egg","minecraft:zoglin_spawn_egg","minecraft:creaking_spawn_egg","minecraft:zombie_spawn_egg","minecraft:zombie_horse_spawn_egg","minecraft:zombie_villager_spawn_egg","minecraft:zombified_piglin_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:iron_horse_armor","minecraft:golden_horse_armor","minecraft:diamond_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:totem_of_undying","minecraft:shulker_shell","minecraft:iron_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: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: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:trial_spawner","minecraft:trial_key","minecraft:ominous_trial_key","minecraft:vault","minecraft:ominous_bottle"];
1528impl DefaultableComponent for ItemModel {
1529    fn default_for_item(item: Item) -> Option<Self> {
1530        let value = ITEM_MODEL_VALUES[item as usize];
1531        Some(ItemModel {
1532            resource_location: value.into(),
1533        })
1534    }
1535}
1536#[rustfmt::skip]
1537static ITEM_NAME_VALUES: [&str; 1416] = ["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.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.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.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.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.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.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.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.armadillo_spawn_egg","item.minecraft.allay_spawn_egg","item.minecraft.axolotl_spawn_egg","item.minecraft.bat_spawn_egg","item.minecraft.bee_spawn_egg","item.minecraft.blaze_spawn_egg","item.minecraft.bogged_spawn_egg","item.minecraft.breeze_spawn_egg","item.minecraft.cat_spawn_egg","item.minecraft.camel_spawn_egg","item.minecraft.cave_spider_spawn_egg","item.minecraft.chicken_spawn_egg","item.minecraft.cod_spawn_egg","item.minecraft.cow_spawn_egg","item.minecraft.creeper_spawn_egg","item.minecraft.dolphin_spawn_egg","item.minecraft.donkey_spawn_egg","item.minecraft.drowned_spawn_egg","item.minecraft.elder_guardian_spawn_egg","item.minecraft.ender_dragon_spawn_egg","item.minecraft.enderman_spawn_egg","item.minecraft.endermite_spawn_egg","item.minecraft.evoker_spawn_egg","item.minecraft.fox_spawn_egg","item.minecraft.frog_spawn_egg","item.minecraft.ghast_spawn_egg","item.minecraft.happy_ghast_spawn_egg","item.minecraft.glow_squid_spawn_egg","item.minecraft.goat_spawn_egg","item.minecraft.guardian_spawn_egg","item.minecraft.hoglin_spawn_egg","item.minecraft.horse_spawn_egg","item.minecraft.husk_spawn_egg","item.minecraft.iron_golem_spawn_egg","item.minecraft.llama_spawn_egg","item.minecraft.magma_cube_spawn_egg","item.minecraft.mooshroom_spawn_egg","item.minecraft.mule_spawn_egg","item.minecraft.ocelot_spawn_egg","item.minecraft.panda_spawn_egg","item.minecraft.parrot_spawn_egg","item.minecraft.phantom_spawn_egg","item.minecraft.pig_spawn_egg","item.minecraft.piglin_spawn_egg","item.minecraft.piglin_brute_spawn_egg","item.minecraft.pillager_spawn_egg","item.minecraft.polar_bear_spawn_egg","item.minecraft.pufferfish_spawn_egg","item.minecraft.rabbit_spawn_egg","item.minecraft.ravager_spawn_egg","item.minecraft.salmon_spawn_egg","item.minecraft.sheep_spawn_egg","item.minecraft.shulker_spawn_egg","item.minecraft.silverfish_spawn_egg","item.minecraft.skeleton_spawn_egg","item.minecraft.skeleton_horse_spawn_egg","item.minecraft.slime_spawn_egg","item.minecraft.sniffer_spawn_egg","item.minecraft.snow_golem_spawn_egg","item.minecraft.spider_spawn_egg","item.minecraft.squid_spawn_egg","item.minecraft.stray_spawn_egg","item.minecraft.strider_spawn_egg","item.minecraft.tadpole_spawn_egg","item.minecraft.trader_llama_spawn_egg","item.minecraft.tropical_fish_spawn_egg","item.minecraft.turtle_spawn_egg","item.minecraft.vex_spawn_egg","item.minecraft.villager_spawn_egg","item.minecraft.vindicator_spawn_egg","item.minecraft.wandering_trader_spawn_egg","item.minecraft.warden_spawn_egg","item.minecraft.witch_spawn_egg","item.minecraft.wither_spawn_egg","item.minecraft.wither_skeleton_spawn_egg","item.minecraft.wolf_spawn_egg","item.minecraft.zoglin_spawn_egg","item.minecraft.creaking_spawn_egg","item.minecraft.zombie_spawn_egg","item.minecraft.zombie_horse_spawn_egg","item.minecraft.zombie_villager_spawn_egg","item.minecraft.zombified_piglin_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.iron_horse_armor","item.minecraft.golden_horse_armor","item.minecraft.diamond_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.totem_of_undying","item.minecraft.shulker_shell","item.minecraft.iron_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.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","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.trial_spawner","item.minecraft.trial_key","item.minecraft.ominous_trial_key","block.minecraft.vault","item.minecraft.ominous_bottle"];
1538impl DefaultableComponent for ItemName {
1539    fn default_for_item(item: Item) -> Option<Self> {
1540        let value = ITEM_NAME_VALUES[item as usize];
1541        Some(ItemName {
1542            name: TranslatableComponent::from(value).into(),
1543        })
1544    }
1545}
1546impl DefaultableComponent for Lore {
1547    fn default_for_item(_item: Item) -> Option<Self> {
1548        Some(Lore { lines: vec![] })
1549    }
1550}
1551#[rustfmt::skip]
1552static MAX_STACK_SIZE_VALUES: [i32; 1416] = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,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,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,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,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,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,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,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,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,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];
1553impl DefaultableComponent for MaxStackSize {
1554    fn default_for_item(item: Item) -> Option<Self> {
1555        let value = MAX_STACK_SIZE_VALUES[item as usize];
1556        Some(MaxStackSize { count: value })
1557    }
1558}
1559impl DefaultableComponent for Rarity {
1560    fn default_for_item(item: Item) -> Option<Self> {
1561        let value = match item {
1562            Item::AnglerPotterySherd => Rarity::Uncommon,
1563            Item::ArcherPotterySherd => Rarity::Uncommon,
1564            Item::ArmsUpPotterySherd => Rarity::Uncommon,
1565            Item::Barrier => Rarity::Epic,
1566            Item::Beacon => Rarity::Rare,
1567            Item::BladePotterySherd => Rarity::Uncommon,
1568            Item::BoltArmorTrimSmithingTemplate => Rarity::Uncommon,
1569            Item::BrewerPotterySherd => Rarity::Uncommon,
1570            Item::BurnPotterySherd => Rarity::Uncommon,
1571            Item::ChainCommandBlock => Rarity::Epic,
1572            Item::ChainmailBoots => Rarity::Uncommon,
1573            Item::ChainmailChestplate => Rarity::Uncommon,
1574            Item::ChainmailHelmet => Rarity::Uncommon,
1575            Item::ChainmailLeggings => Rarity::Uncommon,
1576            Item::CoastArmorTrimSmithingTemplate => Rarity::Uncommon,
1577            Item::CommandBlock => Rarity::Epic,
1578            Item::CommandBlockMinecart => Rarity::Epic,
1579            Item::Conduit => Rarity::Uncommon,
1580            Item::CreeperBannerPattern => Rarity::Uncommon,
1581            Item::CreeperHead => Rarity::Uncommon,
1582            Item::DangerPotterySherd => Rarity::Uncommon,
1583            Item::DebugStick => Rarity::Epic,
1584            Item::DiscFragment5 => Rarity::Uncommon,
1585            Item::DragonBreath => Rarity::Uncommon,
1586            Item::DragonEgg => Rarity::Epic,
1587            Item::DragonHead => Rarity::Epic,
1588            Item::DuneArmorTrimSmithingTemplate => Rarity::Uncommon,
1589            Item::EchoShard => Rarity::Uncommon,
1590            Item::Elytra => Rarity::Epic,
1591            Item::EnchantedBook => Rarity::Uncommon,
1592            Item::EnchantedGoldenApple => Rarity::Rare,
1593            Item::ExperienceBottle => Rarity::Uncommon,
1594            Item::ExplorerPotterySherd => Rarity::Uncommon,
1595            Item::EyeArmorTrimSmithingTemplate => Rarity::Rare,
1596            Item::FlowArmorTrimSmithingTemplate => Rarity::Uncommon,
1597            Item::FlowBannerPattern => Rarity::Rare,
1598            Item::FlowPotterySherd => Rarity::Uncommon,
1599            Item::FriendPotterySherd => Rarity::Uncommon,
1600            Item::GoatHorn => Rarity::Uncommon,
1601            Item::GusterBannerPattern => Rarity::Rare,
1602            Item::GusterPotterySherd => Rarity::Uncommon,
1603            Item::HeartOfTheSea => Rarity::Uncommon,
1604            Item::HeartPotterySherd => Rarity::Uncommon,
1605            Item::HeartbreakPotterySherd => Rarity::Uncommon,
1606            Item::HeavyCore => Rarity::Epic,
1607            Item::HostArmorTrimSmithingTemplate => Rarity::Uncommon,
1608            Item::HowlPotterySherd => Rarity::Uncommon,
1609            Item::Jigsaw => Rarity::Epic,
1610            Item::KnowledgeBook => Rarity::Epic,
1611            Item::Light => Rarity::Epic,
1612            Item::Mace => Rarity::Epic,
1613            Item::MinerPotterySherd => Rarity::Uncommon,
1614            Item::MojangBannerPattern => Rarity::Rare,
1615            Item::MournerPotterySherd => Rarity::Uncommon,
1616            Item::MusicDisc11 => Rarity::Uncommon,
1617            Item::MusicDisc13 => Rarity::Uncommon,
1618            Item::MusicDisc5 => Rarity::Uncommon,
1619            Item::MusicDiscBlocks => Rarity::Uncommon,
1620            Item::MusicDiscCat => Rarity::Uncommon,
1621            Item::MusicDiscChirp => Rarity::Uncommon,
1622            Item::MusicDiscCreator => Rarity::Rare,
1623            Item::MusicDiscCreatorMusicBox => Rarity::Uncommon,
1624            Item::MusicDiscFar => Rarity::Uncommon,
1625            Item::MusicDiscLavaChicken => Rarity::Rare,
1626            Item::MusicDiscMall => Rarity::Uncommon,
1627            Item::MusicDiscMellohi => Rarity::Uncommon,
1628            Item::MusicDiscOtherside => Rarity::Rare,
1629            Item::MusicDiscPigstep => Rarity::Rare,
1630            Item::MusicDiscPrecipice => Rarity::Uncommon,
1631            Item::MusicDiscRelic => Rarity::Uncommon,
1632            Item::MusicDiscStal => Rarity::Uncommon,
1633            Item::MusicDiscStrad => Rarity::Uncommon,
1634            Item::MusicDiscTears => Rarity::Uncommon,
1635            Item::MusicDiscWait => Rarity::Uncommon,
1636            Item::MusicDiscWard => Rarity::Uncommon,
1637            Item::NautilusShell => Rarity::Uncommon,
1638            Item::NetherStar => Rarity::Rare,
1639            Item::NetheriteUpgradeSmithingTemplate => Rarity::Uncommon,
1640            Item::OminousBottle => Rarity::Uncommon,
1641            Item::PiglinBannerPattern => Rarity::Uncommon,
1642            Item::PiglinHead => Rarity::Uncommon,
1643            Item::PlayerHead => Rarity::Uncommon,
1644            Item::PlentyPotterySherd => Rarity::Uncommon,
1645            Item::PrizePotterySherd => Rarity::Uncommon,
1646            Item::RaiserArmorTrimSmithingTemplate => Rarity::Uncommon,
1647            Item::RecoveryCompass => Rarity::Uncommon,
1648            Item::RepeatingCommandBlock => Rarity::Epic,
1649            Item::RibArmorTrimSmithingTemplate => Rarity::Uncommon,
1650            Item::ScrapePotterySherd => Rarity::Uncommon,
1651            Item::SentryArmorTrimSmithingTemplate => Rarity::Uncommon,
1652            Item::ShaperArmorTrimSmithingTemplate => Rarity::Uncommon,
1653            Item::SheafPotterySherd => Rarity::Uncommon,
1654            Item::ShelterPotterySherd => Rarity::Uncommon,
1655            Item::SilenceArmorTrimSmithingTemplate => Rarity::Epic,
1656            Item::SkeletonSkull => Rarity::Uncommon,
1657            Item::SkullBannerPattern => Rarity::Rare,
1658            Item::SkullPotterySherd => Rarity::Uncommon,
1659            Item::SnifferEgg => Rarity::Uncommon,
1660            Item::SnortPotterySherd => Rarity::Uncommon,
1661            Item::SnoutArmorTrimSmithingTemplate => Rarity::Uncommon,
1662            Item::SpireArmorTrimSmithingTemplate => Rarity::Rare,
1663            Item::StructureBlock => Rarity::Epic,
1664            Item::StructureVoid => Rarity::Epic,
1665            Item::TestBlock => Rarity::Epic,
1666            Item::TestInstanceBlock => Rarity::Epic,
1667            Item::TideArmorTrimSmithingTemplate => Rarity::Uncommon,
1668            Item::TotemOfUndying => Rarity::Uncommon,
1669            Item::Trident => Rarity::Rare,
1670            Item::VexArmorTrimSmithingTemplate => Rarity::Rare,
1671            Item::WardArmorTrimSmithingTemplate => Rarity::Rare,
1672            Item::WayfinderArmorTrimSmithingTemplate => Rarity::Uncommon,
1673            Item::WildArmorTrimSmithingTemplate => Rarity::Uncommon,
1674            Item::WitherSkeletonSkull => Rarity::Rare,
1675            Item::ZombieHead => Rarity::Uncommon,
1676            _ => Rarity::Common,
1677        };
1678        Some(value)
1679    }
1680}
1681impl DefaultableComponent for RepairCost {
1682    fn default_for_item(_item: Item) -> Option<Self> {
1683        Some(RepairCost { cost: 0 })
1684    }
1685}
1686impl DefaultableComponent for TooltipDisplay {
1687    fn default_for_item(_item: Item) -> Option<Self> {
1688        Some(TooltipDisplay::new())
1689    }
1690}
1691impl DefaultableComponent for ProvidesTrimMaterial {
1692    fn default_for_item(item: Item) -> Option<Self> {
1693        let value = match item {
1694            Item::AmethystShard => ProvidesTrimMaterial::Referenced("minecraft:amethyst".into()),
1695            Item::CopperIngot => ProvidesTrimMaterial::Referenced("minecraft:copper".into()),
1696            Item::Diamond => ProvidesTrimMaterial::Referenced("minecraft:diamond".into()),
1697            Item::Emerald => ProvidesTrimMaterial::Referenced("minecraft:emerald".into()),
1698            Item::GoldIngot => ProvidesTrimMaterial::Referenced("minecraft:gold".into()),
1699            Item::IronIngot => ProvidesTrimMaterial::Referenced("minecraft:iron".into()),
1700            Item::LapisLazuli => ProvidesTrimMaterial::Referenced("minecraft:lapis".into()),
1701            Item::NetheriteIngot => ProvidesTrimMaterial::Referenced("minecraft:netherite".into()),
1702            Item::Quartz => ProvidesTrimMaterial::Referenced("minecraft:quartz".into()),
1703            Item::Redstone => ProvidesTrimMaterial::Referenced("minecraft:redstone".into()),
1704            Item::ResinBrick => ProvidesTrimMaterial::Referenced("minecraft:resin".into()),
1705            _ => return None,
1706        };
1707        Some(value)
1708    }
1709}
1710impl DefaultableComponent for DamageResistant {
1711    fn default_for_item(item: Item) -> Option<Self> {
1712        let value = match item {
1713            Item::AncientDebris => "#minecraft:is_fire".into(),
1714            Item::NetherStar => "#minecraft:is_explosion".into(),
1715            Item::NetheriteAxe => "#minecraft:is_fire".into(),
1716            Item::NetheriteBlock => "#minecraft:is_fire".into(),
1717            Item::NetheriteBoots => "#minecraft:is_fire".into(),
1718            Item::NetheriteChestplate => "#minecraft:is_fire".into(),
1719            Item::NetheriteHelmet => "#minecraft:is_fire".into(),
1720            Item::NetheriteHoe => "#minecraft:is_fire".into(),
1721            Item::NetheriteIngot => "#minecraft:is_fire".into(),
1722            Item::NetheriteLeggings => "#minecraft:is_fire".into(),
1723            Item::NetheritePickaxe => "#minecraft:is_fire".into(),
1724            Item::NetheriteScrap => "#minecraft:is_fire".into(),
1725            Item::NetheriteShovel => "#minecraft:is_fire".into(),
1726            Item::NetheriteSword => "#minecraft:is_fire".into(),
1727            _ => return None,
1728        };
1729        Some(DamageResistant { types: value })
1730    }
1731}
1732impl DefaultableComponent for Consumable {
1733    fn default_for_item(item: Item) -> Option<Self> {
1734        let value = match item {
1735            Item::Apple => Consumable::new(),
1736            Item::BakedPotato => Consumable::new(),
1737            Item::Beef => Consumable::new(),
1738            Item::Beetroot => Consumable::new(),
1739            Item::BeetrootSoup => Consumable::new(),
1740            Item::Bread => Consumable::new(),
1741            Item::Carrot => Consumable::new(),
1742            Item::Chicken => Consumable {
1743                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1744                    effects: vec![MobEffectInstance {
1745                        id: MobEffect::Hunger,
1746                        details: MobEffectDetails {
1747                            duration: 600,
1748                            show_icon: true,
1749                            ..MobEffectDetails::new()
1750                        },
1751                    }],
1752                    probability: 0.3,
1753                }],
1754                ..Consumable::new()
1755            },
1756            Item::ChorusFruit => Consumable {
1757                on_consume_effects: vec![ConsumeEffect::TeleportRandomly { diameter: 16.0 }],
1758                ..Consumable::new()
1759            },
1760            Item::Cod => Consumable::new(),
1761            Item::CookedBeef => Consumable::new(),
1762            Item::CookedChicken => Consumable::new(),
1763            Item::CookedCod => Consumable::new(),
1764            Item::CookedMutton => Consumable::new(),
1765            Item::CookedPorkchop => Consumable::new(),
1766            Item::CookedRabbit => Consumable::new(),
1767            Item::CookedSalmon => Consumable::new(),
1768            Item::Cookie => Consumable::new(),
1769            Item::DriedKelp => Consumable {
1770                consume_seconds: 0.8,
1771                ..Consumable::new()
1772            },
1773            Item::EnchantedGoldenApple => Consumable {
1774                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1775                    effects: vec![
1776                        MobEffectInstance {
1777                            id: MobEffect::Regeneration,
1778                            details: MobEffectDetails {
1779                                amplifier: 1,
1780                                duration: 400,
1781                                show_icon: true,
1782                                ..MobEffectDetails::new()
1783                            },
1784                        },
1785                        MobEffectInstance {
1786                            id: MobEffect::Resistance,
1787                            details: MobEffectDetails {
1788                                duration: 6000,
1789                                show_icon: true,
1790                                ..MobEffectDetails::new()
1791                            },
1792                        },
1793                        MobEffectInstance {
1794                            id: MobEffect::FireResistance,
1795                            details: MobEffectDetails {
1796                                duration: 6000,
1797                                show_icon: true,
1798                                ..MobEffectDetails::new()
1799                            },
1800                        },
1801                        MobEffectInstance {
1802                            id: MobEffect::Absorption,
1803                            details: MobEffectDetails {
1804                                amplifier: 3,
1805                                duration: 2400,
1806                                show_icon: true,
1807                                ..MobEffectDetails::new()
1808                            },
1809                        },
1810                    ],
1811                    probability: 1.0,
1812                }],
1813                ..Consumable::new()
1814            },
1815            Item::GlowBerries => Consumable::new(),
1816            Item::GoldenApple => Consumable {
1817                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1818                    effects: vec![
1819                        MobEffectInstance {
1820                            id: MobEffect::Regeneration,
1821                            details: MobEffectDetails {
1822                                amplifier: 1,
1823                                duration: 100,
1824                                show_icon: true,
1825                                ..MobEffectDetails::new()
1826                            },
1827                        },
1828                        MobEffectInstance {
1829                            id: MobEffect::Absorption,
1830                            details: MobEffectDetails {
1831                                duration: 2400,
1832                                show_icon: true,
1833                                ..MobEffectDetails::new()
1834                            },
1835                        },
1836                    ],
1837                    probability: 1.0,
1838                }],
1839                ..Consumable::new()
1840            },
1841            Item::GoldenCarrot => Consumable::new(),
1842            Item::HoneyBottle => Consumable {
1843                animation: ItemUseAnimation::Drink,
1844                consume_seconds: 2.0,
1845                has_consume_particles: false,
1846                on_consume_effects: vec![ConsumeEffect::RemoveEffects {
1847                    effects: HolderSet::Direct {
1848                        contents: vec![MobEffect::Poison],
1849                    },
1850                }],
1851                sound: azalea_registry::Holder::Reference(SoundEvent::ItemHoneyBottleDrink),
1852            },
1853            Item::MelonSlice => Consumable::new(),
1854            Item::MilkBucket => Consumable {
1855                animation: ItemUseAnimation::Drink,
1856                has_consume_particles: false,
1857                on_consume_effects: vec![ConsumeEffect::ClearAllEffects {}],
1858                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
1859                ..Consumable::new()
1860            },
1861            Item::MushroomStew => Consumable::new(),
1862            Item::Mutton => Consumable::new(),
1863            Item::OminousBottle => Consumable {
1864                animation: ItemUseAnimation::Drink,
1865                has_consume_particles: false,
1866                on_consume_effects: vec![ConsumeEffect::PlaySound {
1867                    sound: SoundEvent::ItemOminousBottleDispose,
1868                }],
1869                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
1870                ..Consumable::new()
1871            },
1872            Item::PoisonousPotato => Consumable {
1873                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1874                    effects: vec![MobEffectInstance {
1875                        id: MobEffect::Poison,
1876                        details: MobEffectDetails {
1877                            duration: 100,
1878                            show_icon: true,
1879                            ..MobEffectDetails::new()
1880                        },
1881                    }],
1882                    probability: 0.6,
1883                }],
1884                ..Consumable::new()
1885            },
1886            Item::Porkchop => Consumable::new(),
1887            Item::Potato => Consumable::new(),
1888            Item::Potion => Consumable {
1889                animation: ItemUseAnimation::Drink,
1890                has_consume_particles: false,
1891                sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
1892                ..Consumable::new()
1893            },
1894            Item::Pufferfish => Consumable {
1895                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1896                    effects: vec![
1897                        MobEffectInstance {
1898                            id: MobEffect::Poison,
1899                            details: MobEffectDetails {
1900                                amplifier: 1,
1901                                duration: 1200,
1902                                show_icon: true,
1903                                ..MobEffectDetails::new()
1904                            },
1905                        },
1906                        MobEffectInstance {
1907                            id: MobEffect::Hunger,
1908                            details: MobEffectDetails {
1909                                amplifier: 2,
1910                                duration: 300,
1911                                show_icon: true,
1912                                ..MobEffectDetails::new()
1913                            },
1914                        },
1915                        MobEffectInstance {
1916                            id: MobEffect::Nausea,
1917                            details: MobEffectDetails {
1918                                duration: 300,
1919                                show_icon: true,
1920                                ..MobEffectDetails::new()
1921                            },
1922                        },
1923                    ],
1924                    probability: 1.0,
1925                }],
1926                ..Consumable::new()
1927            },
1928            Item::PumpkinPie => Consumable::new(),
1929            Item::Rabbit => Consumable::new(),
1930            Item::RabbitStew => Consumable::new(),
1931            Item::RottenFlesh => Consumable {
1932                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1933                    effects: vec![MobEffectInstance {
1934                        id: MobEffect::Hunger,
1935                        details: MobEffectDetails {
1936                            duration: 600,
1937                            show_icon: true,
1938                            ..MobEffectDetails::new()
1939                        },
1940                    }],
1941                    probability: 0.8,
1942                }],
1943                ..Consumable::new()
1944            },
1945            Item::Salmon => Consumable::new(),
1946            Item::SpiderEye => Consumable {
1947                on_consume_effects: vec![ConsumeEffect::ApplyEffects {
1948                    effects: vec![MobEffectInstance {
1949                        id: MobEffect::Poison,
1950                        details: MobEffectDetails {
1951                            duration: 100,
1952                            show_icon: true,
1953                            ..MobEffectDetails::new()
1954                        },
1955                    }],
1956                    probability: 1.0,
1957                }],
1958                ..Consumable::new()
1959            },
1960            Item::SuspiciousStew => Consumable::new(),
1961            Item::SweetBerries => Consumable::new(),
1962            Item::TropicalFish => Consumable::new(),
1963            _ => return None,
1964        };
1965        Some(value)
1966    }
1967}
1968impl DefaultableComponent for Food {
1969    fn default_for_item(item: Item) -> Option<Self> {
1970        let value = match item {
1971            Item::Apple => Food {
1972                nutrition: 4,
1973                saturation: 2.4,
1974                ..Food::new()
1975            },
1976            Item::BakedPotato => Food {
1977                nutrition: 5,
1978                saturation: 6.0,
1979                ..Food::new()
1980            },
1981            Item::Beef => Food {
1982                nutrition: 3,
1983                saturation: 1.8000001,
1984                ..Food::new()
1985            },
1986            Item::Beetroot => Food {
1987                nutrition: 1,
1988                saturation: 1.2,
1989                ..Food::new()
1990            },
1991            Item::BeetrootSoup => Food {
1992                nutrition: 6,
1993                saturation: 7.2000003,
1994                ..Food::new()
1995            },
1996            Item::Bread => Food {
1997                nutrition: 5,
1998                saturation: 6.0,
1999                ..Food::new()
2000            },
2001            Item::Carrot => Food {
2002                nutrition: 3,
2003                saturation: 3.6000001,
2004                ..Food::new()
2005            },
2006            Item::Chicken => Food {
2007                nutrition: 2,
2008                saturation: 1.2,
2009                ..Food::new()
2010            },
2011            Item::ChorusFruit => Food {
2012                can_always_eat: true,
2013                nutrition: 4,
2014                saturation: 2.4,
2015            },
2016            Item::Cod => Food {
2017                nutrition: 2,
2018                saturation: 0.4,
2019                ..Food::new()
2020            },
2021            Item::CookedBeef => Food {
2022                nutrition: 8,
2023                saturation: 12.8,
2024                ..Food::new()
2025            },
2026            Item::CookedChicken => Food {
2027                nutrition: 6,
2028                saturation: 7.2000003,
2029                ..Food::new()
2030            },
2031            Item::CookedCod => Food {
2032                nutrition: 5,
2033                saturation: 6.0,
2034                ..Food::new()
2035            },
2036            Item::CookedMutton => Food {
2037                nutrition: 6,
2038                saturation: 9.6,
2039                ..Food::new()
2040            },
2041            Item::CookedPorkchop => Food {
2042                nutrition: 8,
2043                saturation: 12.8,
2044                ..Food::new()
2045            },
2046            Item::CookedRabbit => Food {
2047                nutrition: 5,
2048                saturation: 6.0,
2049                ..Food::new()
2050            },
2051            Item::CookedSalmon => Food {
2052                nutrition: 6,
2053                saturation: 9.6,
2054                ..Food::new()
2055            },
2056            Item::Cookie => Food {
2057                nutrition: 2,
2058                saturation: 0.4,
2059                ..Food::new()
2060            },
2061            Item::DriedKelp => Food {
2062                nutrition: 1,
2063                saturation: 0.6,
2064                ..Food::new()
2065            },
2066            Item::EnchantedGoldenApple => Food {
2067                can_always_eat: true,
2068                nutrition: 4,
2069                saturation: 9.6,
2070            },
2071            Item::GlowBerries => Food {
2072                nutrition: 2,
2073                saturation: 0.4,
2074                ..Food::new()
2075            },
2076            Item::GoldenApple => Food {
2077                can_always_eat: true,
2078                nutrition: 4,
2079                saturation: 9.6,
2080            },
2081            Item::GoldenCarrot => Food {
2082                nutrition: 6,
2083                saturation: 14.400001,
2084                ..Food::new()
2085            },
2086            Item::HoneyBottle => Food {
2087                can_always_eat: true,
2088                nutrition: 6,
2089                saturation: 1.2,
2090            },
2091            Item::MelonSlice => Food {
2092                nutrition: 2,
2093                saturation: 1.2,
2094                ..Food::new()
2095            },
2096            Item::MushroomStew => Food {
2097                nutrition: 6,
2098                saturation: 7.2000003,
2099                ..Food::new()
2100            },
2101            Item::Mutton => Food {
2102                nutrition: 2,
2103                saturation: 1.2,
2104                ..Food::new()
2105            },
2106            Item::PoisonousPotato => Food {
2107                nutrition: 2,
2108                saturation: 1.2,
2109                ..Food::new()
2110            },
2111            Item::Porkchop => Food {
2112                nutrition: 3,
2113                saturation: 1.8000001,
2114                ..Food::new()
2115            },
2116            Item::Potato => Food {
2117                nutrition: 1,
2118                saturation: 0.6,
2119                ..Food::new()
2120            },
2121            Item::Pufferfish => Food {
2122                nutrition: 1,
2123                saturation: 0.2,
2124                ..Food::new()
2125            },
2126            Item::PumpkinPie => Food {
2127                nutrition: 8,
2128                saturation: 4.8,
2129                ..Food::new()
2130            },
2131            Item::Rabbit => Food {
2132                nutrition: 3,
2133                saturation: 1.8000001,
2134                ..Food::new()
2135            },
2136            Item::RabbitStew => Food {
2137                nutrition: 10,
2138                saturation: 12.0,
2139                ..Food::new()
2140            },
2141            Item::RottenFlesh => Food {
2142                nutrition: 4,
2143                saturation: 0.8,
2144                ..Food::new()
2145            },
2146            Item::Salmon => Food {
2147                nutrition: 2,
2148                saturation: 0.4,
2149                ..Food::new()
2150            },
2151            Item::SpiderEye => Food {
2152                nutrition: 2,
2153                saturation: 3.2,
2154                ..Food::new()
2155            },
2156            Item::SuspiciousStew => Food {
2157                can_always_eat: true,
2158                nutrition: 6,
2159                saturation: 7.2000003,
2160            },
2161            Item::SweetBerries => Food {
2162                nutrition: 2,
2163                saturation: 0.4,
2164                ..Food::new()
2165            },
2166            Item::TropicalFish => Food {
2167                nutrition: 1,
2168                saturation: 0.2,
2169                ..Food::new()
2170            },
2171            _ => return None,
2172        };
2173        Some(value)
2174    }
2175}
2176impl DefaultableComponent for BucketEntityData {
2177    fn default_for_item(item: Item) -> Option<Self> {
2178        let value = match item {
2179            Item::AxolotlBucket => NbtCompound::new(),
2180            Item::CodBucket => NbtCompound::new(),
2181            Item::PufferfishBucket => NbtCompound::new(),
2182            Item::SalmonBucket => NbtCompound::new(),
2183            Item::TadpoleBucket => NbtCompound::new(),
2184            Item::TropicalFishBucket => NbtCompound::new(),
2185            _ => return None,
2186        };
2187        Some(BucketEntityData { entity: value })
2188    }
2189}
2190impl DefaultableComponent for Container {
2191    fn default_for_item(item: Item) -> Option<Self> {
2192        let value = match item {
2193            Item::Barrel => vec![],
2194            Item::BlackShulkerBox => vec![],
2195            Item::BlastFurnace => vec![],
2196            Item::BlueShulkerBox => vec![],
2197            Item::BrewingStand => vec![],
2198            Item::BrownShulkerBox => vec![],
2199            Item::Campfire => vec![],
2200            Item::Chest => vec![],
2201            Item::ChiseledBookshelf => vec![],
2202            Item::Crafter => vec![],
2203            Item::CyanShulkerBox => vec![],
2204            Item::DecoratedPot => vec![],
2205            Item::Dispenser => vec![],
2206            Item::Dropper => vec![],
2207            Item::Furnace => vec![],
2208            Item::GrayShulkerBox => vec![],
2209            Item::GreenShulkerBox => vec![],
2210            Item::Hopper => vec![],
2211            Item::LightBlueShulkerBox => vec![],
2212            Item::LightGrayShulkerBox => vec![],
2213            Item::LimeShulkerBox => vec![],
2214            Item::MagentaShulkerBox => vec![],
2215            Item::OrangeShulkerBox => vec![],
2216            Item::PinkShulkerBox => vec![],
2217            Item::PurpleShulkerBox => vec![],
2218            Item::RedShulkerBox => vec![],
2219            Item::ShulkerBox => vec![],
2220            Item::Smoker => vec![],
2221            Item::SoulCampfire => vec![],
2222            Item::TrappedChest => vec![],
2223            Item::WhiteShulkerBox => vec![],
2224            Item::YellowShulkerBox => vec![],
2225            _ => return None,
2226        };
2227        Some(Container { items: value })
2228    }
2229}
2230impl DefaultableComponent for Bees {
2231    fn default_for_item(item: Item) -> Option<Self> {
2232        let value = match item {
2233            Item::BeeNest => vec![],
2234            Item::Beehive => vec![],
2235            _ => return None,
2236        };
2237        Some(Bees { occupants: value })
2238    }
2239}
2240impl DefaultableComponent for BlockState {
2241    fn default_for_item(item: Item) -> Option<Self> {
2242        let value = match item {
2243            Item::BeeNest => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
2244            Item::Beehive => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
2245            Item::Light => HashMap::from_iter([("level".to_string(), "15".to_string())]),
2246            Item::TestBlock => HashMap::from_iter([("mode".to_string(), "start".to_string())]),
2247            _ => return None,
2248        };
2249        Some(BlockState { properties: value })
2250    }
2251}
2252impl DefaultableComponent for UseRemainder {
2253    fn default_for_item(item: Item) -> Option<Self> {
2254        let value = match item {
2255            Item::BeetrootSoup => ItemStack::from(Item::Bowl),
2256            Item::HoneyBottle => ItemStack::from(Item::GlassBottle),
2257            Item::MilkBucket => ItemStack::from(Item::Bucket),
2258            Item::MushroomStew => ItemStack::from(Item::Bowl),
2259            Item::Potion => ItemStack::from(Item::GlassBottle),
2260            Item::RabbitStew => ItemStack::from(Item::Bowl),
2261            Item::SuspiciousStew => ItemStack::from(Item::Bowl),
2262            _ => return None,
2263        };
2264        Some(UseRemainder {
2265            convert_into: value,
2266        })
2267    }
2268}
2269impl DefaultableComponent for BannerPatterns {
2270    fn default_for_item(item: Item) -> Option<Self> {
2271        let value = match item {
2272            Item::BlackBanner => vec![],
2273            Item::BlueBanner => vec![],
2274            Item::BrownBanner => vec![],
2275            Item::CyanBanner => vec![],
2276            Item::GrayBanner => vec![],
2277            Item::GreenBanner => vec![],
2278            Item::LightBlueBanner => vec![],
2279            Item::LightGrayBanner => vec![],
2280            Item::LimeBanner => vec![],
2281            Item::MagentaBanner => vec![],
2282            Item::OrangeBanner => vec![],
2283            Item::PinkBanner => vec![],
2284            Item::PurpleBanner => vec![],
2285            Item::RedBanner => vec![],
2286            Item::Shield => vec![],
2287            Item::WhiteBanner => vec![],
2288            Item::YellowBanner => vec![],
2289            _ => return None,
2290        };
2291        Some(BannerPatterns { patterns: value })
2292    }
2293}
2294impl DefaultableComponent for BundleContents {
2295    fn default_for_item(item: Item) -> Option<Self> {
2296        let value = match item {
2297            Item::BlackBundle => vec![],
2298            Item::BlueBundle => vec![],
2299            Item::BrownBundle => vec![],
2300            Item::Bundle => vec![],
2301            Item::CyanBundle => vec![],
2302            Item::GrayBundle => vec![],
2303            Item::GreenBundle => vec![],
2304            Item::LightBlueBundle => vec![],
2305            Item::LightGrayBundle => vec![],
2306            Item::LimeBundle => vec![],
2307            Item::MagentaBundle => vec![],
2308            Item::OrangeBundle => vec![],
2309            Item::PinkBundle => vec![],
2310            Item::PurpleBundle => vec![],
2311            Item::RedBundle => vec![],
2312            Item::WhiteBundle => vec![],
2313            Item::YellowBundle => vec![],
2314            _ => return None,
2315        };
2316        Some(BundleContents { items: value })
2317    }
2318}
2319impl DefaultableComponent for Equippable {
2320    fn default_for_item(item: Item) -> Option<Self> {
2321        let value = match item {
2322            Item::BlackCarpet => Equippable {
2323                allowed_entities: Some(HolderSet::Direct {
2324                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2325                }),
2326                asset_id: Some("minecraft:black_carpet".into()),
2327                can_be_sheared: true,
2328                equip_sound: SoundEvent::EntityLlamaSwag,
2329                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2330                slot: EquipmentSlot::Body,
2331                ..Equippable::new()
2332            },
2333            Item::BlackHarness => Equippable {
2334                allowed_entities: Some(HolderSet::Direct {
2335                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2336                        .clone()
2337                        .into_iter()
2338                        .collect(),
2339                }),
2340                asset_id: Some("minecraft:black_harness".into()),
2341                can_be_sheared: true,
2342                equip_on_interact: true,
2343                equip_sound: SoundEvent::EntityHappyGhastEquip,
2344                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2345                slot: EquipmentSlot::Body,
2346                ..Equippable::new()
2347            },
2348            Item::BlueCarpet => Equippable {
2349                allowed_entities: Some(HolderSet::Direct {
2350                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2351                }),
2352                asset_id: Some("minecraft:blue_carpet".into()),
2353                can_be_sheared: true,
2354                equip_sound: SoundEvent::EntityLlamaSwag,
2355                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2356                slot: EquipmentSlot::Body,
2357                ..Equippable::new()
2358            },
2359            Item::BlueHarness => Equippable {
2360                allowed_entities: Some(HolderSet::Direct {
2361                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2362                        .clone()
2363                        .into_iter()
2364                        .collect(),
2365                }),
2366                asset_id: Some("minecraft:blue_harness".into()),
2367                can_be_sheared: true,
2368                equip_on_interact: true,
2369                equip_sound: SoundEvent::EntityHappyGhastEquip,
2370                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2371                slot: EquipmentSlot::Body,
2372                ..Equippable::new()
2373            },
2374            Item::BrownCarpet => Equippable {
2375                allowed_entities: Some(HolderSet::Direct {
2376                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2377                }),
2378                asset_id: Some("minecraft:brown_carpet".into()),
2379                can_be_sheared: true,
2380                equip_sound: SoundEvent::EntityLlamaSwag,
2381                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2382                slot: EquipmentSlot::Body,
2383                ..Equippable::new()
2384            },
2385            Item::BrownHarness => Equippable {
2386                allowed_entities: Some(HolderSet::Direct {
2387                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2388                        .clone()
2389                        .into_iter()
2390                        .collect(),
2391                }),
2392                asset_id: Some("minecraft:brown_harness".into()),
2393                can_be_sheared: true,
2394                equip_on_interact: true,
2395                equip_sound: SoundEvent::EntityHappyGhastEquip,
2396                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2397                slot: EquipmentSlot::Body,
2398                ..Equippable::new()
2399            },
2400            Item::CarvedPumpkin => Equippable {
2401                camera_overlay: Some("minecraft:misc/pumpkinblur".into()),
2402                slot: EquipmentSlot::Head,
2403                swappable: false,
2404                ..Equippable::new()
2405            },
2406            Item::ChainmailBoots => Equippable {
2407                asset_id: Some("minecraft:chainmail".into()),
2408                equip_sound: SoundEvent::ItemArmorEquipChain,
2409                slot: EquipmentSlot::Feet,
2410                ..Equippable::new()
2411            },
2412            Item::ChainmailChestplate => Equippable {
2413                asset_id: Some("minecraft:chainmail".into()),
2414                equip_sound: SoundEvent::ItemArmorEquipChain,
2415                slot: EquipmentSlot::Chest,
2416                ..Equippable::new()
2417            },
2418            Item::ChainmailHelmet => Equippable {
2419                asset_id: Some("minecraft:chainmail".into()),
2420                equip_sound: SoundEvent::ItemArmorEquipChain,
2421                slot: EquipmentSlot::Head,
2422                ..Equippable::new()
2423            },
2424            Item::ChainmailLeggings => Equippable {
2425                asset_id: Some("minecraft:chainmail".into()),
2426                equip_sound: SoundEvent::ItemArmorEquipChain,
2427                slot: EquipmentSlot::Legs,
2428                ..Equippable::new()
2429            },
2430            Item::CreeperHead => Equippable {
2431                slot: EquipmentSlot::Head,
2432                swappable: false,
2433                ..Equippable::new()
2434            },
2435            Item::CyanCarpet => Equippable {
2436                allowed_entities: Some(HolderSet::Direct {
2437                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2438                }),
2439                asset_id: Some("minecraft:cyan_carpet".into()),
2440                can_be_sheared: true,
2441                equip_sound: SoundEvent::EntityLlamaSwag,
2442                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2443                slot: EquipmentSlot::Body,
2444                ..Equippable::new()
2445            },
2446            Item::CyanHarness => Equippable {
2447                allowed_entities: Some(HolderSet::Direct {
2448                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2449                        .clone()
2450                        .into_iter()
2451                        .collect(),
2452                }),
2453                asset_id: Some("minecraft:cyan_harness".into()),
2454                can_be_sheared: true,
2455                equip_on_interact: true,
2456                equip_sound: SoundEvent::EntityHappyGhastEquip,
2457                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2458                slot: EquipmentSlot::Body,
2459                ..Equippable::new()
2460            },
2461            Item::DiamondBoots => Equippable {
2462                asset_id: Some("minecraft:diamond".into()),
2463                equip_sound: SoundEvent::ItemArmorEquipDiamond,
2464                slot: EquipmentSlot::Feet,
2465                ..Equippable::new()
2466            },
2467            Item::DiamondChestplate => Equippable {
2468                asset_id: Some("minecraft:diamond".into()),
2469                equip_sound: SoundEvent::ItemArmorEquipDiamond,
2470                slot: EquipmentSlot::Chest,
2471                ..Equippable::new()
2472            },
2473            Item::DiamondHelmet => Equippable {
2474                asset_id: Some("minecraft:diamond".into()),
2475                equip_sound: SoundEvent::ItemArmorEquipDiamond,
2476                slot: EquipmentSlot::Head,
2477                ..Equippable::new()
2478            },
2479            Item::DiamondHorseArmor => Equippable {
2480                allowed_entities: Some(HolderSet::Direct {
2481                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2482                        .clone()
2483                        .into_iter()
2484                        .collect(),
2485                }),
2486                asset_id: Some("minecraft:diamond".into()),
2487                can_be_sheared: true,
2488                damage_on_hurt: false,
2489                equip_sound: SoundEvent::EntityHorseArmor,
2490                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2491                slot: EquipmentSlot::Body,
2492                ..Equippable::new()
2493            },
2494            Item::DiamondLeggings => Equippable {
2495                asset_id: Some("minecraft:diamond".into()),
2496                equip_sound: SoundEvent::ItemArmorEquipDiamond,
2497                slot: EquipmentSlot::Legs,
2498                ..Equippable::new()
2499            },
2500            Item::DragonHead => Equippable {
2501                slot: EquipmentSlot::Head,
2502                swappable: false,
2503                ..Equippable::new()
2504            },
2505            Item::Elytra => Equippable {
2506                asset_id: Some("minecraft:elytra".into()),
2507                damage_on_hurt: false,
2508                equip_sound: SoundEvent::ItemArmorEquipElytra,
2509                slot: EquipmentSlot::Chest,
2510                ..Equippable::new()
2511            },
2512            Item::GoldenBoots => Equippable {
2513                asset_id: Some("minecraft:gold".into()),
2514                equip_sound: SoundEvent::ItemArmorEquipGold,
2515                slot: EquipmentSlot::Feet,
2516                ..Equippable::new()
2517            },
2518            Item::GoldenChestplate => Equippable {
2519                asset_id: Some("minecraft:gold".into()),
2520                equip_sound: SoundEvent::ItemArmorEquipGold,
2521                slot: EquipmentSlot::Chest,
2522                ..Equippable::new()
2523            },
2524            Item::GoldenHelmet => Equippable {
2525                asset_id: Some("minecraft:gold".into()),
2526                equip_sound: SoundEvent::ItemArmorEquipGold,
2527                slot: EquipmentSlot::Head,
2528                ..Equippable::new()
2529            },
2530            Item::GoldenHorseArmor => Equippable {
2531                allowed_entities: Some(HolderSet::Direct {
2532                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2533                        .clone()
2534                        .into_iter()
2535                        .collect(),
2536                }),
2537                asset_id: Some("minecraft:gold".into()),
2538                can_be_sheared: true,
2539                damage_on_hurt: false,
2540                equip_sound: SoundEvent::EntityHorseArmor,
2541                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2542                slot: EquipmentSlot::Body,
2543                ..Equippable::new()
2544            },
2545            Item::GoldenLeggings => Equippable {
2546                asset_id: Some("minecraft:gold".into()),
2547                equip_sound: SoundEvent::ItemArmorEquipGold,
2548                slot: EquipmentSlot::Legs,
2549                ..Equippable::new()
2550            },
2551            Item::GrayCarpet => Equippable {
2552                allowed_entities: Some(HolderSet::Direct {
2553                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2554                }),
2555                asset_id: Some("minecraft:gray_carpet".into()),
2556                can_be_sheared: true,
2557                equip_sound: SoundEvent::EntityLlamaSwag,
2558                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2559                slot: EquipmentSlot::Body,
2560                ..Equippable::new()
2561            },
2562            Item::GrayHarness => Equippable {
2563                allowed_entities: Some(HolderSet::Direct {
2564                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2565                        .clone()
2566                        .into_iter()
2567                        .collect(),
2568                }),
2569                asset_id: Some("minecraft:gray_harness".into()),
2570                can_be_sheared: true,
2571                equip_on_interact: true,
2572                equip_sound: SoundEvent::EntityHappyGhastEquip,
2573                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2574                slot: EquipmentSlot::Body,
2575                ..Equippable::new()
2576            },
2577            Item::GreenCarpet => Equippable {
2578                allowed_entities: Some(HolderSet::Direct {
2579                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2580                }),
2581                asset_id: Some("minecraft:green_carpet".into()),
2582                can_be_sheared: true,
2583                equip_sound: SoundEvent::EntityLlamaSwag,
2584                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2585                slot: EquipmentSlot::Body,
2586                ..Equippable::new()
2587            },
2588            Item::GreenHarness => Equippable {
2589                allowed_entities: Some(HolderSet::Direct {
2590                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2591                        .clone()
2592                        .into_iter()
2593                        .collect(),
2594                }),
2595                asset_id: Some("minecraft:green_harness".into()),
2596                can_be_sheared: true,
2597                equip_on_interact: true,
2598                equip_sound: SoundEvent::EntityHappyGhastEquip,
2599                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2600                slot: EquipmentSlot::Body,
2601                ..Equippable::new()
2602            },
2603            Item::IronBoots => Equippable {
2604                asset_id: Some("minecraft:iron".into()),
2605                equip_sound: SoundEvent::ItemArmorEquipIron,
2606                slot: EquipmentSlot::Feet,
2607                ..Equippable::new()
2608            },
2609            Item::IronChestplate => Equippable {
2610                asset_id: Some("minecraft:iron".into()),
2611                equip_sound: SoundEvent::ItemArmorEquipIron,
2612                slot: EquipmentSlot::Chest,
2613                ..Equippable::new()
2614            },
2615            Item::IronHelmet => Equippable {
2616                asset_id: Some("minecraft:iron".into()),
2617                equip_sound: SoundEvent::ItemArmorEquipIron,
2618                slot: EquipmentSlot::Head,
2619                ..Equippable::new()
2620            },
2621            Item::IronHorseArmor => Equippable {
2622                allowed_entities: Some(HolderSet::Direct {
2623                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2624                        .clone()
2625                        .into_iter()
2626                        .collect(),
2627                }),
2628                asset_id: Some("minecraft:iron".into()),
2629                can_be_sheared: true,
2630                damage_on_hurt: false,
2631                equip_sound: SoundEvent::EntityHorseArmor,
2632                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2633                slot: EquipmentSlot::Body,
2634                ..Equippable::new()
2635            },
2636            Item::IronLeggings => Equippable {
2637                asset_id: Some("minecraft:iron".into()),
2638                equip_sound: SoundEvent::ItemArmorEquipIron,
2639                slot: EquipmentSlot::Legs,
2640                ..Equippable::new()
2641            },
2642            Item::LeatherBoots => Equippable {
2643                asset_id: Some("minecraft:leather".into()),
2644                equip_sound: SoundEvent::ItemArmorEquipLeather,
2645                slot: EquipmentSlot::Feet,
2646                ..Equippable::new()
2647            },
2648            Item::LeatherChestplate => Equippable {
2649                asset_id: Some("minecraft:leather".into()),
2650                equip_sound: SoundEvent::ItemArmorEquipLeather,
2651                slot: EquipmentSlot::Chest,
2652                ..Equippable::new()
2653            },
2654            Item::LeatherHelmet => Equippable {
2655                asset_id: Some("minecraft:leather".into()),
2656                equip_sound: SoundEvent::ItemArmorEquipLeather,
2657                slot: EquipmentSlot::Head,
2658                ..Equippable::new()
2659            },
2660            Item::LeatherHorseArmor => Equippable {
2661                allowed_entities: Some(HolderSet::Direct {
2662                    contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2663                        .clone()
2664                        .into_iter()
2665                        .collect(),
2666                }),
2667                asset_id: Some("minecraft:leather".into()),
2668                can_be_sheared: true,
2669                damage_on_hurt: false,
2670                equip_sound: SoundEvent::EntityHorseArmor,
2671                shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2672                slot: EquipmentSlot::Body,
2673                ..Equippable::new()
2674            },
2675            Item::LeatherLeggings => Equippable {
2676                asset_id: Some("minecraft:leather".into()),
2677                equip_sound: SoundEvent::ItemArmorEquipLeather,
2678                slot: EquipmentSlot::Legs,
2679                ..Equippable::new()
2680            },
2681            Item::LightBlueCarpet => Equippable {
2682                allowed_entities: Some(HolderSet::Direct {
2683                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2684                }),
2685                asset_id: Some("minecraft:light_blue_carpet".into()),
2686                can_be_sheared: true,
2687                equip_sound: SoundEvent::EntityLlamaSwag,
2688                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2689                slot: EquipmentSlot::Body,
2690                ..Equippable::new()
2691            },
2692            Item::LightBlueHarness => Equippable {
2693                allowed_entities: Some(HolderSet::Direct {
2694                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2695                        .clone()
2696                        .into_iter()
2697                        .collect(),
2698                }),
2699                asset_id: Some("minecraft:light_blue_harness".into()),
2700                can_be_sheared: true,
2701                equip_on_interact: true,
2702                equip_sound: SoundEvent::EntityHappyGhastEquip,
2703                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2704                slot: EquipmentSlot::Body,
2705                ..Equippable::new()
2706            },
2707            Item::LightGrayCarpet => Equippable {
2708                allowed_entities: Some(HolderSet::Direct {
2709                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2710                }),
2711                asset_id: Some("minecraft:light_gray_carpet".into()),
2712                can_be_sheared: true,
2713                equip_sound: SoundEvent::EntityLlamaSwag,
2714                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2715                slot: EquipmentSlot::Body,
2716                ..Equippable::new()
2717            },
2718            Item::LightGrayHarness => Equippable {
2719                allowed_entities: Some(HolderSet::Direct {
2720                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2721                        .clone()
2722                        .into_iter()
2723                        .collect(),
2724                }),
2725                asset_id: Some("minecraft:light_gray_harness".into()),
2726                can_be_sheared: true,
2727                equip_on_interact: true,
2728                equip_sound: SoundEvent::EntityHappyGhastEquip,
2729                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2730                slot: EquipmentSlot::Body,
2731                ..Equippable::new()
2732            },
2733            Item::LimeCarpet => Equippable {
2734                allowed_entities: Some(HolderSet::Direct {
2735                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2736                }),
2737                asset_id: Some("minecraft:lime_carpet".into()),
2738                can_be_sheared: true,
2739                equip_sound: SoundEvent::EntityLlamaSwag,
2740                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2741                slot: EquipmentSlot::Body,
2742                ..Equippable::new()
2743            },
2744            Item::LimeHarness => Equippable {
2745                allowed_entities: Some(HolderSet::Direct {
2746                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2747                        .clone()
2748                        .into_iter()
2749                        .collect(),
2750                }),
2751                asset_id: Some("minecraft:lime_harness".into()),
2752                can_be_sheared: true,
2753                equip_on_interact: true,
2754                equip_sound: SoundEvent::EntityHappyGhastEquip,
2755                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2756                slot: EquipmentSlot::Body,
2757                ..Equippable::new()
2758            },
2759            Item::MagentaCarpet => Equippable {
2760                allowed_entities: Some(HolderSet::Direct {
2761                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2762                }),
2763                asset_id: Some("minecraft:magenta_carpet".into()),
2764                can_be_sheared: true,
2765                equip_sound: SoundEvent::EntityLlamaSwag,
2766                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2767                slot: EquipmentSlot::Body,
2768                ..Equippable::new()
2769            },
2770            Item::MagentaHarness => Equippable {
2771                allowed_entities: Some(HolderSet::Direct {
2772                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2773                        .clone()
2774                        .into_iter()
2775                        .collect(),
2776                }),
2777                asset_id: Some("minecraft:magenta_harness".into()),
2778                can_be_sheared: true,
2779                equip_on_interact: true,
2780                equip_sound: SoundEvent::EntityHappyGhastEquip,
2781                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2782                slot: EquipmentSlot::Body,
2783                ..Equippable::new()
2784            },
2785            Item::NetheriteBoots => Equippable {
2786                asset_id: Some("minecraft:netherite".into()),
2787                equip_sound: SoundEvent::ItemArmorEquipNetherite,
2788                slot: EquipmentSlot::Feet,
2789                ..Equippable::new()
2790            },
2791            Item::NetheriteChestplate => Equippable {
2792                asset_id: Some("minecraft:netherite".into()),
2793                equip_sound: SoundEvent::ItemArmorEquipNetherite,
2794                slot: EquipmentSlot::Chest,
2795                ..Equippable::new()
2796            },
2797            Item::NetheriteHelmet => Equippable {
2798                asset_id: Some("minecraft:netherite".into()),
2799                equip_sound: SoundEvent::ItemArmorEquipNetherite,
2800                slot: EquipmentSlot::Head,
2801                ..Equippable::new()
2802            },
2803            Item::NetheriteLeggings => Equippable {
2804                asset_id: Some("minecraft:netherite".into()),
2805                equip_sound: SoundEvent::ItemArmorEquipNetherite,
2806                slot: EquipmentSlot::Legs,
2807                ..Equippable::new()
2808            },
2809            Item::OrangeCarpet => Equippable {
2810                allowed_entities: Some(HolderSet::Direct {
2811                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2812                }),
2813                asset_id: Some("minecraft:orange_carpet".into()),
2814                can_be_sheared: true,
2815                equip_sound: SoundEvent::EntityLlamaSwag,
2816                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2817                slot: EquipmentSlot::Body,
2818                ..Equippable::new()
2819            },
2820            Item::OrangeHarness => Equippable {
2821                allowed_entities: Some(HolderSet::Direct {
2822                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2823                        .clone()
2824                        .into_iter()
2825                        .collect(),
2826                }),
2827                asset_id: Some("minecraft:orange_harness".into()),
2828                can_be_sheared: true,
2829                equip_on_interact: true,
2830                equip_sound: SoundEvent::EntityHappyGhastEquip,
2831                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2832                slot: EquipmentSlot::Body,
2833                ..Equippable::new()
2834            },
2835            Item::PiglinHead => Equippable {
2836                slot: EquipmentSlot::Head,
2837                swappable: false,
2838                ..Equippable::new()
2839            },
2840            Item::PinkCarpet => Equippable {
2841                allowed_entities: Some(HolderSet::Direct {
2842                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2843                }),
2844                asset_id: Some("minecraft:pink_carpet".into()),
2845                can_be_sheared: true,
2846                equip_sound: SoundEvent::EntityLlamaSwag,
2847                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2848                slot: EquipmentSlot::Body,
2849                ..Equippable::new()
2850            },
2851            Item::PinkHarness => Equippable {
2852                allowed_entities: Some(HolderSet::Direct {
2853                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2854                        .clone()
2855                        .into_iter()
2856                        .collect(),
2857                }),
2858                asset_id: Some("minecraft:pink_harness".into()),
2859                can_be_sheared: true,
2860                equip_on_interact: true,
2861                equip_sound: SoundEvent::EntityHappyGhastEquip,
2862                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2863                slot: EquipmentSlot::Body,
2864                ..Equippable::new()
2865            },
2866            Item::PlayerHead => Equippable {
2867                slot: EquipmentSlot::Head,
2868                swappable: false,
2869                ..Equippable::new()
2870            },
2871            Item::PurpleCarpet => Equippable {
2872                allowed_entities: Some(HolderSet::Direct {
2873                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2874                }),
2875                asset_id: Some("minecraft:purple_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            Item::PurpleHarness => 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:purple_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            Item::RedCarpet => Equippable {
2898                allowed_entities: Some(HolderSet::Direct {
2899                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2900                }),
2901                asset_id: Some("minecraft:red_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            Item::RedHarness => 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:red_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            Item::Saddle => Equippable {
2924                allowed_entities: Some(HolderSet::Direct {
2925                    contents: azalea_registry::tags::entities::CAN_EQUIP_SADDLE
2926                        .clone()
2927                        .into_iter()
2928                        .collect(),
2929                }),
2930                asset_id: Some("minecraft:saddle".into()),
2931                can_be_sheared: true,
2932                equip_on_interact: true,
2933                equip_sound: SoundEvent::EntityHorseSaddle,
2934                shearing_sound: SoundEvent::ItemSaddleUnequip,
2935                slot: EquipmentSlot::Saddle,
2936                ..Equippable::new()
2937            },
2938            Item::Shield => Equippable {
2939                slot: EquipmentSlot::Offhand,
2940                swappable: false,
2941                ..Equippable::new()
2942            },
2943            Item::SkeletonSkull => Equippable {
2944                slot: EquipmentSlot::Head,
2945                swappable: false,
2946                ..Equippable::new()
2947            },
2948            Item::TurtleHelmet => Equippable {
2949                asset_id: Some("minecraft:turtle_scute".into()),
2950                equip_sound: SoundEvent::ItemArmorEquipTurtle,
2951                slot: EquipmentSlot::Head,
2952                ..Equippable::new()
2953            },
2954            Item::WhiteCarpet => Equippable {
2955                allowed_entities: Some(HolderSet::Direct {
2956                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2957                }),
2958                asset_id: Some("minecraft:white_carpet".into()),
2959                can_be_sheared: true,
2960                equip_sound: SoundEvent::EntityLlamaSwag,
2961                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2962                slot: EquipmentSlot::Body,
2963                ..Equippable::new()
2964            },
2965            Item::WhiteHarness => Equippable {
2966                allowed_entities: Some(HolderSet::Direct {
2967                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2968                        .clone()
2969                        .into_iter()
2970                        .collect(),
2971                }),
2972                asset_id: Some("minecraft:white_harness".into()),
2973                can_be_sheared: true,
2974                equip_on_interact: true,
2975                equip_sound: SoundEvent::EntityHappyGhastEquip,
2976                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2977                slot: EquipmentSlot::Body,
2978                ..Equippable::new()
2979            },
2980            Item::WitherSkeletonSkull => Equippable {
2981                slot: EquipmentSlot::Head,
2982                swappable: false,
2983                ..Equippable::new()
2984            },
2985            Item::WolfArmor => Equippable {
2986                allowed_entities: Some(HolderSet::Direct {
2987                    contents: vec![EntityKind::Wolf],
2988                }),
2989                asset_id: Some("minecraft:armadillo_scute".into()),
2990                can_be_sheared: true,
2991                equip_sound: SoundEvent::ItemArmorEquipWolf,
2992                shearing_sound: SoundEvent::ItemArmorUnequipWolf,
2993                slot: EquipmentSlot::Body,
2994                ..Equippable::new()
2995            },
2996            Item::YellowCarpet => Equippable {
2997                allowed_entities: Some(HolderSet::Direct {
2998                    contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2999                }),
3000                asset_id: Some("minecraft:yellow_carpet".into()),
3001                can_be_sheared: true,
3002                equip_sound: SoundEvent::EntityLlamaSwag,
3003                shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3004                slot: EquipmentSlot::Body,
3005                ..Equippable::new()
3006            },
3007            Item::YellowHarness => Equippable {
3008                allowed_entities: Some(HolderSet::Direct {
3009                    contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3010                        .clone()
3011                        .into_iter()
3012                        .collect(),
3013                }),
3014                asset_id: Some("minecraft:yellow_harness".into()),
3015                can_be_sheared: true,
3016                equip_on_interact: true,
3017                equip_sound: SoundEvent::EntityHappyGhastEquip,
3018                shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3019                slot: EquipmentSlot::Body,
3020                ..Equippable::new()
3021            },
3022            Item::ZombieHead => Equippable {
3023                slot: EquipmentSlot::Head,
3024                swappable: false,
3025                ..Equippable::new()
3026            },
3027            _ => return None,
3028        };
3029        Some(value)
3030    }
3031}
3032impl DefaultableComponent for ChickenVariant {
3033    fn default_for_item(item: Item) -> Option<Self> {
3034        let value = match item {
3035            Item::BlueEgg => ChickenVariant::Referenced("minecraft:cold".into()),
3036            Item::BrownEgg => ChickenVariant::Referenced("minecraft:warm".into()),
3037            Item::Egg => ChickenVariant::Referenced("minecraft:temperate".into()),
3038            _ => return None,
3039        };
3040        Some(value)
3041    }
3042}
3043impl DefaultableComponent for Enchantable {
3044    fn default_for_item(item: Item) -> Option<Self> {
3045        let value = match item {
3046            Item::Book => 1,
3047            Item::Bow => 1,
3048            Item::ChainmailBoots => 12,
3049            Item::ChainmailChestplate => 12,
3050            Item::ChainmailHelmet => 12,
3051            Item::ChainmailLeggings => 12,
3052            Item::Crossbow => 1,
3053            Item::DiamondAxe => 10,
3054            Item::DiamondBoots => 10,
3055            Item::DiamondChestplate => 10,
3056            Item::DiamondHelmet => 10,
3057            Item::DiamondHoe => 10,
3058            Item::DiamondLeggings => 10,
3059            Item::DiamondPickaxe => 10,
3060            Item::DiamondShovel => 10,
3061            Item::DiamondSword => 10,
3062            Item::FishingRod => 1,
3063            Item::GoldenAxe => 22,
3064            Item::GoldenBoots => 25,
3065            Item::GoldenChestplate => 25,
3066            Item::GoldenHelmet => 25,
3067            Item::GoldenHoe => 22,
3068            Item::GoldenLeggings => 25,
3069            Item::GoldenPickaxe => 22,
3070            Item::GoldenShovel => 22,
3071            Item::GoldenSword => 22,
3072            Item::IronAxe => 14,
3073            Item::IronBoots => 9,
3074            Item::IronChestplate => 9,
3075            Item::IronHelmet => 9,
3076            Item::IronHoe => 14,
3077            Item::IronLeggings => 9,
3078            Item::IronPickaxe => 14,
3079            Item::IronShovel => 14,
3080            Item::IronSword => 14,
3081            Item::LeatherBoots => 15,
3082            Item::LeatherChestplate => 15,
3083            Item::LeatherHelmet => 15,
3084            Item::LeatherLeggings => 15,
3085            Item::Mace => 15,
3086            Item::NetheriteAxe => 15,
3087            Item::NetheriteBoots => 15,
3088            Item::NetheriteChestplate => 15,
3089            Item::NetheriteHelmet => 15,
3090            Item::NetheriteHoe => 15,
3091            Item::NetheriteLeggings => 15,
3092            Item::NetheritePickaxe => 15,
3093            Item::NetheriteShovel => 15,
3094            Item::NetheriteSword => 15,
3095            Item::StoneAxe => 5,
3096            Item::StoneHoe => 5,
3097            Item::StonePickaxe => 5,
3098            Item::StoneShovel => 5,
3099            Item::StoneSword => 5,
3100            Item::Trident => 1,
3101            Item::TurtleHelmet => 9,
3102            Item::WoodenAxe => 15,
3103            Item::WoodenHoe => 15,
3104            Item::WoodenPickaxe => 15,
3105            Item::WoodenShovel => 15,
3106            Item::WoodenSword => 15,
3107            _ => return None,
3108        };
3109        Some(Enchantable { value: value })
3110    }
3111}
3112impl DefaultableComponent for ProvidesBannerPatterns {
3113    fn default_for_item(item: Item) -> Option<Self> {
3114        let value = match item {
3115            Item::BordureIndentedBannerPattern => "#minecraft:pattern_item/bordure_indented".into(),
3116            Item::CreeperBannerPattern => "#minecraft:pattern_item/creeper".into(),
3117            Item::FieldMasonedBannerPattern => "#minecraft:pattern_item/field_masoned".into(),
3118            Item::FlowBannerPattern => "#minecraft:pattern_item/flow".into(),
3119            Item::FlowerBannerPattern => "#minecraft:pattern_item/flower".into(),
3120            Item::GlobeBannerPattern => "#minecraft:pattern_item/globe".into(),
3121            Item::GusterBannerPattern => "#minecraft:pattern_item/guster".into(),
3122            Item::MojangBannerPattern => "#minecraft:pattern_item/mojang".into(),
3123            Item::PiglinBannerPattern => "#minecraft:pattern_item/piglin".into(),
3124            Item::SkullBannerPattern => "#minecraft:pattern_item/skull".into(),
3125            _ => return None,
3126        };
3127        Some(ProvidesBannerPatterns { key: value })
3128    }
3129}
3130impl DefaultableComponent for Damage {
3131    fn default_for_item(item: Item) -> Option<Self> {
3132        let value = match item {
3133            Item::Bow => 0,
3134            Item::Brush => 0,
3135            Item::CarrotOnAStick => 0,
3136            Item::ChainmailBoots => 0,
3137            Item::ChainmailChestplate => 0,
3138            Item::ChainmailHelmet => 0,
3139            Item::ChainmailLeggings => 0,
3140            Item::Crossbow => 0,
3141            Item::DiamondAxe => 0,
3142            Item::DiamondBoots => 0,
3143            Item::DiamondChestplate => 0,
3144            Item::DiamondHelmet => 0,
3145            Item::DiamondHoe => 0,
3146            Item::DiamondLeggings => 0,
3147            Item::DiamondPickaxe => 0,
3148            Item::DiamondShovel => 0,
3149            Item::DiamondSword => 0,
3150            Item::Elytra => 0,
3151            Item::FishingRod => 0,
3152            Item::FlintAndSteel => 0,
3153            Item::GoldenAxe => 0,
3154            Item::GoldenBoots => 0,
3155            Item::GoldenChestplate => 0,
3156            Item::GoldenHelmet => 0,
3157            Item::GoldenHoe => 0,
3158            Item::GoldenLeggings => 0,
3159            Item::GoldenPickaxe => 0,
3160            Item::GoldenShovel => 0,
3161            Item::GoldenSword => 0,
3162            Item::IronAxe => 0,
3163            Item::IronBoots => 0,
3164            Item::IronChestplate => 0,
3165            Item::IronHelmet => 0,
3166            Item::IronHoe => 0,
3167            Item::IronLeggings => 0,
3168            Item::IronPickaxe => 0,
3169            Item::IronShovel => 0,
3170            Item::IronSword => 0,
3171            Item::LeatherBoots => 0,
3172            Item::LeatherChestplate => 0,
3173            Item::LeatherHelmet => 0,
3174            Item::LeatherLeggings => 0,
3175            Item::Mace => 0,
3176            Item::NetheriteAxe => 0,
3177            Item::NetheriteBoots => 0,
3178            Item::NetheriteChestplate => 0,
3179            Item::NetheriteHelmet => 0,
3180            Item::NetheriteHoe => 0,
3181            Item::NetheriteLeggings => 0,
3182            Item::NetheritePickaxe => 0,
3183            Item::NetheriteShovel => 0,
3184            Item::NetheriteSword => 0,
3185            Item::Shears => 0,
3186            Item::Shield => 0,
3187            Item::StoneAxe => 0,
3188            Item::StoneHoe => 0,
3189            Item::StonePickaxe => 0,
3190            Item::StoneShovel => 0,
3191            Item::StoneSword => 0,
3192            Item::Trident => 0,
3193            Item::TurtleHelmet => 0,
3194            Item::WarpedFungusOnAStick => 0,
3195            Item::WolfArmor => 0,
3196            Item::WoodenAxe => 0,
3197            Item::WoodenHoe => 0,
3198            Item::WoodenPickaxe => 0,
3199            Item::WoodenShovel => 0,
3200            Item::WoodenSword => 0,
3201            _ => return None,
3202        };
3203        Some(Damage { amount: value })
3204    }
3205}
3206impl DefaultableComponent for MaxDamage {
3207    fn default_for_item(item: Item) -> Option<Self> {
3208        let value = match item {
3209            Item::Bow => 384,
3210            Item::Brush => 64,
3211            Item::CarrotOnAStick => 25,
3212            Item::ChainmailBoots => 195,
3213            Item::ChainmailChestplate => 240,
3214            Item::ChainmailHelmet => 165,
3215            Item::ChainmailLeggings => 225,
3216            Item::Crossbow => 465,
3217            Item::DiamondAxe => 1561,
3218            Item::DiamondBoots => 429,
3219            Item::DiamondChestplate => 528,
3220            Item::DiamondHelmet => 363,
3221            Item::DiamondHoe => 1561,
3222            Item::DiamondLeggings => 495,
3223            Item::DiamondPickaxe => 1561,
3224            Item::DiamondShovel => 1561,
3225            Item::DiamondSword => 1561,
3226            Item::Elytra => 432,
3227            Item::FishingRod => 64,
3228            Item::FlintAndSteel => 64,
3229            Item::GoldenAxe => 32,
3230            Item::GoldenBoots => 91,
3231            Item::GoldenChestplate => 112,
3232            Item::GoldenHelmet => 77,
3233            Item::GoldenHoe => 32,
3234            Item::GoldenLeggings => 105,
3235            Item::GoldenPickaxe => 32,
3236            Item::GoldenShovel => 32,
3237            Item::GoldenSword => 32,
3238            Item::IronAxe => 250,
3239            Item::IronBoots => 195,
3240            Item::IronChestplate => 240,
3241            Item::IronHelmet => 165,
3242            Item::IronHoe => 250,
3243            Item::IronLeggings => 225,
3244            Item::IronPickaxe => 250,
3245            Item::IronShovel => 250,
3246            Item::IronSword => 250,
3247            Item::LeatherBoots => 65,
3248            Item::LeatherChestplate => 80,
3249            Item::LeatherHelmet => 55,
3250            Item::LeatherLeggings => 75,
3251            Item::Mace => 500,
3252            Item::NetheriteAxe => 2031,
3253            Item::NetheriteBoots => 481,
3254            Item::NetheriteChestplate => 592,
3255            Item::NetheriteHelmet => 407,
3256            Item::NetheriteHoe => 2031,
3257            Item::NetheriteLeggings => 555,
3258            Item::NetheritePickaxe => 2031,
3259            Item::NetheriteShovel => 2031,
3260            Item::NetheriteSword => 2031,
3261            Item::Shears => 238,
3262            Item::Shield => 336,
3263            Item::StoneAxe => 131,
3264            Item::StoneHoe => 131,
3265            Item::StonePickaxe => 131,
3266            Item::StoneShovel => 131,
3267            Item::StoneSword => 131,
3268            Item::Trident => 250,
3269            Item::TurtleHelmet => 275,
3270            Item::WarpedFungusOnAStick => 100,
3271            Item::WolfArmor => 64,
3272            Item::WoodenAxe => 59,
3273            Item::WoodenHoe => 59,
3274            Item::WoodenPickaxe => 59,
3275            Item::WoodenShovel => 59,
3276            Item::WoodenSword => 59,
3277            _ => return None,
3278        };
3279        Some(MaxDamage { amount: value })
3280    }
3281}
3282impl DefaultableComponent for Repairable {
3283    fn default_for_item(item: Item) -> Option<Self> {
3284        let value = match item {
3285            Item::ChainmailBoots => HolderSet::Direct {
3286                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3287                    .clone()
3288                    .into_iter()
3289                    .collect(),
3290            },
3291            Item::ChainmailChestplate => HolderSet::Direct {
3292                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3293                    .clone()
3294                    .into_iter()
3295                    .collect(),
3296            },
3297            Item::ChainmailHelmet => HolderSet::Direct {
3298                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3299                    .clone()
3300                    .into_iter()
3301                    .collect(),
3302            },
3303            Item::ChainmailLeggings => HolderSet::Direct {
3304                contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3305                    .clone()
3306                    .into_iter()
3307                    .collect(),
3308            },
3309            Item::DiamondAxe => HolderSet::Direct {
3310                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3311                    .clone()
3312                    .into_iter()
3313                    .collect(),
3314            },
3315            Item::DiamondBoots => HolderSet::Direct {
3316                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3317                    .clone()
3318                    .into_iter()
3319                    .collect(),
3320            },
3321            Item::DiamondChestplate => HolderSet::Direct {
3322                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3323                    .clone()
3324                    .into_iter()
3325                    .collect(),
3326            },
3327            Item::DiamondHelmet => HolderSet::Direct {
3328                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3329                    .clone()
3330                    .into_iter()
3331                    .collect(),
3332            },
3333            Item::DiamondHoe => HolderSet::Direct {
3334                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3335                    .clone()
3336                    .into_iter()
3337                    .collect(),
3338            },
3339            Item::DiamondLeggings => HolderSet::Direct {
3340                contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3341                    .clone()
3342                    .into_iter()
3343                    .collect(),
3344            },
3345            Item::DiamondPickaxe => HolderSet::Direct {
3346                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3347                    .clone()
3348                    .into_iter()
3349                    .collect(),
3350            },
3351            Item::DiamondShovel => HolderSet::Direct {
3352                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3353                    .clone()
3354                    .into_iter()
3355                    .collect(),
3356            },
3357            Item::DiamondSword => HolderSet::Direct {
3358                contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3359                    .clone()
3360                    .into_iter()
3361                    .collect(),
3362            },
3363            Item::Elytra => HolderSet::Direct {
3364                contents: vec![Item::PhantomMembrane],
3365            },
3366            Item::GoldenAxe => HolderSet::Direct {
3367                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3368                    .clone()
3369                    .into_iter()
3370                    .collect(),
3371            },
3372            Item::GoldenBoots => HolderSet::Direct {
3373                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3374                    .clone()
3375                    .into_iter()
3376                    .collect(),
3377            },
3378            Item::GoldenChestplate => HolderSet::Direct {
3379                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3380                    .clone()
3381                    .into_iter()
3382                    .collect(),
3383            },
3384            Item::GoldenHelmet => HolderSet::Direct {
3385                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3386                    .clone()
3387                    .into_iter()
3388                    .collect(),
3389            },
3390            Item::GoldenHoe => HolderSet::Direct {
3391                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3392                    .clone()
3393                    .into_iter()
3394                    .collect(),
3395            },
3396            Item::GoldenLeggings => HolderSet::Direct {
3397                contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3398                    .clone()
3399                    .into_iter()
3400                    .collect(),
3401            },
3402            Item::GoldenPickaxe => HolderSet::Direct {
3403                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3404                    .clone()
3405                    .into_iter()
3406                    .collect(),
3407            },
3408            Item::GoldenShovel => HolderSet::Direct {
3409                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3410                    .clone()
3411                    .into_iter()
3412                    .collect(),
3413            },
3414            Item::GoldenSword => HolderSet::Direct {
3415                contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3416                    .clone()
3417                    .into_iter()
3418                    .collect(),
3419            },
3420            Item::IronAxe => HolderSet::Direct {
3421                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3422                    .clone()
3423                    .into_iter()
3424                    .collect(),
3425            },
3426            Item::IronBoots => HolderSet::Direct {
3427                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3428                    .clone()
3429                    .into_iter()
3430                    .collect(),
3431            },
3432            Item::IronChestplate => HolderSet::Direct {
3433                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3434                    .clone()
3435                    .into_iter()
3436                    .collect(),
3437            },
3438            Item::IronHelmet => HolderSet::Direct {
3439                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3440                    .clone()
3441                    .into_iter()
3442                    .collect(),
3443            },
3444            Item::IronHoe => HolderSet::Direct {
3445                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3446                    .clone()
3447                    .into_iter()
3448                    .collect(),
3449            },
3450            Item::IronLeggings => HolderSet::Direct {
3451                contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3452                    .clone()
3453                    .into_iter()
3454                    .collect(),
3455            },
3456            Item::IronPickaxe => HolderSet::Direct {
3457                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3458                    .clone()
3459                    .into_iter()
3460                    .collect(),
3461            },
3462            Item::IronShovel => HolderSet::Direct {
3463                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3464                    .clone()
3465                    .into_iter()
3466                    .collect(),
3467            },
3468            Item::IronSword => HolderSet::Direct {
3469                contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3470                    .clone()
3471                    .into_iter()
3472                    .collect(),
3473            },
3474            Item::LeatherBoots => HolderSet::Direct {
3475                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3476                    .clone()
3477                    .into_iter()
3478                    .collect(),
3479            },
3480            Item::LeatherChestplate => HolderSet::Direct {
3481                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3482                    .clone()
3483                    .into_iter()
3484                    .collect(),
3485            },
3486            Item::LeatherHelmet => HolderSet::Direct {
3487                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3488                    .clone()
3489                    .into_iter()
3490                    .collect(),
3491            },
3492            Item::LeatherLeggings => HolderSet::Direct {
3493                contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3494                    .clone()
3495                    .into_iter()
3496                    .collect(),
3497            },
3498            Item::Mace => HolderSet::Direct {
3499                contents: vec![Item::BreezeRod],
3500            },
3501            Item::NetheriteAxe => HolderSet::Direct {
3502                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3503                    .clone()
3504                    .into_iter()
3505                    .collect(),
3506            },
3507            Item::NetheriteBoots => HolderSet::Direct {
3508                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3509                    .clone()
3510                    .into_iter()
3511                    .collect(),
3512            },
3513            Item::NetheriteChestplate => HolderSet::Direct {
3514                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3515                    .clone()
3516                    .into_iter()
3517                    .collect(),
3518            },
3519            Item::NetheriteHelmet => HolderSet::Direct {
3520                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3521                    .clone()
3522                    .into_iter()
3523                    .collect(),
3524            },
3525            Item::NetheriteHoe => HolderSet::Direct {
3526                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3527                    .clone()
3528                    .into_iter()
3529                    .collect(),
3530            },
3531            Item::NetheriteLeggings => HolderSet::Direct {
3532                contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3533                    .clone()
3534                    .into_iter()
3535                    .collect(),
3536            },
3537            Item::NetheritePickaxe => HolderSet::Direct {
3538                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3539                    .clone()
3540                    .into_iter()
3541                    .collect(),
3542            },
3543            Item::NetheriteShovel => HolderSet::Direct {
3544                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3545                    .clone()
3546                    .into_iter()
3547                    .collect(),
3548            },
3549            Item::NetheriteSword => HolderSet::Direct {
3550                contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3551                    .clone()
3552                    .into_iter()
3553                    .collect(),
3554            },
3555            Item::Shield => HolderSet::Direct {
3556                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
3557                    .clone()
3558                    .into_iter()
3559                    .collect(),
3560            },
3561            Item::StoneAxe => HolderSet::Direct {
3562                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
3563                    .clone()
3564                    .into_iter()
3565                    .collect(),
3566            },
3567            Item::StoneHoe => HolderSet::Direct {
3568                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
3569                    .clone()
3570                    .into_iter()
3571                    .collect(),
3572            },
3573            Item::StonePickaxe => HolderSet::Direct {
3574                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
3575                    .clone()
3576                    .into_iter()
3577                    .collect(),
3578            },
3579            Item::StoneShovel => HolderSet::Direct {
3580                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
3581                    .clone()
3582                    .into_iter()
3583                    .collect(),
3584            },
3585            Item::StoneSword => HolderSet::Direct {
3586                contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
3587                    .clone()
3588                    .into_iter()
3589                    .collect(),
3590            },
3591            Item::TurtleHelmet => HolderSet::Direct {
3592                contents: azalea_registry::tags::items::REPAIRS_TURTLE_HELMET
3593                    .clone()
3594                    .into_iter()
3595                    .collect(),
3596            },
3597            Item::WolfArmor => HolderSet::Direct {
3598                contents: azalea_registry::tags::items::REPAIRS_WOLF_ARMOR
3599                    .clone()
3600                    .into_iter()
3601                    .collect(),
3602            },
3603            Item::WoodenAxe => HolderSet::Direct {
3604                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
3605                    .clone()
3606                    .into_iter()
3607                    .collect(),
3608            },
3609            Item::WoodenHoe => HolderSet::Direct {
3610                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
3611                    .clone()
3612                    .into_iter()
3613                    .collect(),
3614            },
3615            Item::WoodenPickaxe => HolderSet::Direct {
3616                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
3617                    .clone()
3618                    .into_iter()
3619                    .collect(),
3620            },
3621            Item::WoodenShovel => HolderSet::Direct {
3622                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
3623                    .clone()
3624                    .into_iter()
3625                    .collect(),
3626            },
3627            Item::WoodenSword => HolderSet::Direct {
3628                contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
3629                    .clone()
3630                    .into_iter()
3631                    .collect(),
3632            },
3633            _ => return None,
3634        };
3635        Some(Repairable { items: value })
3636    }
3637}
3638impl DefaultableComponent for UseCooldown {
3639    fn default_for_item(item: Item) -> Option<Self> {
3640        let value = match item {
3641            Item::ChorusFruit => UseCooldown {
3642                seconds: 1.0,
3643                ..UseCooldown::new()
3644            },
3645            Item::EnderPearl => UseCooldown {
3646                seconds: 1.0,
3647                ..UseCooldown::new()
3648            },
3649            Item::WindCharge => UseCooldown {
3650                seconds: 0.5,
3651                ..UseCooldown::new()
3652            },
3653            _ => return None,
3654        };
3655        Some(value)
3656    }
3657}
3658impl DefaultableComponent for ChargedProjectiles {
3659    fn default_for_item(item: Item) -> Option<Self> {
3660        let value = match item {
3661            Item::Crossbow => vec![],
3662            _ => return None,
3663        };
3664        Some(ChargedProjectiles { items: value })
3665    }
3666}
3667impl DefaultableComponent for DebugStickState {
3668    fn default_for_item(item: Item) -> Option<Self> {
3669        let value = match item {
3670            Item::DebugStick => NbtCompound::new(),
3671            _ => return None,
3672        };
3673        Some(DebugStickState { properties: value })
3674    }
3675}
3676impl DefaultableComponent for EnchantmentGlintOverride {
3677    fn default_for_item(item: Item) -> Option<Self> {
3678        let value = match item {
3679            Item::DebugStick => true,
3680            Item::EnchantedBook => true,
3681            Item::EnchantedGoldenApple => true,
3682            Item::EndCrystal => true,
3683            Item::ExperienceBottle => true,
3684            Item::NetherStar => true,
3685            Item::WrittenBook => true,
3686            _ => return None,
3687        };
3688        Some(EnchantmentGlintOverride { show_glint: value })
3689    }
3690}
3691impl DefaultableComponent for PotDecorations {
3692    fn default_for_item(item: Item) -> Option<Self> {
3693        let value = match item {
3694            Item::DecoratedPot => vec![Item::Brick, Item::Brick, Item::Brick, Item::Brick],
3695            _ => return None,
3696        };
3697        Some(PotDecorations { items: value })
3698    }
3699}
3700impl DefaultableComponent for Tool {
3701    fn default_for_item(item: Item) -> Option<Self> {
3702        let value = match item {
3703            Item::DiamondAxe => Tool {
3704                rules: vec![
3705                    ToolRule {
3706                        blocks: HolderSet::Direct {
3707                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
3708                                .clone()
3709                                .into_iter()
3710                                .collect(),
3711                        },
3712                        correct_for_drops: Some(false),
3713                        ..ToolRule::new()
3714                    },
3715                    ToolRule {
3716                        blocks: HolderSet::Direct {
3717                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
3718                                .clone()
3719                                .into_iter()
3720                                .collect(),
3721                        },
3722                        correct_for_drops: Some(true),
3723                        speed: Some(8.0),
3724                    },
3725                ],
3726                ..Tool::new()
3727            },
3728            Item::DiamondHoe => Tool {
3729                rules: vec![
3730                    ToolRule {
3731                        blocks: HolderSet::Direct {
3732                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
3733                                .clone()
3734                                .into_iter()
3735                                .collect(),
3736                        },
3737                        correct_for_drops: Some(false),
3738                        ..ToolRule::new()
3739                    },
3740                    ToolRule {
3741                        blocks: HolderSet::Direct {
3742                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
3743                                .clone()
3744                                .into_iter()
3745                                .collect(),
3746                        },
3747                        correct_for_drops: Some(true),
3748                        speed: Some(8.0),
3749                    },
3750                ],
3751                ..Tool::new()
3752            },
3753            Item::DiamondPickaxe => Tool {
3754                rules: vec![
3755                    ToolRule {
3756                        blocks: HolderSet::Direct {
3757                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
3758                                .clone()
3759                                .into_iter()
3760                                .collect(),
3761                        },
3762                        correct_for_drops: Some(false),
3763                        ..ToolRule::new()
3764                    },
3765                    ToolRule {
3766                        blocks: HolderSet::Direct {
3767                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
3768                                .clone()
3769                                .into_iter()
3770                                .collect(),
3771                        },
3772                        correct_for_drops: Some(true),
3773                        speed: Some(8.0),
3774                    },
3775                ],
3776                ..Tool::new()
3777            },
3778            Item::DiamondShovel => Tool {
3779                rules: vec![
3780                    ToolRule {
3781                        blocks: HolderSet::Direct {
3782                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
3783                                .clone()
3784                                .into_iter()
3785                                .collect(),
3786                        },
3787                        correct_for_drops: Some(false),
3788                        ..ToolRule::new()
3789                    },
3790                    ToolRule {
3791                        blocks: HolderSet::Direct {
3792                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
3793                                .clone()
3794                                .into_iter()
3795                                .collect(),
3796                        },
3797                        correct_for_drops: Some(true),
3798                        speed: Some(8.0),
3799                    },
3800                ],
3801                ..Tool::new()
3802            },
3803            Item::DiamondSword => Tool {
3804                can_destroy_blocks_in_creative: false,
3805                damage_per_block: 2,
3806                rules: vec![
3807                    ToolRule {
3808                        blocks: HolderSet::Direct {
3809                            contents: vec![Block::Cobweb],
3810                        },
3811                        correct_for_drops: Some(true),
3812                        speed: Some(15.0),
3813                    },
3814                    ToolRule {
3815                        blocks: HolderSet::Direct {
3816                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
3817                                .clone()
3818                                .into_iter()
3819                                .collect(),
3820                        },
3821                        speed: Some(3.4028235e+38),
3822                        ..ToolRule::new()
3823                    },
3824                    ToolRule {
3825                        blocks: HolderSet::Direct {
3826                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
3827                                .clone()
3828                                .into_iter()
3829                                .collect(),
3830                        },
3831                        speed: Some(1.5),
3832                        ..ToolRule::new()
3833                    },
3834                ],
3835                ..Tool::new()
3836            },
3837            Item::GoldenAxe => Tool {
3838                rules: vec![
3839                    ToolRule {
3840                        blocks: HolderSet::Direct {
3841                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
3842                                .clone()
3843                                .into_iter()
3844                                .collect(),
3845                        },
3846                        correct_for_drops: Some(false),
3847                        ..ToolRule::new()
3848                    },
3849                    ToolRule {
3850                        blocks: HolderSet::Direct {
3851                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
3852                                .clone()
3853                                .into_iter()
3854                                .collect(),
3855                        },
3856                        correct_for_drops: Some(true),
3857                        speed: Some(12.0),
3858                    },
3859                ],
3860                ..Tool::new()
3861            },
3862            Item::GoldenHoe => Tool {
3863                rules: vec![
3864                    ToolRule {
3865                        blocks: HolderSet::Direct {
3866                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
3867                                .clone()
3868                                .into_iter()
3869                                .collect(),
3870                        },
3871                        correct_for_drops: Some(false),
3872                        ..ToolRule::new()
3873                    },
3874                    ToolRule {
3875                        blocks: HolderSet::Direct {
3876                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
3877                                .clone()
3878                                .into_iter()
3879                                .collect(),
3880                        },
3881                        correct_for_drops: Some(true),
3882                        speed: Some(12.0),
3883                    },
3884                ],
3885                ..Tool::new()
3886            },
3887            Item::GoldenPickaxe => Tool {
3888                rules: vec![
3889                    ToolRule {
3890                        blocks: HolderSet::Direct {
3891                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
3892                                .clone()
3893                                .into_iter()
3894                                .collect(),
3895                        },
3896                        correct_for_drops: Some(false),
3897                        ..ToolRule::new()
3898                    },
3899                    ToolRule {
3900                        blocks: HolderSet::Direct {
3901                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
3902                                .clone()
3903                                .into_iter()
3904                                .collect(),
3905                        },
3906                        correct_for_drops: Some(true),
3907                        speed: Some(12.0),
3908                    },
3909                ],
3910                ..Tool::new()
3911            },
3912            Item::GoldenShovel => Tool {
3913                rules: vec![
3914                    ToolRule {
3915                        blocks: HolderSet::Direct {
3916                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
3917                                .clone()
3918                                .into_iter()
3919                                .collect(),
3920                        },
3921                        correct_for_drops: Some(false),
3922                        ..ToolRule::new()
3923                    },
3924                    ToolRule {
3925                        blocks: HolderSet::Direct {
3926                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
3927                                .clone()
3928                                .into_iter()
3929                                .collect(),
3930                        },
3931                        correct_for_drops: Some(true),
3932                        speed: Some(12.0),
3933                    },
3934                ],
3935                ..Tool::new()
3936            },
3937            Item::GoldenSword => Tool {
3938                can_destroy_blocks_in_creative: false,
3939                damage_per_block: 2,
3940                rules: vec![
3941                    ToolRule {
3942                        blocks: HolderSet::Direct {
3943                            contents: vec![Block::Cobweb],
3944                        },
3945                        correct_for_drops: Some(true),
3946                        speed: Some(15.0),
3947                    },
3948                    ToolRule {
3949                        blocks: HolderSet::Direct {
3950                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
3951                                .clone()
3952                                .into_iter()
3953                                .collect(),
3954                        },
3955                        speed: Some(3.4028235e+38),
3956                        ..ToolRule::new()
3957                    },
3958                    ToolRule {
3959                        blocks: HolderSet::Direct {
3960                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
3961                                .clone()
3962                                .into_iter()
3963                                .collect(),
3964                        },
3965                        speed: Some(1.5),
3966                        ..ToolRule::new()
3967                    },
3968                ],
3969                ..Tool::new()
3970            },
3971            Item::IronAxe => Tool {
3972                rules: vec![
3973                    ToolRule {
3974                        blocks: HolderSet::Direct {
3975                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
3976                                .clone()
3977                                .into_iter()
3978                                .collect(),
3979                        },
3980                        correct_for_drops: Some(false),
3981                        ..ToolRule::new()
3982                    },
3983                    ToolRule {
3984                        blocks: HolderSet::Direct {
3985                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
3986                                .clone()
3987                                .into_iter()
3988                                .collect(),
3989                        },
3990                        correct_for_drops: Some(true),
3991                        speed: Some(6.0),
3992                    },
3993                ],
3994                ..Tool::new()
3995            },
3996            Item::IronHoe => Tool {
3997                rules: vec![
3998                    ToolRule {
3999                        blocks: HolderSet::Direct {
4000                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4001                                .clone()
4002                                .into_iter()
4003                                .collect(),
4004                        },
4005                        correct_for_drops: Some(false),
4006                        ..ToolRule::new()
4007                    },
4008                    ToolRule {
4009                        blocks: HolderSet::Direct {
4010                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
4011                                .clone()
4012                                .into_iter()
4013                                .collect(),
4014                        },
4015                        correct_for_drops: Some(true),
4016                        speed: Some(6.0),
4017                    },
4018                ],
4019                ..Tool::new()
4020            },
4021            Item::IronPickaxe => Tool {
4022                rules: vec![
4023                    ToolRule {
4024                        blocks: HolderSet::Direct {
4025                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4026                                .clone()
4027                                .into_iter()
4028                                .collect(),
4029                        },
4030                        correct_for_drops: Some(false),
4031                        ..ToolRule::new()
4032                    },
4033                    ToolRule {
4034                        blocks: HolderSet::Direct {
4035                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4036                                .clone()
4037                                .into_iter()
4038                                .collect(),
4039                        },
4040                        correct_for_drops: Some(true),
4041                        speed: Some(6.0),
4042                    },
4043                ],
4044                ..Tool::new()
4045            },
4046            Item::IronShovel => Tool {
4047                rules: vec![
4048                    ToolRule {
4049                        blocks: HolderSet::Direct {
4050                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4051                                .clone()
4052                                .into_iter()
4053                                .collect(),
4054                        },
4055                        correct_for_drops: Some(false),
4056                        ..ToolRule::new()
4057                    },
4058                    ToolRule {
4059                        blocks: HolderSet::Direct {
4060                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4061                                .clone()
4062                                .into_iter()
4063                                .collect(),
4064                        },
4065                        correct_for_drops: Some(true),
4066                        speed: Some(6.0),
4067                    },
4068                ],
4069                ..Tool::new()
4070            },
4071            Item::IronSword => Tool {
4072                can_destroy_blocks_in_creative: false,
4073                damage_per_block: 2,
4074                rules: vec![
4075                    ToolRule {
4076                        blocks: HolderSet::Direct {
4077                            contents: vec![Block::Cobweb],
4078                        },
4079                        correct_for_drops: Some(true),
4080                        speed: Some(15.0),
4081                    },
4082                    ToolRule {
4083                        blocks: HolderSet::Direct {
4084                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4085                                .clone()
4086                                .into_iter()
4087                                .collect(),
4088                        },
4089                        speed: Some(3.4028235e+38),
4090                        ..ToolRule::new()
4091                    },
4092                    ToolRule {
4093                        blocks: HolderSet::Direct {
4094                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4095                                .clone()
4096                                .into_iter()
4097                                .collect(),
4098                        },
4099                        speed: Some(1.5),
4100                        ..ToolRule::new()
4101                    },
4102                ],
4103                ..Tool::new()
4104            },
4105            Item::Mace => Tool {
4106                can_destroy_blocks_in_creative: false,
4107                damage_per_block: 2,
4108                rules: vec![],
4109                ..Tool::new()
4110            },
4111            Item::NetheriteAxe => Tool {
4112                rules: vec![
4113                    ToolRule {
4114                        blocks: HolderSet::Direct {
4115                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4116                                .clone()
4117                                .into_iter()
4118                                .collect(),
4119                        },
4120                        correct_for_drops: Some(false),
4121                        ..ToolRule::new()
4122                    },
4123                    ToolRule {
4124                        blocks: HolderSet::Direct {
4125                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
4126                                .clone()
4127                                .into_iter()
4128                                .collect(),
4129                        },
4130                        correct_for_drops: Some(true),
4131                        speed: Some(9.0),
4132                    },
4133                ],
4134                ..Tool::new()
4135            },
4136            Item::NetheriteHoe => Tool {
4137                rules: vec![
4138                    ToolRule {
4139                        blocks: HolderSet::Direct {
4140                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4141                                .clone()
4142                                .into_iter()
4143                                .collect(),
4144                        },
4145                        correct_for_drops: Some(false),
4146                        ..ToolRule::new()
4147                    },
4148                    ToolRule {
4149                        blocks: HolderSet::Direct {
4150                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
4151                                .clone()
4152                                .into_iter()
4153                                .collect(),
4154                        },
4155                        correct_for_drops: Some(true),
4156                        speed: Some(9.0),
4157                    },
4158                ],
4159                ..Tool::new()
4160            },
4161            Item::NetheritePickaxe => Tool {
4162                rules: vec![
4163                    ToolRule {
4164                        blocks: HolderSet::Direct {
4165                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4166                                .clone()
4167                                .into_iter()
4168                                .collect(),
4169                        },
4170                        correct_for_drops: Some(false),
4171                        ..ToolRule::new()
4172                    },
4173                    ToolRule {
4174                        blocks: HolderSet::Direct {
4175                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4176                                .clone()
4177                                .into_iter()
4178                                .collect(),
4179                        },
4180                        correct_for_drops: Some(true),
4181                        speed: Some(9.0),
4182                    },
4183                ],
4184                ..Tool::new()
4185            },
4186            Item::NetheriteShovel => Tool {
4187                rules: vec![
4188                    ToolRule {
4189                        blocks: HolderSet::Direct {
4190                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4191                                .clone()
4192                                .into_iter()
4193                                .collect(),
4194                        },
4195                        correct_for_drops: Some(false),
4196                        ..ToolRule::new()
4197                    },
4198                    ToolRule {
4199                        blocks: HolderSet::Direct {
4200                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4201                                .clone()
4202                                .into_iter()
4203                                .collect(),
4204                        },
4205                        correct_for_drops: Some(true),
4206                        speed: Some(9.0),
4207                    },
4208                ],
4209                ..Tool::new()
4210            },
4211            Item::NetheriteSword => Tool {
4212                can_destroy_blocks_in_creative: false,
4213                damage_per_block: 2,
4214                rules: vec![
4215                    ToolRule {
4216                        blocks: HolderSet::Direct {
4217                            contents: vec![Block::Cobweb],
4218                        },
4219                        correct_for_drops: Some(true),
4220                        speed: Some(15.0),
4221                    },
4222                    ToolRule {
4223                        blocks: HolderSet::Direct {
4224                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4225                                .clone()
4226                                .into_iter()
4227                                .collect(),
4228                        },
4229                        speed: Some(3.4028235e+38),
4230                        ..ToolRule::new()
4231                    },
4232                    ToolRule {
4233                        blocks: HolderSet::Direct {
4234                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4235                                .clone()
4236                                .into_iter()
4237                                .collect(),
4238                        },
4239                        speed: Some(1.5),
4240                        ..ToolRule::new()
4241                    },
4242                ],
4243                ..Tool::new()
4244            },
4245            Item::Shears => Tool {
4246                rules: vec![
4247                    ToolRule {
4248                        blocks: HolderSet::Direct {
4249                            contents: vec![Block::Cobweb],
4250                        },
4251                        correct_for_drops: Some(true),
4252                        speed: Some(15.0),
4253                    },
4254                    ToolRule {
4255                        blocks: HolderSet::Direct {
4256                            contents: azalea_registry::tags::blocks::LEAVES
4257                                .clone()
4258                                .into_iter()
4259                                .collect(),
4260                        },
4261                        speed: Some(15.0),
4262                        ..ToolRule::new()
4263                    },
4264                    ToolRule {
4265                        blocks: HolderSet::Direct {
4266                            contents: azalea_registry::tags::blocks::WOOL
4267                                .clone()
4268                                .into_iter()
4269                                .collect(),
4270                        },
4271                        speed: Some(5.0),
4272                        ..ToolRule::new()
4273                    },
4274                    ToolRule {
4275                        blocks: HolderSet::Direct {
4276                            contents: vec![Block::Vine, Block::GlowLichen],
4277                        },
4278                        speed: Some(2.0),
4279                        ..ToolRule::new()
4280                    },
4281                ],
4282                ..Tool::new()
4283            },
4284            Item::StoneAxe => Tool {
4285                rules: vec![
4286                    ToolRule {
4287                        blocks: HolderSet::Direct {
4288                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4289                                .clone()
4290                                .into_iter()
4291                                .collect(),
4292                        },
4293                        correct_for_drops: Some(false),
4294                        ..ToolRule::new()
4295                    },
4296                    ToolRule {
4297                        blocks: HolderSet::Direct {
4298                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
4299                                .clone()
4300                                .into_iter()
4301                                .collect(),
4302                        },
4303                        correct_for_drops: Some(true),
4304                        speed: Some(4.0),
4305                    },
4306                ],
4307                ..Tool::new()
4308            },
4309            Item::StoneHoe => Tool {
4310                rules: vec![
4311                    ToolRule {
4312                        blocks: HolderSet::Direct {
4313                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4314                                .clone()
4315                                .into_iter()
4316                                .collect(),
4317                        },
4318                        correct_for_drops: Some(false),
4319                        ..ToolRule::new()
4320                    },
4321                    ToolRule {
4322                        blocks: HolderSet::Direct {
4323                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
4324                                .clone()
4325                                .into_iter()
4326                                .collect(),
4327                        },
4328                        correct_for_drops: Some(true),
4329                        speed: Some(4.0),
4330                    },
4331                ],
4332                ..Tool::new()
4333            },
4334            Item::StonePickaxe => Tool {
4335                rules: vec![
4336                    ToolRule {
4337                        blocks: HolderSet::Direct {
4338                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4339                                .clone()
4340                                .into_iter()
4341                                .collect(),
4342                        },
4343                        correct_for_drops: Some(false),
4344                        ..ToolRule::new()
4345                    },
4346                    ToolRule {
4347                        blocks: HolderSet::Direct {
4348                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4349                                .clone()
4350                                .into_iter()
4351                                .collect(),
4352                        },
4353                        correct_for_drops: Some(true),
4354                        speed: Some(4.0),
4355                    },
4356                ],
4357                ..Tool::new()
4358            },
4359            Item::StoneShovel => Tool {
4360                rules: vec![
4361                    ToolRule {
4362                        blocks: HolderSet::Direct {
4363                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4364                                .clone()
4365                                .into_iter()
4366                                .collect(),
4367                        },
4368                        correct_for_drops: Some(false),
4369                        ..ToolRule::new()
4370                    },
4371                    ToolRule {
4372                        blocks: HolderSet::Direct {
4373                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4374                                .clone()
4375                                .into_iter()
4376                                .collect(),
4377                        },
4378                        correct_for_drops: Some(true),
4379                        speed: Some(4.0),
4380                    },
4381                ],
4382                ..Tool::new()
4383            },
4384            Item::StoneSword => Tool {
4385                can_destroy_blocks_in_creative: false,
4386                damage_per_block: 2,
4387                rules: vec![
4388                    ToolRule {
4389                        blocks: HolderSet::Direct {
4390                            contents: vec![Block::Cobweb],
4391                        },
4392                        correct_for_drops: Some(true),
4393                        speed: Some(15.0),
4394                    },
4395                    ToolRule {
4396                        blocks: HolderSet::Direct {
4397                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4398                                .clone()
4399                                .into_iter()
4400                                .collect(),
4401                        },
4402                        speed: Some(3.4028235e+38),
4403                        ..ToolRule::new()
4404                    },
4405                    ToolRule {
4406                        blocks: HolderSet::Direct {
4407                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4408                                .clone()
4409                                .into_iter()
4410                                .collect(),
4411                        },
4412                        speed: Some(1.5),
4413                        ..ToolRule::new()
4414                    },
4415                ],
4416                ..Tool::new()
4417            },
4418            Item::Trident => Tool {
4419                can_destroy_blocks_in_creative: false,
4420                damage_per_block: 2,
4421                rules: vec![],
4422                ..Tool::new()
4423            },
4424            Item::WoodenAxe => Tool {
4425                rules: vec![
4426                    ToolRule {
4427                        blocks: HolderSet::Direct {
4428                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
4429                                .clone()
4430                                .into_iter()
4431                                .collect(),
4432                        },
4433                        correct_for_drops: Some(false),
4434                        ..ToolRule::new()
4435                    },
4436                    ToolRule {
4437                        blocks: HolderSet::Direct {
4438                            contents: azalea_registry::tags::blocks::MINEABLE_AXE
4439                                .clone()
4440                                .into_iter()
4441                                .collect(),
4442                        },
4443                        correct_for_drops: Some(true),
4444                        speed: Some(2.0),
4445                    },
4446                ],
4447                ..Tool::new()
4448            },
4449            Item::WoodenHoe => Tool {
4450                rules: vec![
4451                    ToolRule {
4452                        blocks: HolderSet::Direct {
4453                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
4454                                .clone()
4455                                .into_iter()
4456                                .collect(),
4457                        },
4458                        correct_for_drops: Some(false),
4459                        ..ToolRule::new()
4460                    },
4461                    ToolRule {
4462                        blocks: HolderSet::Direct {
4463                            contents: azalea_registry::tags::blocks::MINEABLE_HOE
4464                                .clone()
4465                                .into_iter()
4466                                .collect(),
4467                        },
4468                        correct_for_drops: Some(true),
4469                        speed: Some(2.0),
4470                    },
4471                ],
4472                ..Tool::new()
4473            },
4474            Item::WoodenPickaxe => Tool {
4475                rules: vec![
4476                    ToolRule {
4477                        blocks: HolderSet::Direct {
4478                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
4479                                .clone()
4480                                .into_iter()
4481                                .collect(),
4482                        },
4483                        correct_for_drops: Some(false),
4484                        ..ToolRule::new()
4485                    },
4486                    ToolRule {
4487                        blocks: HolderSet::Direct {
4488                            contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4489                                .clone()
4490                                .into_iter()
4491                                .collect(),
4492                        },
4493                        correct_for_drops: Some(true),
4494                        speed: Some(2.0),
4495                    },
4496                ],
4497                ..Tool::new()
4498            },
4499            Item::WoodenShovel => Tool {
4500                rules: vec![
4501                    ToolRule {
4502                        blocks: HolderSet::Direct {
4503                            contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
4504                                .clone()
4505                                .into_iter()
4506                                .collect(),
4507                        },
4508                        correct_for_drops: Some(false),
4509                        ..ToolRule::new()
4510                    },
4511                    ToolRule {
4512                        blocks: HolderSet::Direct {
4513                            contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4514                                .clone()
4515                                .into_iter()
4516                                .collect(),
4517                        },
4518                        correct_for_drops: Some(true),
4519                        speed: Some(2.0),
4520                    },
4521                ],
4522                ..Tool::new()
4523            },
4524            Item::WoodenSword => Tool {
4525                can_destroy_blocks_in_creative: false,
4526                damage_per_block: 2,
4527                rules: vec![
4528                    ToolRule {
4529                        blocks: HolderSet::Direct {
4530                            contents: vec![Block::Cobweb],
4531                        },
4532                        correct_for_drops: Some(true),
4533                        speed: Some(15.0),
4534                    },
4535                    ToolRule {
4536                        blocks: HolderSet::Direct {
4537                            contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4538                                .clone()
4539                                .into_iter()
4540                                .collect(),
4541                        },
4542                        speed: Some(3.4028235e+38),
4543                        ..ToolRule::new()
4544                    },
4545                    ToolRule {
4546                        blocks: HolderSet::Direct {
4547                            contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4548                                .clone()
4549                                .into_iter()
4550                                .collect(),
4551                        },
4552                        speed: Some(1.5),
4553                        ..ToolRule::new()
4554                    },
4555                ],
4556                ..Tool::new()
4557            },
4558            _ => return None,
4559        };
4560        Some(value)
4561    }
4562}
4563impl DefaultableComponent for Weapon {
4564    fn default_for_item(item: Item) -> Option<Self> {
4565        let value = match item {
4566            Item::DiamondAxe => Weapon {
4567                disable_blocking_for_seconds: 5.0,
4568                item_damage_per_attack: 2,
4569            },
4570            Item::DiamondHoe => Weapon {
4571                item_damage_per_attack: 2,
4572                ..Weapon::new()
4573            },
4574            Item::DiamondPickaxe => Weapon {
4575                item_damage_per_attack: 2,
4576                ..Weapon::new()
4577            },
4578            Item::DiamondShovel => Weapon {
4579                item_damage_per_attack: 2,
4580                ..Weapon::new()
4581            },
4582            Item::DiamondSword => Weapon::new(),
4583            Item::GoldenAxe => Weapon {
4584                disable_blocking_for_seconds: 5.0,
4585                item_damage_per_attack: 2,
4586            },
4587            Item::GoldenHoe => Weapon {
4588                item_damage_per_attack: 2,
4589                ..Weapon::new()
4590            },
4591            Item::GoldenPickaxe => Weapon {
4592                item_damage_per_attack: 2,
4593                ..Weapon::new()
4594            },
4595            Item::GoldenShovel => Weapon {
4596                item_damage_per_attack: 2,
4597                ..Weapon::new()
4598            },
4599            Item::GoldenSword => Weapon::new(),
4600            Item::IronAxe => Weapon {
4601                disable_blocking_for_seconds: 5.0,
4602                item_damage_per_attack: 2,
4603            },
4604            Item::IronHoe => Weapon {
4605                item_damage_per_attack: 2,
4606                ..Weapon::new()
4607            },
4608            Item::IronPickaxe => Weapon {
4609                item_damage_per_attack: 2,
4610                ..Weapon::new()
4611            },
4612            Item::IronShovel => Weapon {
4613                item_damage_per_attack: 2,
4614                ..Weapon::new()
4615            },
4616            Item::IronSword => Weapon::new(),
4617            Item::Mace => Weapon::new(),
4618            Item::NetheriteAxe => Weapon {
4619                disable_blocking_for_seconds: 5.0,
4620                item_damage_per_attack: 2,
4621            },
4622            Item::NetheriteHoe => Weapon {
4623                item_damage_per_attack: 2,
4624                ..Weapon::new()
4625            },
4626            Item::NetheritePickaxe => Weapon {
4627                item_damage_per_attack: 2,
4628                ..Weapon::new()
4629            },
4630            Item::NetheriteShovel => Weapon {
4631                item_damage_per_attack: 2,
4632                ..Weapon::new()
4633            },
4634            Item::NetheriteSword => Weapon::new(),
4635            Item::StoneAxe => Weapon {
4636                disable_blocking_for_seconds: 5.0,
4637                item_damage_per_attack: 2,
4638            },
4639            Item::StoneHoe => Weapon {
4640                item_damage_per_attack: 2,
4641                ..Weapon::new()
4642            },
4643            Item::StonePickaxe => Weapon {
4644                item_damage_per_attack: 2,
4645                ..Weapon::new()
4646            },
4647            Item::StoneShovel => Weapon {
4648                item_damage_per_attack: 2,
4649                ..Weapon::new()
4650            },
4651            Item::StoneSword => Weapon::new(),
4652            Item::Trident => Weapon::new(),
4653            Item::WoodenAxe => Weapon {
4654                disable_blocking_for_seconds: 5.0,
4655                item_damage_per_attack: 2,
4656            },
4657            Item::WoodenHoe => Weapon {
4658                item_damage_per_attack: 2,
4659                ..Weapon::new()
4660            },
4661            Item::WoodenPickaxe => Weapon {
4662                item_damage_per_attack: 2,
4663                ..Weapon::new()
4664            },
4665            Item::WoodenShovel => Weapon {
4666                item_damage_per_attack: 2,
4667                ..Weapon::new()
4668            },
4669            Item::WoodenSword => Weapon::new(),
4670            _ => return None,
4671        };
4672        Some(value)
4673    }
4674}
4675impl DefaultableComponent for Glider {
4676    fn default_for_item(item: Item) -> Option<Self> {
4677        let value = match item {
4678            Item::Elytra => Glider,
4679            _ => return None,
4680        };
4681        Some(value)
4682    }
4683}
4684impl DefaultableComponent for StoredEnchantments {
4685    fn default_for_item(item: Item) -> Option<Self> {
4686        let value = match item {
4687            Item::EnchantedBook => HashMap::from_iter([]),
4688            _ => return None,
4689        };
4690        Some(StoredEnchantments {
4691            enchantments: value,
4692        })
4693    }
4694}
4695impl DefaultableComponent for MapColor {
4696    fn default_for_item(item: Item) -> Option<Self> {
4697        let value = match item {
4698            Item::FilledMap => 4603950,
4699            _ => return None,
4700        };
4701        Some(MapColor { color: value })
4702    }
4703}
4704impl DefaultableComponent for MapDecorations {
4705    fn default_for_item(item: Item) -> Option<Self> {
4706        let value = match item {
4707            Item::FilledMap => NbtCompound::new(),
4708            _ => return None,
4709        };
4710        Some(MapDecorations { decorations: value })
4711    }
4712}
4713impl DefaultableComponent for Fireworks {
4714    fn default_for_item(item: Item) -> Option<Self> {
4715        let value = match item {
4716            Item::FireworkRocket => Fireworks {
4717                flight_duration: 1,
4718                ..Fireworks::new()
4719            },
4720            _ => return None,
4721        };
4722        Some(value)
4723    }
4724}
4725impl DefaultableComponent for Instrument {
4726    fn default_for_item(item: Item) -> Option<Self> {
4727        let value = match item {
4728            Item::GoatHorn => Instrument::Registry(azalea_registry::Instrument::PonderGoatHorn),
4729            _ => return None,
4730        };
4731        Some(value)
4732    }
4733}
4734impl DefaultableComponent for Recipes {
4735    fn default_for_item(item: Item) -> Option<Self> {
4736        let value = match item {
4737            Item::KnowledgeBook => vec![],
4738            _ => return None,
4739        };
4740        Some(Recipes { recipes: value })
4741    }
4742}
4743impl DefaultableComponent for PotionContents {
4744    fn default_for_item(item: Item) -> Option<Self> {
4745        let value = match item {
4746            Item::LingeringPotion => PotionContents::new(),
4747            Item::Potion => PotionContents::new(),
4748            Item::SplashPotion => PotionContents::new(),
4749            Item::TippedArrow => PotionContents::new(),
4750            _ => return None,
4751        };
4752        Some(value)
4753    }
4754}
4755impl DefaultableComponent for PotionDurationScale {
4756    fn default_for_item(item: Item) -> Option<Self> {
4757        let value = match item {
4758            Item::LingeringPotion => 0.25,
4759            Item::TippedArrow => 0.125,
4760            _ => return None,
4761        };
4762        Some(PotionDurationScale { value: value })
4763    }
4764}
4765impl DefaultableComponent for JukeboxPlayable {
4766    fn default_for_item(item: Item) -> Option<Self> {
4767        let value = match item {
4768            Item::MusicDisc11 => JukeboxPlayable::Referenced("minecraft:11".into()),
4769            Item::MusicDisc13 => JukeboxPlayable::Referenced("minecraft:13".into()),
4770            Item::MusicDisc5 => JukeboxPlayable::Referenced("minecraft:5".into()),
4771            Item::MusicDiscBlocks => JukeboxPlayable::Referenced("minecraft:blocks".into()),
4772            Item::MusicDiscCat => JukeboxPlayable::Referenced("minecraft:cat".into()),
4773            Item::MusicDiscChirp => JukeboxPlayable::Referenced("minecraft:chirp".into()),
4774            Item::MusicDiscCreator => JukeboxPlayable::Referenced("minecraft:creator".into()),
4775            Item::MusicDiscCreatorMusicBox => {
4776                JukeboxPlayable::Referenced("minecraft:creator_music_box".into())
4777            }
4778            Item::MusicDiscFar => JukeboxPlayable::Referenced("minecraft:far".into()),
4779            Item::MusicDiscLavaChicken => {
4780                JukeboxPlayable::Referenced("minecraft:lava_chicken".into())
4781            }
4782            Item::MusicDiscMall => JukeboxPlayable::Referenced("minecraft:mall".into()),
4783            Item::MusicDiscMellohi => JukeboxPlayable::Referenced("minecraft:mellohi".into()),
4784            Item::MusicDiscOtherside => JukeboxPlayable::Referenced("minecraft:otherside".into()),
4785            Item::MusicDiscPigstep => JukeboxPlayable::Referenced("minecraft:pigstep".into()),
4786            Item::MusicDiscPrecipice => JukeboxPlayable::Referenced("minecraft:precipice".into()),
4787            Item::MusicDiscRelic => JukeboxPlayable::Referenced("minecraft:relic".into()),
4788            Item::MusicDiscStal => JukeboxPlayable::Referenced("minecraft:stal".into()),
4789            Item::MusicDiscStrad => JukeboxPlayable::Referenced("minecraft:strad".into()),
4790            Item::MusicDiscTears => JukeboxPlayable::Referenced("minecraft:tears".into()),
4791            Item::MusicDiscWait => JukeboxPlayable::Referenced("minecraft:wait".into()),
4792            Item::MusicDiscWard => JukeboxPlayable::Referenced("minecraft:ward".into()),
4793            _ => return None,
4794        };
4795        Some(value)
4796    }
4797}
4798impl DefaultableComponent for OminousBottleAmplifier {
4799    fn default_for_item(item: Item) -> Option<Self> {
4800        let value = match item {
4801            Item::OminousBottle => 0,
4802            _ => return None,
4803        };
4804        Some(OminousBottleAmplifier { amplifier: value })
4805    }
4806}
4807impl DefaultableComponent for BlocksAttacks {
4808    fn default_for_item(item: Item) -> Option<Self> {
4809        let value = match item {
4810            Item::Shield => BlocksAttacks {
4811                block_delay_seconds: 0.25,
4812                block_sound: Some(azalea_registry::Holder::Reference(
4813                    SoundEvent::ItemShieldBlock,
4814                )),
4815                bypassed_by: Some("#minecraft:bypasses_shield".into()),
4816                disabled_sound: Some(azalea_registry::Holder::Reference(
4817                    SoundEvent::ItemShieldBreak,
4818                )),
4819                item_damage: ItemDamageFunction {
4820                    base: 1.0,
4821                    factor: 1.0,
4822                    threshold: 3.0,
4823                },
4824                ..BlocksAttacks::new()
4825            },
4826            _ => return None,
4827        };
4828        Some(value)
4829    }
4830}
4831impl DefaultableComponent for SuspiciousStewEffects {
4832    fn default_for_item(item: Item) -> Option<Self> {
4833        let value = match item {
4834            Item::SuspiciousStew => vec![],
4835            _ => return None,
4836        };
4837        Some(SuspiciousStewEffects { effects: value })
4838    }
4839}
4840impl DefaultableComponent for DeathProtection {
4841    fn default_for_item(item: Item) -> Option<Self> {
4842        let value = match item {
4843            Item::TotemOfUndying => vec![
4844                ConsumeEffect::ClearAllEffects {},
4845                ConsumeEffect::ApplyEffects {
4846                    effects: vec![
4847                        MobEffectInstance {
4848                            id: MobEffect::Regeneration,
4849                            details: MobEffectDetails {
4850                                amplifier: 1,
4851                                duration: 900,
4852                                show_icon: true,
4853                                ..MobEffectDetails::new()
4854                            },
4855                        },
4856                        MobEffectInstance {
4857                            id: MobEffect::Absorption,
4858                            details: MobEffectDetails {
4859                                amplifier: 1,
4860                                duration: 100,
4861                                show_icon: true,
4862                                ..MobEffectDetails::new()
4863                            },
4864                        },
4865                        MobEffectInstance {
4866                            id: MobEffect::FireResistance,
4867                            details: MobEffectDetails {
4868                                duration: 800,
4869                                show_icon: true,
4870                                ..MobEffectDetails::new()
4871                            },
4872                        },
4873                    ],
4874                    probability: 1.0,
4875                },
4876            ],
4877            _ => return None,
4878        };
4879        Some(DeathProtection {
4880            death_effects: value,
4881        })
4882    }
4883}
4884impl DefaultableComponent for WritableBookContent {
4885    fn default_for_item(item: Item) -> Option<Self> {
4886        let value = match item {
4887            Item::WritableBook => Vec::new(),
4888            _ => return None,
4889        };
4890        Some(WritableBookContent { pages: value })
4891    }
4892}