1#![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 kind: 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 kind: 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 kind: 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 kind: 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 kind: 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 kind: 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 kind: 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 kind: 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 kind: 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::CopperAxe => vec![
119 AttributeModifiersEntry {
120 slot: EquipmentSlotGroup::Mainhand,
121 kind: Attribute::AttackDamage,
122 display: AttributeModifierDisplay::Default,
123 modifier: AttributeModifier {
124 id: "minecraft:base_attack_damage".into(),
125 amount: 8.0,
126 operation: AttributeModifierOperation::AddValue,
127 },
128 },
129 AttributeModifiersEntry {
130 slot: EquipmentSlotGroup::Mainhand,
131 kind: Attribute::AttackSpeed,
132 display: AttributeModifierDisplay::Default,
133 modifier: AttributeModifier {
134 id: "minecraft:base_attack_speed".into(),
135 amount: -3.200000047683716,
136 operation: AttributeModifierOperation::AddValue,
137 },
138 },
139 ],
140 Item::CopperBoots => vec![
141 AttributeModifiersEntry {
142 slot: EquipmentSlotGroup::Feet,
143 kind: Attribute::Armor,
144 display: AttributeModifierDisplay::Default,
145 modifier: AttributeModifier {
146 id: "minecraft:armor.boots".into(),
147 amount: 1.0,
148 operation: AttributeModifierOperation::AddValue,
149 },
150 },
151 AttributeModifiersEntry {
152 slot: EquipmentSlotGroup::Feet,
153 kind: Attribute::ArmorToughness,
154 display: AttributeModifierDisplay::Default,
155 modifier: AttributeModifier {
156 id: "minecraft:armor.boots".into(),
157 amount: 0.0,
158 operation: AttributeModifierOperation::AddValue,
159 },
160 },
161 ],
162 Item::CopperChestplate => vec![
163 AttributeModifiersEntry {
164 slot: EquipmentSlotGroup::Chest,
165 kind: Attribute::Armor,
166 display: AttributeModifierDisplay::Default,
167 modifier: AttributeModifier {
168 id: "minecraft:armor.chestplate".into(),
169 amount: 4.0,
170 operation: AttributeModifierOperation::AddValue,
171 },
172 },
173 AttributeModifiersEntry {
174 slot: EquipmentSlotGroup::Chest,
175 kind: Attribute::ArmorToughness,
176 display: AttributeModifierDisplay::Default,
177 modifier: AttributeModifier {
178 id: "minecraft:armor.chestplate".into(),
179 amount: 0.0,
180 operation: AttributeModifierOperation::AddValue,
181 },
182 },
183 ],
184 Item::CopperHelmet => vec![
185 AttributeModifiersEntry {
186 slot: EquipmentSlotGroup::Head,
187 kind: Attribute::Armor,
188 display: AttributeModifierDisplay::Default,
189 modifier: AttributeModifier {
190 id: "minecraft:armor.helmet".into(),
191 amount: 2.0,
192 operation: AttributeModifierOperation::AddValue,
193 },
194 },
195 AttributeModifiersEntry {
196 slot: EquipmentSlotGroup::Head,
197 kind: Attribute::ArmorToughness,
198 display: AttributeModifierDisplay::Default,
199 modifier: AttributeModifier {
200 id: "minecraft:armor.helmet".into(),
201 amount: 0.0,
202 operation: AttributeModifierOperation::AddValue,
203 },
204 },
205 ],
206 Item::CopperHoe => vec![
207 AttributeModifiersEntry {
208 slot: EquipmentSlotGroup::Mainhand,
209 kind: Attribute::AttackDamage,
210 display: AttributeModifierDisplay::Default,
211 modifier: AttributeModifier {
212 id: "minecraft:base_attack_damage".into(),
213 amount: 0.0,
214 operation: AttributeModifierOperation::AddValue,
215 },
216 },
217 AttributeModifiersEntry {
218 slot: EquipmentSlotGroup::Mainhand,
219 kind: Attribute::AttackSpeed,
220 display: AttributeModifierDisplay::Default,
221 modifier: AttributeModifier {
222 id: "minecraft:base_attack_speed".into(),
223 amount: -2.0,
224 operation: AttributeModifierOperation::AddValue,
225 },
226 },
227 ],
228 Item::CopperHorseArmor => vec![
229 AttributeModifiersEntry {
230 slot: EquipmentSlotGroup::Body,
231 kind: Attribute::Armor,
232 display: AttributeModifierDisplay::Default,
233 modifier: AttributeModifier {
234 id: "minecraft:armor.body".into(),
235 amount: 4.0,
236 operation: AttributeModifierOperation::AddValue,
237 },
238 },
239 AttributeModifiersEntry {
240 slot: EquipmentSlotGroup::Body,
241 kind: Attribute::ArmorToughness,
242 display: AttributeModifierDisplay::Default,
243 modifier: AttributeModifier {
244 id: "minecraft:armor.body".into(),
245 amount: 0.0,
246 operation: AttributeModifierOperation::AddValue,
247 },
248 },
249 ],
250 Item::CopperLeggings => vec![
251 AttributeModifiersEntry {
252 slot: EquipmentSlotGroup::Legs,
253 kind: Attribute::Armor,
254 display: AttributeModifierDisplay::Default,
255 modifier: AttributeModifier {
256 id: "minecraft:armor.leggings".into(),
257 amount: 3.0,
258 operation: AttributeModifierOperation::AddValue,
259 },
260 },
261 AttributeModifiersEntry {
262 slot: EquipmentSlotGroup::Legs,
263 kind: Attribute::ArmorToughness,
264 display: AttributeModifierDisplay::Default,
265 modifier: AttributeModifier {
266 id: "minecraft:armor.leggings".into(),
267 amount: 0.0,
268 operation: AttributeModifierOperation::AddValue,
269 },
270 },
271 ],
272 Item::CopperPickaxe => vec![
273 AttributeModifiersEntry {
274 slot: EquipmentSlotGroup::Mainhand,
275 kind: Attribute::AttackDamage,
276 display: AttributeModifierDisplay::Default,
277 modifier: AttributeModifier {
278 id: "minecraft:base_attack_damage".into(),
279 amount: 2.0,
280 operation: AttributeModifierOperation::AddValue,
281 },
282 },
283 AttributeModifiersEntry {
284 slot: EquipmentSlotGroup::Mainhand,
285 kind: Attribute::AttackSpeed,
286 display: AttributeModifierDisplay::Default,
287 modifier: AttributeModifier {
288 id: "minecraft:base_attack_speed".into(),
289 amount: -2.799999952316284,
290 operation: AttributeModifierOperation::AddValue,
291 },
292 },
293 ],
294 Item::CopperShovel => vec![
295 AttributeModifiersEntry {
296 slot: EquipmentSlotGroup::Mainhand,
297 kind: Attribute::AttackDamage,
298 display: AttributeModifierDisplay::Default,
299 modifier: AttributeModifier {
300 id: "minecraft:base_attack_damage".into(),
301 amount: 2.5,
302 operation: AttributeModifierOperation::AddValue,
303 },
304 },
305 AttributeModifiersEntry {
306 slot: EquipmentSlotGroup::Mainhand,
307 kind: Attribute::AttackSpeed,
308 display: AttributeModifierDisplay::Default,
309 modifier: AttributeModifier {
310 id: "minecraft:base_attack_speed".into(),
311 amount: -3.0,
312 operation: AttributeModifierOperation::AddValue,
313 },
314 },
315 ],
316 Item::CopperSword => vec![
317 AttributeModifiersEntry {
318 slot: EquipmentSlotGroup::Mainhand,
319 kind: Attribute::AttackDamage,
320 display: AttributeModifierDisplay::Default,
321 modifier: AttributeModifier {
322 id: "minecraft:base_attack_damage".into(),
323 amount: 4.0,
324 operation: AttributeModifierOperation::AddValue,
325 },
326 },
327 AttributeModifiersEntry {
328 slot: EquipmentSlotGroup::Mainhand,
329 kind: Attribute::AttackSpeed,
330 display: AttributeModifierDisplay::Default,
331 modifier: AttributeModifier {
332 id: "minecraft:base_attack_speed".into(),
333 amount: -2.4000000953674316,
334 operation: AttributeModifierOperation::AddValue,
335 },
336 },
337 ],
338 Item::CreeperHead => vec![AttributeModifiersEntry {
339 display: AttributeModifierDisplay::Hidden,
340 slot: EquipmentSlotGroup::Head,
341 kind: Attribute::WaypointTransmitRange,
342 modifier: AttributeModifier {
343 id: "minecraft:waypoint_transmit_range_hide".into(),
344 amount: -1.0,
345 operation: AttributeModifierOperation::AddMultipliedTotal,
346 },
347 }],
348 Item::DiamondAxe => vec![
349 AttributeModifiersEntry {
350 slot: EquipmentSlotGroup::Mainhand,
351 kind: Attribute::AttackDamage,
352 display: AttributeModifierDisplay::Default,
353 modifier: AttributeModifier {
354 id: "minecraft:base_attack_damage".into(),
355 amount: 8.0,
356 operation: AttributeModifierOperation::AddValue,
357 },
358 },
359 AttributeModifiersEntry {
360 slot: EquipmentSlotGroup::Mainhand,
361 kind: Attribute::AttackSpeed,
362 display: AttributeModifierDisplay::Default,
363 modifier: AttributeModifier {
364 id: "minecraft:base_attack_speed".into(),
365 amount: -3.0,
366 operation: AttributeModifierOperation::AddValue,
367 },
368 },
369 ],
370 Item::DiamondBoots => vec![
371 AttributeModifiersEntry {
372 slot: EquipmentSlotGroup::Feet,
373 kind: Attribute::Armor,
374 display: AttributeModifierDisplay::Default,
375 modifier: AttributeModifier {
376 id: "minecraft:armor.boots".into(),
377 amount: 3.0,
378 operation: AttributeModifierOperation::AddValue,
379 },
380 },
381 AttributeModifiersEntry {
382 slot: EquipmentSlotGroup::Feet,
383 kind: Attribute::ArmorToughness,
384 display: AttributeModifierDisplay::Default,
385 modifier: AttributeModifier {
386 id: "minecraft:armor.boots".into(),
387 amount: 2.0,
388 operation: AttributeModifierOperation::AddValue,
389 },
390 },
391 ],
392 Item::DiamondChestplate => vec![
393 AttributeModifiersEntry {
394 slot: EquipmentSlotGroup::Chest,
395 kind: Attribute::Armor,
396 display: AttributeModifierDisplay::Default,
397 modifier: AttributeModifier {
398 id: "minecraft:armor.chestplate".into(),
399 amount: 8.0,
400 operation: AttributeModifierOperation::AddValue,
401 },
402 },
403 AttributeModifiersEntry {
404 slot: EquipmentSlotGroup::Chest,
405 kind: Attribute::ArmorToughness,
406 display: AttributeModifierDisplay::Default,
407 modifier: AttributeModifier {
408 id: "minecraft:armor.chestplate".into(),
409 amount: 2.0,
410 operation: AttributeModifierOperation::AddValue,
411 },
412 },
413 ],
414 Item::DiamondHelmet => vec![
415 AttributeModifiersEntry {
416 slot: EquipmentSlotGroup::Head,
417 kind: Attribute::Armor,
418 display: AttributeModifierDisplay::Default,
419 modifier: AttributeModifier {
420 id: "minecraft:armor.helmet".into(),
421 amount: 3.0,
422 operation: AttributeModifierOperation::AddValue,
423 },
424 },
425 AttributeModifiersEntry {
426 slot: EquipmentSlotGroup::Head,
427 kind: Attribute::ArmorToughness,
428 display: AttributeModifierDisplay::Default,
429 modifier: AttributeModifier {
430 id: "minecraft:armor.helmet".into(),
431 amount: 2.0,
432 operation: AttributeModifierOperation::AddValue,
433 },
434 },
435 ],
436 Item::DiamondHoe => vec![
437 AttributeModifiersEntry {
438 slot: EquipmentSlotGroup::Mainhand,
439 kind: Attribute::AttackDamage,
440 display: AttributeModifierDisplay::Default,
441 modifier: AttributeModifier {
442 id: "minecraft:base_attack_damage".into(),
443 amount: 0.0,
444 operation: AttributeModifierOperation::AddValue,
445 },
446 },
447 AttributeModifiersEntry {
448 slot: EquipmentSlotGroup::Mainhand,
449 kind: Attribute::AttackSpeed,
450 display: AttributeModifierDisplay::Default,
451 modifier: AttributeModifier {
452 id: "minecraft:base_attack_speed".into(),
453 amount: 0.0,
454 operation: AttributeModifierOperation::AddValue,
455 },
456 },
457 ],
458 Item::DiamondHorseArmor => vec![
459 AttributeModifiersEntry {
460 slot: EquipmentSlotGroup::Body,
461 kind: Attribute::Armor,
462 display: AttributeModifierDisplay::Default,
463 modifier: AttributeModifier {
464 id: "minecraft:armor.body".into(),
465 amount: 11.0,
466 operation: AttributeModifierOperation::AddValue,
467 },
468 },
469 AttributeModifiersEntry {
470 slot: EquipmentSlotGroup::Body,
471 kind: Attribute::ArmorToughness,
472 display: AttributeModifierDisplay::Default,
473 modifier: AttributeModifier {
474 id: "minecraft:armor.body".into(),
475 amount: 2.0,
476 operation: AttributeModifierOperation::AddValue,
477 },
478 },
479 ],
480 Item::DiamondLeggings => vec![
481 AttributeModifiersEntry {
482 slot: EquipmentSlotGroup::Legs,
483 kind: Attribute::Armor,
484 display: AttributeModifierDisplay::Default,
485 modifier: AttributeModifier {
486 id: "minecraft:armor.leggings".into(),
487 amount: 6.0,
488 operation: AttributeModifierOperation::AddValue,
489 },
490 },
491 AttributeModifiersEntry {
492 slot: EquipmentSlotGroup::Legs,
493 kind: Attribute::ArmorToughness,
494 display: AttributeModifierDisplay::Default,
495 modifier: AttributeModifier {
496 id: "minecraft:armor.leggings".into(),
497 amount: 2.0,
498 operation: AttributeModifierOperation::AddValue,
499 },
500 },
501 ],
502 Item::DiamondPickaxe => vec![
503 AttributeModifiersEntry {
504 slot: EquipmentSlotGroup::Mainhand,
505 kind: Attribute::AttackDamage,
506 display: AttributeModifierDisplay::Default,
507 modifier: AttributeModifier {
508 id: "minecraft:base_attack_damage".into(),
509 amount: 4.0,
510 operation: AttributeModifierOperation::AddValue,
511 },
512 },
513 AttributeModifiersEntry {
514 slot: EquipmentSlotGroup::Mainhand,
515 kind: Attribute::AttackSpeed,
516 display: AttributeModifierDisplay::Default,
517 modifier: AttributeModifier {
518 id: "minecraft:base_attack_speed".into(),
519 amount: -2.799999952316284,
520 operation: AttributeModifierOperation::AddValue,
521 },
522 },
523 ],
524 Item::DiamondShovel => vec![
525 AttributeModifiersEntry {
526 slot: EquipmentSlotGroup::Mainhand,
527 kind: Attribute::AttackDamage,
528 display: AttributeModifierDisplay::Default,
529 modifier: AttributeModifier {
530 id: "minecraft:base_attack_damage".into(),
531 amount: 4.5,
532 operation: AttributeModifierOperation::AddValue,
533 },
534 },
535 AttributeModifiersEntry {
536 slot: EquipmentSlotGroup::Mainhand,
537 kind: Attribute::AttackSpeed,
538 display: AttributeModifierDisplay::Default,
539 modifier: AttributeModifier {
540 id: "minecraft:base_attack_speed".into(),
541 amount: -3.0,
542 operation: AttributeModifierOperation::AddValue,
543 },
544 },
545 ],
546 Item::DiamondSword => vec![
547 AttributeModifiersEntry {
548 slot: EquipmentSlotGroup::Mainhand,
549 kind: Attribute::AttackDamage,
550 display: AttributeModifierDisplay::Default,
551 modifier: AttributeModifier {
552 id: "minecraft:base_attack_damage".into(),
553 amount: 6.0,
554 operation: AttributeModifierOperation::AddValue,
555 },
556 },
557 AttributeModifiersEntry {
558 slot: EquipmentSlotGroup::Mainhand,
559 kind: Attribute::AttackSpeed,
560 display: AttributeModifierDisplay::Default,
561 modifier: AttributeModifier {
562 id: "minecraft:base_attack_speed".into(),
563 amount: -2.4000000953674316,
564 operation: AttributeModifierOperation::AddValue,
565 },
566 },
567 ],
568 Item::DragonHead => vec![AttributeModifiersEntry {
569 display: AttributeModifierDisplay::Hidden,
570 slot: EquipmentSlotGroup::Head,
571 kind: Attribute::WaypointTransmitRange,
572 modifier: AttributeModifier {
573 id: "minecraft:waypoint_transmit_range_hide".into(),
574 amount: -1.0,
575 operation: AttributeModifierOperation::AddMultipliedTotal,
576 },
577 }],
578 Item::GoldenAxe => vec![
579 AttributeModifiersEntry {
580 slot: EquipmentSlotGroup::Mainhand,
581 kind: Attribute::AttackDamage,
582 display: AttributeModifierDisplay::Default,
583 modifier: AttributeModifier {
584 id: "minecraft:base_attack_damage".into(),
585 amount: 6.0,
586 operation: AttributeModifierOperation::AddValue,
587 },
588 },
589 AttributeModifiersEntry {
590 slot: EquipmentSlotGroup::Mainhand,
591 kind: Attribute::AttackSpeed,
592 display: AttributeModifierDisplay::Default,
593 modifier: AttributeModifier {
594 id: "minecraft:base_attack_speed".into(),
595 amount: -3.0,
596 operation: AttributeModifierOperation::AddValue,
597 },
598 },
599 ],
600 Item::GoldenBoots => vec![
601 AttributeModifiersEntry {
602 slot: EquipmentSlotGroup::Feet,
603 kind: Attribute::Armor,
604 display: AttributeModifierDisplay::Default,
605 modifier: AttributeModifier {
606 id: "minecraft:armor.boots".into(),
607 amount: 1.0,
608 operation: AttributeModifierOperation::AddValue,
609 },
610 },
611 AttributeModifiersEntry {
612 slot: EquipmentSlotGroup::Feet,
613 kind: 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::GoldenChestplate => vec![
623 AttributeModifiersEntry {
624 slot: EquipmentSlotGroup::Chest,
625 kind: Attribute::Armor,
626 display: AttributeModifierDisplay::Default,
627 modifier: AttributeModifier {
628 id: "minecraft:armor.chestplate".into(),
629 amount: 5.0,
630 operation: AttributeModifierOperation::AddValue,
631 },
632 },
633 AttributeModifiersEntry {
634 slot: EquipmentSlotGroup::Chest,
635 kind: 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::GoldenHelmet => vec![
645 AttributeModifiersEntry {
646 slot: EquipmentSlotGroup::Head,
647 kind: 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 kind: 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::GoldenHoe => vec![
667 AttributeModifiersEntry {
668 slot: EquipmentSlotGroup::Mainhand,
669 kind: 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 kind: Attribute::AttackSpeed,
680 display: AttributeModifierDisplay::Default,
681 modifier: AttributeModifier {
682 id: "minecraft:base_attack_speed".into(),
683 amount: -3.0,
684 operation: AttributeModifierOperation::AddValue,
685 },
686 },
687 ],
688 Item::GoldenHorseArmor => vec![
689 AttributeModifiersEntry {
690 slot: EquipmentSlotGroup::Body,
691 kind: Attribute::Armor,
692 display: AttributeModifierDisplay::Default,
693 modifier: AttributeModifier {
694 id: "minecraft:armor.body".into(),
695 amount: 7.0,
696 operation: AttributeModifierOperation::AddValue,
697 },
698 },
699 AttributeModifiersEntry {
700 slot: EquipmentSlotGroup::Body,
701 kind: 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::GoldenLeggings => vec![
711 AttributeModifiersEntry {
712 slot: EquipmentSlotGroup::Legs,
713 kind: Attribute::Armor,
714 display: AttributeModifierDisplay::Default,
715 modifier: AttributeModifier {
716 id: "minecraft:armor.leggings".into(),
717 amount: 3.0,
718 operation: AttributeModifierOperation::AddValue,
719 },
720 },
721 AttributeModifiersEntry {
722 slot: EquipmentSlotGroup::Legs,
723 kind: 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::GoldenPickaxe => vec![
733 AttributeModifiersEntry {
734 slot: EquipmentSlotGroup::Mainhand,
735 kind: Attribute::AttackDamage,
736 display: AttributeModifierDisplay::Default,
737 modifier: AttributeModifier {
738 id: "minecraft:base_attack_damage".into(),
739 amount: 1.0,
740 operation: AttributeModifierOperation::AddValue,
741 },
742 },
743 AttributeModifiersEntry {
744 slot: EquipmentSlotGroup::Mainhand,
745 kind: 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::GoldenShovel => vec![
755 AttributeModifiersEntry {
756 slot: EquipmentSlotGroup::Mainhand,
757 kind: Attribute::AttackDamage,
758 display: AttributeModifierDisplay::Default,
759 modifier: AttributeModifier {
760 id: "minecraft:base_attack_damage".into(),
761 amount: 1.5,
762 operation: AttributeModifierOperation::AddValue,
763 },
764 },
765 AttributeModifiersEntry {
766 slot: EquipmentSlotGroup::Mainhand,
767 kind: 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::GoldenSword => vec![
777 AttributeModifiersEntry {
778 slot: EquipmentSlotGroup::Mainhand,
779 kind: Attribute::AttackDamage,
780 display: AttributeModifierDisplay::Default,
781 modifier: AttributeModifier {
782 id: "minecraft:base_attack_damage".into(),
783 amount: 3.0,
784 operation: AttributeModifierOperation::AddValue,
785 },
786 },
787 AttributeModifiersEntry {
788 slot: EquipmentSlotGroup::Mainhand,
789 kind: 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::IronAxe => vec![
799 AttributeModifiersEntry {
800 slot: EquipmentSlotGroup::Mainhand,
801 kind: Attribute::AttackDamage,
802 display: AttributeModifierDisplay::Default,
803 modifier: AttributeModifier {
804 id: "minecraft:base_attack_damage".into(),
805 amount: 8.0,
806 operation: AttributeModifierOperation::AddValue,
807 },
808 },
809 AttributeModifiersEntry {
810 slot: EquipmentSlotGroup::Mainhand,
811 kind: Attribute::AttackSpeed,
812 display: AttributeModifierDisplay::Default,
813 modifier: AttributeModifier {
814 id: "minecraft:base_attack_speed".into(),
815 amount: -3.0999999046325684,
816 operation: AttributeModifierOperation::AddValue,
817 },
818 },
819 ],
820 Item::IronBoots => vec![
821 AttributeModifiersEntry {
822 slot: EquipmentSlotGroup::Feet,
823 kind: Attribute::Armor,
824 display: AttributeModifierDisplay::Default,
825 modifier: AttributeModifier {
826 id: "minecraft:armor.boots".into(),
827 amount: 2.0,
828 operation: AttributeModifierOperation::AddValue,
829 },
830 },
831 AttributeModifiersEntry {
832 slot: EquipmentSlotGroup::Feet,
833 kind: Attribute::ArmorToughness,
834 display: AttributeModifierDisplay::Default,
835 modifier: AttributeModifier {
836 id: "minecraft:armor.boots".into(),
837 amount: 0.0,
838 operation: AttributeModifierOperation::AddValue,
839 },
840 },
841 ],
842 Item::IronChestplate => vec![
843 AttributeModifiersEntry {
844 slot: EquipmentSlotGroup::Chest,
845 kind: Attribute::Armor,
846 display: AttributeModifierDisplay::Default,
847 modifier: AttributeModifier {
848 id: "minecraft:armor.chestplate".into(),
849 amount: 6.0,
850 operation: AttributeModifierOperation::AddValue,
851 },
852 },
853 AttributeModifiersEntry {
854 slot: EquipmentSlotGroup::Chest,
855 kind: Attribute::ArmorToughness,
856 display: AttributeModifierDisplay::Default,
857 modifier: AttributeModifier {
858 id: "minecraft:armor.chestplate".into(),
859 amount: 0.0,
860 operation: AttributeModifierOperation::AddValue,
861 },
862 },
863 ],
864 Item::IronHelmet => vec![
865 AttributeModifiersEntry {
866 slot: EquipmentSlotGroup::Head,
867 kind: Attribute::Armor,
868 display: AttributeModifierDisplay::Default,
869 modifier: AttributeModifier {
870 id: "minecraft:armor.helmet".into(),
871 amount: 2.0,
872 operation: AttributeModifierOperation::AddValue,
873 },
874 },
875 AttributeModifiersEntry {
876 slot: EquipmentSlotGroup::Head,
877 kind: Attribute::ArmorToughness,
878 display: AttributeModifierDisplay::Default,
879 modifier: AttributeModifier {
880 id: "minecraft:armor.helmet".into(),
881 amount: 0.0,
882 operation: AttributeModifierOperation::AddValue,
883 },
884 },
885 ],
886 Item::IronHoe => vec![
887 AttributeModifiersEntry {
888 slot: EquipmentSlotGroup::Mainhand,
889 kind: Attribute::AttackDamage,
890 display: AttributeModifierDisplay::Default,
891 modifier: AttributeModifier {
892 id: "minecraft:base_attack_damage".into(),
893 amount: 0.0,
894 operation: AttributeModifierOperation::AddValue,
895 },
896 },
897 AttributeModifiersEntry {
898 slot: EquipmentSlotGroup::Mainhand,
899 kind: Attribute::AttackSpeed,
900 display: AttributeModifierDisplay::Default,
901 modifier: AttributeModifier {
902 id: "minecraft:base_attack_speed".into(),
903 amount: -1.0,
904 operation: AttributeModifierOperation::AddValue,
905 },
906 },
907 ],
908 Item::IronHorseArmor => vec![
909 AttributeModifiersEntry {
910 slot: EquipmentSlotGroup::Body,
911 kind: Attribute::Armor,
912 display: AttributeModifierDisplay::Default,
913 modifier: AttributeModifier {
914 id: "minecraft:armor.body".into(),
915 amount: 5.0,
916 operation: AttributeModifierOperation::AddValue,
917 },
918 },
919 AttributeModifiersEntry {
920 slot: EquipmentSlotGroup::Body,
921 kind: Attribute::ArmorToughness,
922 display: AttributeModifierDisplay::Default,
923 modifier: AttributeModifier {
924 id: "minecraft:armor.body".into(),
925 amount: 0.0,
926 operation: AttributeModifierOperation::AddValue,
927 },
928 },
929 ],
930 Item::IronLeggings => vec![
931 AttributeModifiersEntry {
932 slot: EquipmentSlotGroup::Legs,
933 kind: Attribute::Armor,
934 display: AttributeModifierDisplay::Default,
935 modifier: AttributeModifier {
936 id: "minecraft:armor.leggings".into(),
937 amount: 5.0,
938 operation: AttributeModifierOperation::AddValue,
939 },
940 },
941 AttributeModifiersEntry {
942 slot: EquipmentSlotGroup::Legs,
943 kind: Attribute::ArmorToughness,
944 display: AttributeModifierDisplay::Default,
945 modifier: AttributeModifier {
946 id: "minecraft:armor.leggings".into(),
947 amount: 0.0,
948 operation: AttributeModifierOperation::AddValue,
949 },
950 },
951 ],
952 Item::IronPickaxe => vec![
953 AttributeModifiersEntry {
954 slot: EquipmentSlotGroup::Mainhand,
955 kind: Attribute::AttackDamage,
956 display: AttributeModifierDisplay::Default,
957 modifier: AttributeModifier {
958 id: "minecraft:base_attack_damage".into(),
959 amount: 3.0,
960 operation: AttributeModifierOperation::AddValue,
961 },
962 },
963 AttributeModifiersEntry {
964 slot: EquipmentSlotGroup::Mainhand,
965 kind: Attribute::AttackSpeed,
966 display: AttributeModifierDisplay::Default,
967 modifier: AttributeModifier {
968 id: "minecraft:base_attack_speed".into(),
969 amount: -2.799999952316284,
970 operation: AttributeModifierOperation::AddValue,
971 },
972 },
973 ],
974 Item::IronShovel => vec![
975 AttributeModifiersEntry {
976 slot: EquipmentSlotGroup::Mainhand,
977 kind: Attribute::AttackDamage,
978 display: AttributeModifierDisplay::Default,
979 modifier: AttributeModifier {
980 id: "minecraft:base_attack_damage".into(),
981 amount: 3.5,
982 operation: AttributeModifierOperation::AddValue,
983 },
984 },
985 AttributeModifiersEntry {
986 slot: EquipmentSlotGroup::Mainhand,
987 kind: Attribute::AttackSpeed,
988 display: AttributeModifierDisplay::Default,
989 modifier: AttributeModifier {
990 id: "minecraft:base_attack_speed".into(),
991 amount: -3.0,
992 operation: AttributeModifierOperation::AddValue,
993 },
994 },
995 ],
996 Item::IronSword => vec![
997 AttributeModifiersEntry {
998 slot: EquipmentSlotGroup::Mainhand,
999 kind: Attribute::AttackDamage,
1000 display: AttributeModifierDisplay::Default,
1001 modifier: AttributeModifier {
1002 id: "minecraft:base_attack_damage".into(),
1003 amount: 5.0,
1004 operation: AttributeModifierOperation::AddValue,
1005 },
1006 },
1007 AttributeModifiersEntry {
1008 slot: EquipmentSlotGroup::Mainhand,
1009 kind: Attribute::AttackSpeed,
1010 display: AttributeModifierDisplay::Default,
1011 modifier: AttributeModifier {
1012 id: "minecraft:base_attack_speed".into(),
1013 amount: -2.4000000953674316,
1014 operation: AttributeModifierOperation::AddValue,
1015 },
1016 },
1017 ],
1018 Item::LeatherBoots => vec![
1019 AttributeModifiersEntry {
1020 slot: EquipmentSlotGroup::Feet,
1021 kind: Attribute::Armor,
1022 display: AttributeModifierDisplay::Default,
1023 modifier: AttributeModifier {
1024 id: "minecraft:armor.boots".into(),
1025 amount: 1.0,
1026 operation: AttributeModifierOperation::AddValue,
1027 },
1028 },
1029 AttributeModifiersEntry {
1030 slot: EquipmentSlotGroup::Feet,
1031 kind: Attribute::ArmorToughness,
1032 display: AttributeModifierDisplay::Default,
1033 modifier: AttributeModifier {
1034 id: "minecraft:armor.boots".into(),
1035 amount: 0.0,
1036 operation: AttributeModifierOperation::AddValue,
1037 },
1038 },
1039 ],
1040 Item::LeatherChestplate => vec![
1041 AttributeModifiersEntry {
1042 slot: EquipmentSlotGroup::Chest,
1043 kind: Attribute::Armor,
1044 display: AttributeModifierDisplay::Default,
1045 modifier: AttributeModifier {
1046 id: "minecraft:armor.chestplate".into(),
1047 amount: 3.0,
1048 operation: AttributeModifierOperation::AddValue,
1049 },
1050 },
1051 AttributeModifiersEntry {
1052 slot: EquipmentSlotGroup::Chest,
1053 kind: Attribute::ArmorToughness,
1054 display: AttributeModifierDisplay::Default,
1055 modifier: AttributeModifier {
1056 id: "minecraft:armor.chestplate".into(),
1057 amount: 0.0,
1058 operation: AttributeModifierOperation::AddValue,
1059 },
1060 },
1061 ],
1062 Item::LeatherHelmet => vec![
1063 AttributeModifiersEntry {
1064 slot: EquipmentSlotGroup::Head,
1065 kind: Attribute::Armor,
1066 display: AttributeModifierDisplay::Default,
1067 modifier: AttributeModifier {
1068 id: "minecraft:armor.helmet".into(),
1069 amount: 1.0,
1070 operation: AttributeModifierOperation::AddValue,
1071 },
1072 },
1073 AttributeModifiersEntry {
1074 slot: EquipmentSlotGroup::Head,
1075 kind: Attribute::ArmorToughness,
1076 display: AttributeModifierDisplay::Default,
1077 modifier: AttributeModifier {
1078 id: "minecraft:armor.helmet".into(),
1079 amount: 0.0,
1080 operation: AttributeModifierOperation::AddValue,
1081 },
1082 },
1083 ],
1084 Item::LeatherHorseArmor => vec![
1085 AttributeModifiersEntry {
1086 slot: EquipmentSlotGroup::Body,
1087 kind: Attribute::Armor,
1088 display: AttributeModifierDisplay::Default,
1089 modifier: AttributeModifier {
1090 id: "minecraft:armor.body".into(),
1091 amount: 3.0,
1092 operation: AttributeModifierOperation::AddValue,
1093 },
1094 },
1095 AttributeModifiersEntry {
1096 slot: EquipmentSlotGroup::Body,
1097 kind: Attribute::ArmorToughness,
1098 display: AttributeModifierDisplay::Default,
1099 modifier: AttributeModifier {
1100 id: "minecraft:armor.body".into(),
1101 amount: 0.0,
1102 operation: AttributeModifierOperation::AddValue,
1103 },
1104 },
1105 ],
1106 Item::LeatherLeggings => vec![
1107 AttributeModifiersEntry {
1108 slot: EquipmentSlotGroup::Legs,
1109 kind: Attribute::Armor,
1110 display: AttributeModifierDisplay::Default,
1111 modifier: AttributeModifier {
1112 id: "minecraft:armor.leggings".into(),
1113 amount: 2.0,
1114 operation: AttributeModifierOperation::AddValue,
1115 },
1116 },
1117 AttributeModifiersEntry {
1118 slot: EquipmentSlotGroup::Legs,
1119 kind: Attribute::ArmorToughness,
1120 display: AttributeModifierDisplay::Default,
1121 modifier: AttributeModifier {
1122 id: "minecraft:armor.leggings".into(),
1123 amount: 0.0,
1124 operation: AttributeModifierOperation::AddValue,
1125 },
1126 },
1127 ],
1128 Item::Mace => vec![
1129 AttributeModifiersEntry {
1130 slot: EquipmentSlotGroup::Mainhand,
1131 kind: Attribute::AttackDamage,
1132 display: AttributeModifierDisplay::Default,
1133 modifier: AttributeModifier {
1134 id: "minecraft:base_attack_damage".into(),
1135 amount: 5.0,
1136 operation: AttributeModifierOperation::AddValue,
1137 },
1138 },
1139 AttributeModifiersEntry {
1140 slot: EquipmentSlotGroup::Mainhand,
1141 kind: Attribute::AttackSpeed,
1142 display: AttributeModifierDisplay::Default,
1143 modifier: AttributeModifier {
1144 id: "minecraft:base_attack_speed".into(),
1145 amount: -3.4000000953674316,
1146 operation: AttributeModifierOperation::AddValue,
1147 },
1148 },
1149 ],
1150 Item::NetheriteAxe => vec![
1151 AttributeModifiersEntry {
1152 slot: EquipmentSlotGroup::Mainhand,
1153 kind: Attribute::AttackDamage,
1154 display: AttributeModifierDisplay::Default,
1155 modifier: AttributeModifier {
1156 id: "minecraft:base_attack_damage".into(),
1157 amount: 9.0,
1158 operation: AttributeModifierOperation::AddValue,
1159 },
1160 },
1161 AttributeModifiersEntry {
1162 slot: EquipmentSlotGroup::Mainhand,
1163 kind: Attribute::AttackSpeed,
1164 display: AttributeModifierDisplay::Default,
1165 modifier: AttributeModifier {
1166 id: "minecraft:base_attack_speed".into(),
1167 amount: -3.0,
1168 operation: AttributeModifierOperation::AddValue,
1169 },
1170 },
1171 ],
1172 Item::NetheriteBoots => vec![
1173 AttributeModifiersEntry {
1174 slot: EquipmentSlotGroup::Feet,
1175 kind: Attribute::Armor,
1176 display: AttributeModifierDisplay::Default,
1177 modifier: AttributeModifier {
1178 id: "minecraft:armor.boots".into(),
1179 amount: 3.0,
1180 operation: AttributeModifierOperation::AddValue,
1181 },
1182 },
1183 AttributeModifiersEntry {
1184 slot: EquipmentSlotGroup::Feet,
1185 kind: Attribute::ArmorToughness,
1186 display: AttributeModifierDisplay::Default,
1187 modifier: AttributeModifier {
1188 id: "minecraft:armor.boots".into(),
1189 amount: 3.0,
1190 operation: AttributeModifierOperation::AddValue,
1191 },
1192 },
1193 AttributeModifiersEntry {
1194 slot: EquipmentSlotGroup::Feet,
1195 kind: Attribute::KnockbackResistance,
1196 display: AttributeModifierDisplay::Default,
1197 modifier: AttributeModifier {
1198 id: "minecraft:armor.boots".into(),
1199 amount: 0.10000000149011612,
1200 operation: AttributeModifierOperation::AddValue,
1201 },
1202 },
1203 ],
1204 Item::NetheriteChestplate => vec![
1205 AttributeModifiersEntry {
1206 slot: EquipmentSlotGroup::Chest,
1207 kind: Attribute::Armor,
1208 display: AttributeModifierDisplay::Default,
1209 modifier: AttributeModifier {
1210 id: "minecraft:armor.chestplate".into(),
1211 amount: 8.0,
1212 operation: AttributeModifierOperation::AddValue,
1213 },
1214 },
1215 AttributeModifiersEntry {
1216 slot: EquipmentSlotGroup::Chest,
1217 kind: Attribute::ArmorToughness,
1218 display: AttributeModifierDisplay::Default,
1219 modifier: AttributeModifier {
1220 id: "minecraft:armor.chestplate".into(),
1221 amount: 3.0,
1222 operation: AttributeModifierOperation::AddValue,
1223 },
1224 },
1225 AttributeModifiersEntry {
1226 slot: EquipmentSlotGroup::Chest,
1227 kind: Attribute::KnockbackResistance,
1228 display: AttributeModifierDisplay::Default,
1229 modifier: AttributeModifier {
1230 id: "minecraft:armor.chestplate".into(),
1231 amount: 0.10000000149011612,
1232 operation: AttributeModifierOperation::AddValue,
1233 },
1234 },
1235 ],
1236 Item::NetheriteHelmet => vec![
1237 AttributeModifiersEntry {
1238 slot: EquipmentSlotGroup::Head,
1239 kind: Attribute::Armor,
1240 display: AttributeModifierDisplay::Default,
1241 modifier: AttributeModifier {
1242 id: "minecraft:armor.helmet".into(),
1243 amount: 3.0,
1244 operation: AttributeModifierOperation::AddValue,
1245 },
1246 },
1247 AttributeModifiersEntry {
1248 slot: EquipmentSlotGroup::Head,
1249 kind: Attribute::ArmorToughness,
1250 display: AttributeModifierDisplay::Default,
1251 modifier: AttributeModifier {
1252 id: "minecraft:armor.helmet".into(),
1253 amount: 3.0,
1254 operation: AttributeModifierOperation::AddValue,
1255 },
1256 },
1257 AttributeModifiersEntry {
1258 slot: EquipmentSlotGroup::Head,
1259 kind: Attribute::KnockbackResistance,
1260 display: AttributeModifierDisplay::Default,
1261 modifier: AttributeModifier {
1262 id: "minecraft:armor.helmet".into(),
1263 amount: 0.10000000149011612,
1264 operation: AttributeModifierOperation::AddValue,
1265 },
1266 },
1267 ],
1268 Item::NetheriteHoe => vec![
1269 AttributeModifiersEntry {
1270 slot: EquipmentSlotGroup::Mainhand,
1271 kind: Attribute::AttackDamage,
1272 display: AttributeModifierDisplay::Default,
1273 modifier: AttributeModifier {
1274 id: "minecraft:base_attack_damage".into(),
1275 amount: 0.0,
1276 operation: AttributeModifierOperation::AddValue,
1277 },
1278 },
1279 AttributeModifiersEntry {
1280 slot: EquipmentSlotGroup::Mainhand,
1281 kind: Attribute::AttackSpeed,
1282 display: AttributeModifierDisplay::Default,
1283 modifier: AttributeModifier {
1284 id: "minecraft:base_attack_speed".into(),
1285 amount: 0.0,
1286 operation: AttributeModifierOperation::AddValue,
1287 },
1288 },
1289 ],
1290 Item::NetheriteLeggings => vec![
1291 AttributeModifiersEntry {
1292 slot: EquipmentSlotGroup::Legs,
1293 kind: Attribute::Armor,
1294 display: AttributeModifierDisplay::Default,
1295 modifier: AttributeModifier {
1296 id: "minecraft:armor.leggings".into(),
1297 amount: 6.0,
1298 operation: AttributeModifierOperation::AddValue,
1299 },
1300 },
1301 AttributeModifiersEntry {
1302 slot: EquipmentSlotGroup::Legs,
1303 kind: Attribute::ArmorToughness,
1304 display: AttributeModifierDisplay::Default,
1305 modifier: AttributeModifier {
1306 id: "minecraft:armor.leggings".into(),
1307 amount: 3.0,
1308 operation: AttributeModifierOperation::AddValue,
1309 },
1310 },
1311 AttributeModifiersEntry {
1312 slot: EquipmentSlotGroup::Legs,
1313 kind: Attribute::KnockbackResistance,
1314 display: AttributeModifierDisplay::Default,
1315 modifier: AttributeModifier {
1316 id: "minecraft:armor.leggings".into(),
1317 amount: 0.10000000149011612,
1318 operation: AttributeModifierOperation::AddValue,
1319 },
1320 },
1321 ],
1322 Item::NetheritePickaxe => vec![
1323 AttributeModifiersEntry {
1324 slot: EquipmentSlotGroup::Mainhand,
1325 kind: Attribute::AttackDamage,
1326 display: AttributeModifierDisplay::Default,
1327 modifier: AttributeModifier {
1328 id: "minecraft:base_attack_damage".into(),
1329 amount: 5.0,
1330 operation: AttributeModifierOperation::AddValue,
1331 },
1332 },
1333 AttributeModifiersEntry {
1334 slot: EquipmentSlotGroup::Mainhand,
1335 kind: Attribute::AttackSpeed,
1336 display: AttributeModifierDisplay::Default,
1337 modifier: AttributeModifier {
1338 id: "minecraft:base_attack_speed".into(),
1339 amount: -2.799999952316284,
1340 operation: AttributeModifierOperation::AddValue,
1341 },
1342 },
1343 ],
1344 Item::NetheriteShovel => vec![
1345 AttributeModifiersEntry {
1346 slot: EquipmentSlotGroup::Mainhand,
1347 kind: Attribute::AttackDamage,
1348 display: AttributeModifierDisplay::Default,
1349 modifier: AttributeModifier {
1350 id: "minecraft:base_attack_damage".into(),
1351 amount: 5.5,
1352 operation: AttributeModifierOperation::AddValue,
1353 },
1354 },
1355 AttributeModifiersEntry {
1356 slot: EquipmentSlotGroup::Mainhand,
1357 kind: Attribute::AttackSpeed,
1358 display: AttributeModifierDisplay::Default,
1359 modifier: AttributeModifier {
1360 id: "minecraft:base_attack_speed".into(),
1361 amount: -3.0,
1362 operation: AttributeModifierOperation::AddValue,
1363 },
1364 },
1365 ],
1366 Item::NetheriteSword => vec![
1367 AttributeModifiersEntry {
1368 slot: EquipmentSlotGroup::Mainhand,
1369 kind: Attribute::AttackDamage,
1370 display: AttributeModifierDisplay::Default,
1371 modifier: AttributeModifier {
1372 id: "minecraft:base_attack_damage".into(),
1373 amount: 7.0,
1374 operation: AttributeModifierOperation::AddValue,
1375 },
1376 },
1377 AttributeModifiersEntry {
1378 slot: EquipmentSlotGroup::Mainhand,
1379 kind: Attribute::AttackSpeed,
1380 display: AttributeModifierDisplay::Default,
1381 modifier: AttributeModifier {
1382 id: "minecraft:base_attack_speed".into(),
1383 amount: -2.4000000953674316,
1384 operation: AttributeModifierOperation::AddValue,
1385 },
1386 },
1387 ],
1388 Item::PiglinHead => vec![AttributeModifiersEntry {
1389 display: AttributeModifierDisplay::Hidden,
1390 slot: EquipmentSlotGroup::Head,
1391 kind: Attribute::WaypointTransmitRange,
1392 modifier: AttributeModifier {
1393 id: "minecraft:waypoint_transmit_range_hide".into(),
1394 amount: -1.0,
1395 operation: AttributeModifierOperation::AddMultipliedTotal,
1396 },
1397 }],
1398 Item::PlayerHead => vec![AttributeModifiersEntry {
1399 display: AttributeModifierDisplay::Hidden,
1400 slot: EquipmentSlotGroup::Head,
1401 kind: Attribute::WaypointTransmitRange,
1402 modifier: AttributeModifier {
1403 id: "minecraft:waypoint_transmit_range_hide".into(),
1404 amount: -1.0,
1405 operation: AttributeModifierOperation::AddMultipliedTotal,
1406 },
1407 }],
1408 Item::SkeletonSkull => vec![AttributeModifiersEntry {
1409 display: AttributeModifierDisplay::Hidden,
1410 slot: EquipmentSlotGroup::Head,
1411 kind: Attribute::WaypointTransmitRange,
1412 modifier: AttributeModifier {
1413 id: "minecraft:waypoint_transmit_range_hide".into(),
1414 amount: -1.0,
1415 operation: AttributeModifierOperation::AddMultipliedTotal,
1416 },
1417 }],
1418 Item::StoneAxe => vec![
1419 AttributeModifiersEntry {
1420 slot: EquipmentSlotGroup::Mainhand,
1421 kind: Attribute::AttackDamage,
1422 display: AttributeModifierDisplay::Default,
1423 modifier: AttributeModifier {
1424 id: "minecraft:base_attack_damage".into(),
1425 amount: 8.0,
1426 operation: AttributeModifierOperation::AddValue,
1427 },
1428 },
1429 AttributeModifiersEntry {
1430 slot: EquipmentSlotGroup::Mainhand,
1431 kind: Attribute::AttackSpeed,
1432 display: AttributeModifierDisplay::Default,
1433 modifier: AttributeModifier {
1434 id: "minecraft:base_attack_speed".into(),
1435 amount: -3.200000047683716,
1436 operation: AttributeModifierOperation::AddValue,
1437 },
1438 },
1439 ],
1440 Item::StoneHoe => vec![
1441 AttributeModifiersEntry {
1442 slot: EquipmentSlotGroup::Mainhand,
1443 kind: Attribute::AttackDamage,
1444 display: AttributeModifierDisplay::Default,
1445 modifier: AttributeModifier {
1446 id: "minecraft:base_attack_damage".into(),
1447 amount: 0.0,
1448 operation: AttributeModifierOperation::AddValue,
1449 },
1450 },
1451 AttributeModifiersEntry {
1452 slot: EquipmentSlotGroup::Mainhand,
1453 kind: Attribute::AttackSpeed,
1454 display: AttributeModifierDisplay::Default,
1455 modifier: AttributeModifier {
1456 id: "minecraft:base_attack_speed".into(),
1457 amount: -2.0,
1458 operation: AttributeModifierOperation::AddValue,
1459 },
1460 },
1461 ],
1462 Item::StonePickaxe => vec![
1463 AttributeModifiersEntry {
1464 slot: EquipmentSlotGroup::Mainhand,
1465 kind: Attribute::AttackDamage,
1466 display: AttributeModifierDisplay::Default,
1467 modifier: AttributeModifier {
1468 id: "minecraft:base_attack_damage".into(),
1469 amount: 2.0,
1470 operation: AttributeModifierOperation::AddValue,
1471 },
1472 },
1473 AttributeModifiersEntry {
1474 slot: EquipmentSlotGroup::Mainhand,
1475 kind: Attribute::AttackSpeed,
1476 display: AttributeModifierDisplay::Default,
1477 modifier: AttributeModifier {
1478 id: "minecraft:base_attack_speed".into(),
1479 amount: -2.799999952316284,
1480 operation: AttributeModifierOperation::AddValue,
1481 },
1482 },
1483 ],
1484 Item::StoneShovel => vec![
1485 AttributeModifiersEntry {
1486 slot: EquipmentSlotGroup::Mainhand,
1487 kind: Attribute::AttackDamage,
1488 display: AttributeModifierDisplay::Default,
1489 modifier: AttributeModifier {
1490 id: "minecraft:base_attack_damage".into(),
1491 amount: 2.5,
1492 operation: AttributeModifierOperation::AddValue,
1493 },
1494 },
1495 AttributeModifiersEntry {
1496 slot: EquipmentSlotGroup::Mainhand,
1497 kind: Attribute::AttackSpeed,
1498 display: AttributeModifierDisplay::Default,
1499 modifier: AttributeModifier {
1500 id: "minecraft:base_attack_speed".into(),
1501 amount: -3.0,
1502 operation: AttributeModifierOperation::AddValue,
1503 },
1504 },
1505 ],
1506 Item::StoneSword => vec![
1507 AttributeModifiersEntry {
1508 slot: EquipmentSlotGroup::Mainhand,
1509 kind: Attribute::AttackDamage,
1510 display: AttributeModifierDisplay::Default,
1511 modifier: AttributeModifier {
1512 id: "minecraft:base_attack_damage".into(),
1513 amount: 4.0,
1514 operation: AttributeModifierOperation::AddValue,
1515 },
1516 },
1517 AttributeModifiersEntry {
1518 slot: EquipmentSlotGroup::Mainhand,
1519 kind: Attribute::AttackSpeed,
1520 display: AttributeModifierDisplay::Default,
1521 modifier: AttributeModifier {
1522 id: "minecraft:base_attack_speed".into(),
1523 amount: -2.4000000953674316,
1524 operation: AttributeModifierOperation::AddValue,
1525 },
1526 },
1527 ],
1528 Item::Trident => vec![
1529 AttributeModifiersEntry {
1530 slot: EquipmentSlotGroup::Mainhand,
1531 kind: Attribute::AttackDamage,
1532 display: AttributeModifierDisplay::Default,
1533 modifier: AttributeModifier {
1534 id: "minecraft:base_attack_damage".into(),
1535 amount: 8.0,
1536 operation: AttributeModifierOperation::AddValue,
1537 },
1538 },
1539 AttributeModifiersEntry {
1540 slot: EquipmentSlotGroup::Mainhand,
1541 kind: Attribute::AttackSpeed,
1542 display: AttributeModifierDisplay::Default,
1543 modifier: AttributeModifier {
1544 id: "minecraft:base_attack_speed".into(),
1545 amount: -2.9000000953674316,
1546 operation: AttributeModifierOperation::AddValue,
1547 },
1548 },
1549 ],
1550 Item::TurtleHelmet => vec![
1551 AttributeModifiersEntry {
1552 slot: EquipmentSlotGroup::Head,
1553 kind: Attribute::Armor,
1554 display: AttributeModifierDisplay::Default,
1555 modifier: AttributeModifier {
1556 id: "minecraft:armor.helmet".into(),
1557 amount: 2.0,
1558 operation: AttributeModifierOperation::AddValue,
1559 },
1560 },
1561 AttributeModifiersEntry {
1562 slot: EquipmentSlotGroup::Head,
1563 kind: Attribute::ArmorToughness,
1564 display: AttributeModifierDisplay::Default,
1565 modifier: AttributeModifier {
1566 id: "minecraft:armor.helmet".into(),
1567 amount: 0.0,
1568 operation: AttributeModifierOperation::AddValue,
1569 },
1570 },
1571 ],
1572 Item::WitherSkeletonSkull => vec![AttributeModifiersEntry {
1573 display: AttributeModifierDisplay::Hidden,
1574 slot: EquipmentSlotGroup::Head,
1575 kind: Attribute::WaypointTransmitRange,
1576 modifier: AttributeModifier {
1577 id: "minecraft:waypoint_transmit_range_hide".into(),
1578 amount: -1.0,
1579 operation: AttributeModifierOperation::AddMultipliedTotal,
1580 },
1581 }],
1582 Item::WolfArmor => vec![
1583 AttributeModifiersEntry {
1584 slot: EquipmentSlotGroup::Body,
1585 kind: Attribute::Armor,
1586 display: AttributeModifierDisplay::Default,
1587 modifier: AttributeModifier {
1588 id: "minecraft:armor.body".into(),
1589 amount: 11.0,
1590 operation: AttributeModifierOperation::AddValue,
1591 },
1592 },
1593 AttributeModifiersEntry {
1594 slot: EquipmentSlotGroup::Body,
1595 kind: Attribute::ArmorToughness,
1596 display: AttributeModifierDisplay::Default,
1597 modifier: AttributeModifier {
1598 id: "minecraft:armor.body".into(),
1599 amount: 0.0,
1600 operation: AttributeModifierOperation::AddValue,
1601 },
1602 },
1603 ],
1604 Item::WoodenAxe => vec![
1605 AttributeModifiersEntry {
1606 slot: EquipmentSlotGroup::Mainhand,
1607 kind: Attribute::AttackDamage,
1608 display: AttributeModifierDisplay::Default,
1609 modifier: AttributeModifier {
1610 id: "minecraft:base_attack_damage".into(),
1611 amount: 6.0,
1612 operation: AttributeModifierOperation::AddValue,
1613 },
1614 },
1615 AttributeModifiersEntry {
1616 slot: EquipmentSlotGroup::Mainhand,
1617 kind: Attribute::AttackSpeed,
1618 display: AttributeModifierDisplay::Default,
1619 modifier: AttributeModifier {
1620 id: "minecraft:base_attack_speed".into(),
1621 amount: -3.200000047683716,
1622 operation: AttributeModifierOperation::AddValue,
1623 },
1624 },
1625 ],
1626 Item::WoodenHoe => vec![
1627 AttributeModifiersEntry {
1628 slot: EquipmentSlotGroup::Mainhand,
1629 kind: Attribute::AttackDamage,
1630 display: AttributeModifierDisplay::Default,
1631 modifier: AttributeModifier {
1632 id: "minecraft:base_attack_damage".into(),
1633 amount: 0.0,
1634 operation: AttributeModifierOperation::AddValue,
1635 },
1636 },
1637 AttributeModifiersEntry {
1638 slot: EquipmentSlotGroup::Mainhand,
1639 kind: Attribute::AttackSpeed,
1640 display: AttributeModifierDisplay::Default,
1641 modifier: AttributeModifier {
1642 id: "minecraft:base_attack_speed".into(),
1643 amount: -3.0,
1644 operation: AttributeModifierOperation::AddValue,
1645 },
1646 },
1647 ],
1648 Item::WoodenPickaxe => vec![
1649 AttributeModifiersEntry {
1650 slot: EquipmentSlotGroup::Mainhand,
1651 kind: Attribute::AttackDamage,
1652 display: AttributeModifierDisplay::Default,
1653 modifier: AttributeModifier {
1654 id: "minecraft:base_attack_damage".into(),
1655 amount: 1.0,
1656 operation: AttributeModifierOperation::AddValue,
1657 },
1658 },
1659 AttributeModifiersEntry {
1660 slot: EquipmentSlotGroup::Mainhand,
1661 kind: Attribute::AttackSpeed,
1662 display: AttributeModifierDisplay::Default,
1663 modifier: AttributeModifier {
1664 id: "minecraft:base_attack_speed".into(),
1665 amount: -2.799999952316284,
1666 operation: AttributeModifierOperation::AddValue,
1667 },
1668 },
1669 ],
1670 Item::WoodenShovel => vec![
1671 AttributeModifiersEntry {
1672 slot: EquipmentSlotGroup::Mainhand,
1673 kind: Attribute::AttackDamage,
1674 display: AttributeModifierDisplay::Default,
1675 modifier: AttributeModifier {
1676 id: "minecraft:base_attack_damage".into(),
1677 amount: 1.5,
1678 operation: AttributeModifierOperation::AddValue,
1679 },
1680 },
1681 AttributeModifiersEntry {
1682 slot: EquipmentSlotGroup::Mainhand,
1683 kind: Attribute::AttackSpeed,
1684 display: AttributeModifierDisplay::Default,
1685 modifier: AttributeModifier {
1686 id: "minecraft:base_attack_speed".into(),
1687 amount: -3.0,
1688 operation: AttributeModifierOperation::AddValue,
1689 },
1690 },
1691 ],
1692 Item::WoodenSword => vec![
1693 AttributeModifiersEntry {
1694 slot: EquipmentSlotGroup::Mainhand,
1695 kind: Attribute::AttackDamage,
1696 display: AttributeModifierDisplay::Default,
1697 modifier: AttributeModifier {
1698 id: "minecraft:base_attack_damage".into(),
1699 amount: 3.0,
1700 operation: AttributeModifierOperation::AddValue,
1701 },
1702 },
1703 AttributeModifiersEntry {
1704 slot: EquipmentSlotGroup::Mainhand,
1705 kind: Attribute::AttackSpeed,
1706 display: AttributeModifierDisplay::Default,
1707 modifier: AttributeModifier {
1708 id: "minecraft:base_attack_speed".into(),
1709 amount: -2.4000000953674316,
1710 operation: AttributeModifierOperation::AddValue,
1711 },
1712 },
1713 ],
1714 Item::ZombieHead => vec![AttributeModifiersEntry {
1715 display: AttributeModifierDisplay::Hidden,
1716 slot: EquipmentSlotGroup::Head,
1717 kind: Attribute::WaypointTransmitRange,
1718 modifier: AttributeModifier {
1719 id: "minecraft:waypoint_transmit_range_hide".into(),
1720 amount: -1.0,
1721 operation: AttributeModifierOperation::AddMultipliedTotal,
1722 },
1723 }],
1724 _ => vec![],
1725 };
1726 Some(AttributeModifiers { modifiers: value })
1727 }
1728}
1729impl DefaultableComponent for BreakSound {
1730 fn default_for_item(item: Item) -> Option<Self> {
1731 let value = match item {
1732 Item::Shield => azalea_registry::Holder::Reference(SoundEvent::ItemShieldBreak),
1733 Item::WolfArmor => azalea_registry::Holder::Reference(SoundEvent::ItemWolfArmorBreak),
1734 _ => azalea_registry::Holder::Reference(SoundEvent::EntityItemBreak),
1735 };
1736 Some(BreakSound { sound: value })
1737 }
1738}
1739impl DefaultableComponent for Enchantments {
1740 fn default_for_item(_item: Item) -> Option<Self> {
1741 Some(Enchantments {
1742 levels: HashMap::from_iter([]),
1743 })
1744 }
1745}
1746#[rustfmt::skip]
1747static ITEM_MODEL_VALUES: [&str; 1488] = ["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:acacia_shelf","minecraft:bamboo_shelf","minecraft:birch_shelf","minecraft:cherry_shelf","minecraft:crimson_shelf","minecraft:dark_oak_shelf","minecraft:jungle_shelf","minecraft:mangrove_shelf","minecraft:oak_shelf","minecraft:pale_oak_shelf","minecraft:spruce_shelf","minecraft:warped_shelf","minecraft:bookshelf","minecraft:chiseled_bookshelf","minecraft:decorated_pot","minecraft:mossy_cobblestone","minecraft:obsidian","minecraft:torch","minecraft:end_rod","minecraft:chorus_plant","minecraft:chorus_flower","minecraft:purpur_block","minecraft:purpur_pillar","minecraft:purpur_stairs","minecraft:spawner","minecraft:creaking_heart","minecraft:chest","minecraft:crafting_table","minecraft:farmland","minecraft:furnace","minecraft:ladder","minecraft:cobblestone_stairs","minecraft:snow","minecraft:ice","minecraft:snow_block","minecraft:cactus","minecraft:cactus_flower","minecraft:clay","minecraft:jukebox","minecraft:oak_fence","minecraft:spruce_fence","minecraft:birch_fence","minecraft:jungle_fence","minecraft:acacia_fence","minecraft:cherry_fence","minecraft:dark_oak_fence","minecraft:pale_oak_fence","minecraft:mangrove_fence","minecraft:bamboo_fence","minecraft:crimson_fence","minecraft:warped_fence","minecraft:pumpkin","minecraft:carved_pumpkin","minecraft:jack_o_lantern","minecraft:netherrack","minecraft:soul_sand","minecraft:soul_soil","minecraft:basalt","minecraft:polished_basalt","minecraft:smooth_basalt","minecraft:soul_torch","minecraft:copper_torch","minecraft:glowstone","minecraft:infested_stone","minecraft:infested_cobblestone","minecraft:infested_stone_bricks","minecraft:infested_mossy_stone_bricks","minecraft:infested_cracked_stone_bricks","minecraft:infested_chiseled_stone_bricks","minecraft:infested_deepslate","minecraft:stone_bricks","minecraft:mossy_stone_bricks","minecraft:cracked_stone_bricks","minecraft:chiseled_stone_bricks","minecraft:packed_mud","minecraft:mud_bricks","minecraft:deepslate_bricks","minecraft:cracked_deepslate_bricks","minecraft:deepslate_tiles","minecraft:cracked_deepslate_tiles","minecraft:chiseled_deepslate","minecraft:reinforced_deepslate","minecraft:brown_mushroom_block","minecraft:red_mushroom_block","minecraft:mushroom_stem","minecraft:iron_bars","minecraft:copper_bars","minecraft:exposed_copper_bars","minecraft:weathered_copper_bars","minecraft:oxidized_copper_bars","minecraft:waxed_copper_bars","minecraft:waxed_exposed_copper_bars","minecraft:waxed_weathered_copper_bars","minecraft:waxed_oxidized_copper_bars","minecraft:iron_chain","minecraft:copper_chain","minecraft:exposed_copper_chain","minecraft:weathered_copper_chain","minecraft:oxidized_copper_chain","minecraft:waxed_copper_chain","minecraft:waxed_exposed_copper_chain","minecraft:waxed_weathered_copper_chain","minecraft:waxed_oxidized_copper_chain","minecraft:glass_pane","minecraft:melon","minecraft:vine","minecraft:glow_lichen","minecraft:resin_clump","minecraft:resin_block","minecraft:resin_bricks","minecraft:resin_brick_stairs","minecraft:resin_brick_slab","minecraft:resin_brick_wall","minecraft:chiseled_resin_bricks","minecraft:brick_stairs","minecraft:stone_brick_stairs","minecraft:mud_brick_stairs","minecraft:mycelium","minecraft:lily_pad","minecraft:nether_bricks","minecraft:cracked_nether_bricks","minecraft:chiseled_nether_bricks","minecraft:nether_brick_fence","minecraft:nether_brick_stairs","minecraft:sculk","minecraft:sculk_vein","minecraft:sculk_catalyst","minecraft:sculk_shrieker","minecraft:enchanting_table","minecraft:end_portal_frame","minecraft:end_stone","minecraft:end_stone_bricks","minecraft:dragon_egg","minecraft:sandstone_stairs","minecraft:ender_chest","minecraft:emerald_block","minecraft:oak_stairs","minecraft:spruce_stairs","minecraft:birch_stairs","minecraft:jungle_stairs","minecraft:acacia_stairs","minecraft:cherry_stairs","minecraft:dark_oak_stairs","minecraft:pale_oak_stairs","minecraft:mangrove_stairs","minecraft:bamboo_stairs","minecraft:bamboo_mosaic_stairs","minecraft:crimson_stairs","minecraft:warped_stairs","minecraft:command_block","minecraft:beacon","minecraft:cobblestone_wall","minecraft:mossy_cobblestone_wall","minecraft:brick_wall","minecraft:prismarine_wall","minecraft:red_sandstone_wall","minecraft:mossy_stone_brick_wall","minecraft:granite_wall","minecraft:stone_brick_wall","minecraft:mud_brick_wall","minecraft:nether_brick_wall","minecraft:andesite_wall","minecraft:red_nether_brick_wall","minecraft:sandstone_wall","minecraft:end_stone_brick_wall","minecraft:diorite_wall","minecraft:blackstone_wall","minecraft:polished_blackstone_wall","minecraft:polished_blackstone_brick_wall","minecraft:cobbled_deepslate_wall","minecraft:polished_deepslate_wall","minecraft:deepslate_brick_wall","minecraft:deepslate_tile_wall","minecraft:anvil","minecraft:chipped_anvil","minecraft:damaged_anvil","minecraft:chiseled_quartz_block","minecraft:quartz_block","minecraft:quartz_bricks","minecraft:quartz_pillar","minecraft:quartz_stairs","minecraft:white_terracotta","minecraft:orange_terracotta","minecraft:magenta_terracotta","minecraft:light_blue_terracotta","minecraft:yellow_terracotta","minecraft:lime_terracotta","minecraft:pink_terracotta","minecraft:gray_terracotta","minecraft:light_gray_terracotta","minecraft:cyan_terracotta","minecraft:purple_terracotta","minecraft:blue_terracotta","minecraft:brown_terracotta","minecraft:green_terracotta","minecraft:red_terracotta","minecraft:black_terracotta","minecraft:barrier","minecraft:light","minecraft:hay_block","minecraft:white_carpet","minecraft:orange_carpet","minecraft:magenta_carpet","minecraft:light_blue_carpet","minecraft:yellow_carpet","minecraft:lime_carpet","minecraft:pink_carpet","minecraft:gray_carpet","minecraft:light_gray_carpet","minecraft:cyan_carpet","minecraft:purple_carpet","minecraft:blue_carpet","minecraft:brown_carpet","minecraft:green_carpet","minecraft:red_carpet","minecraft:black_carpet","minecraft:terracotta","minecraft:packed_ice","minecraft:dirt_path","minecraft:sunflower","minecraft:lilac","minecraft:rose_bush","minecraft:peony","minecraft:tall_grass","minecraft:large_fern","minecraft:white_stained_glass","minecraft:orange_stained_glass","minecraft:magenta_stained_glass","minecraft:light_blue_stained_glass","minecraft:yellow_stained_glass","minecraft:lime_stained_glass","minecraft:pink_stained_glass","minecraft:gray_stained_glass","minecraft:light_gray_stained_glass","minecraft:cyan_stained_glass","minecraft:purple_stained_glass","minecraft:blue_stained_glass","minecraft:brown_stained_glass","minecraft:green_stained_glass","minecraft:red_stained_glass","minecraft:black_stained_glass","minecraft:white_stained_glass_pane","minecraft:orange_stained_glass_pane","minecraft:magenta_stained_glass_pane","minecraft:light_blue_stained_glass_pane","minecraft:yellow_stained_glass_pane","minecraft:lime_stained_glass_pane","minecraft:pink_stained_glass_pane","minecraft:gray_stained_glass_pane","minecraft:light_gray_stained_glass_pane","minecraft:cyan_stained_glass_pane","minecraft:purple_stained_glass_pane","minecraft:blue_stained_glass_pane","minecraft:brown_stained_glass_pane","minecraft:green_stained_glass_pane","minecraft:red_stained_glass_pane","minecraft:black_stained_glass_pane","minecraft:prismarine","minecraft:prismarine_bricks","minecraft:dark_prismarine","minecraft:prismarine_stairs","minecraft:prismarine_brick_stairs","minecraft:dark_prismarine_stairs","minecraft:sea_lantern","minecraft:red_sandstone","minecraft:chiseled_red_sandstone","minecraft:cut_red_sandstone","minecraft:red_sandstone_stairs","minecraft:repeating_command_block","minecraft:chain_command_block","minecraft:magma_block","minecraft:nether_wart_block","minecraft:warped_wart_block","minecraft:red_nether_bricks","minecraft:bone_block","minecraft:structure_void","minecraft:shulker_box","minecraft:white_shulker_box","minecraft:orange_shulker_box","minecraft:magenta_shulker_box","minecraft:light_blue_shulker_box","minecraft:yellow_shulker_box","minecraft:lime_shulker_box","minecraft:pink_shulker_box","minecraft:gray_shulker_box","minecraft:light_gray_shulker_box","minecraft:cyan_shulker_box","minecraft:purple_shulker_box","minecraft:blue_shulker_box","minecraft:brown_shulker_box","minecraft:green_shulker_box","minecraft:red_shulker_box","minecraft:black_shulker_box","minecraft:white_glazed_terracotta","minecraft:orange_glazed_terracotta","minecraft:magenta_glazed_terracotta","minecraft:light_blue_glazed_terracotta","minecraft:yellow_glazed_terracotta","minecraft:lime_glazed_terracotta","minecraft:pink_glazed_terracotta","minecraft:gray_glazed_terracotta","minecraft:light_gray_glazed_terracotta","minecraft:cyan_glazed_terracotta","minecraft:purple_glazed_terracotta","minecraft:blue_glazed_terracotta","minecraft:brown_glazed_terracotta","minecraft:green_glazed_terracotta","minecraft:red_glazed_terracotta","minecraft:black_glazed_terracotta","minecraft:white_concrete","minecraft:orange_concrete","minecraft:magenta_concrete","minecraft:light_blue_concrete","minecraft:yellow_concrete","minecraft:lime_concrete","minecraft:pink_concrete","minecraft:gray_concrete","minecraft:light_gray_concrete","minecraft:cyan_concrete","minecraft:purple_concrete","minecraft:blue_concrete","minecraft:brown_concrete","minecraft:green_concrete","minecraft:red_concrete","minecraft:black_concrete","minecraft:white_concrete_powder","minecraft:orange_concrete_powder","minecraft:magenta_concrete_powder","minecraft:light_blue_concrete_powder","minecraft:yellow_concrete_powder","minecraft:lime_concrete_powder","minecraft:pink_concrete_powder","minecraft:gray_concrete_powder","minecraft:light_gray_concrete_powder","minecraft:cyan_concrete_powder","minecraft:purple_concrete_powder","minecraft:blue_concrete_powder","minecraft:brown_concrete_powder","minecraft:green_concrete_powder","minecraft:red_concrete_powder","minecraft:black_concrete_powder","minecraft:turtle_egg","minecraft:sniffer_egg","minecraft:dried_ghast","minecraft:dead_tube_coral_block","minecraft:dead_brain_coral_block","minecraft:dead_bubble_coral_block","minecraft:dead_fire_coral_block","minecraft:dead_horn_coral_block","minecraft:tube_coral_block","minecraft:brain_coral_block","minecraft:bubble_coral_block","minecraft:fire_coral_block","minecraft:horn_coral_block","minecraft:tube_coral","minecraft:brain_coral","minecraft:bubble_coral","minecraft:fire_coral","minecraft:horn_coral","minecraft:dead_brain_coral","minecraft:dead_bubble_coral","minecraft:dead_fire_coral","minecraft:dead_horn_coral","minecraft:dead_tube_coral","minecraft:tube_coral_fan","minecraft:brain_coral_fan","minecraft:bubble_coral_fan","minecraft:fire_coral_fan","minecraft:horn_coral_fan","minecraft:dead_tube_coral_fan","minecraft:dead_brain_coral_fan","minecraft:dead_bubble_coral_fan","minecraft:dead_fire_coral_fan","minecraft:dead_horn_coral_fan","minecraft:blue_ice","minecraft:conduit","minecraft:polished_granite_stairs","minecraft:smooth_red_sandstone_stairs","minecraft:mossy_stone_brick_stairs","minecraft:polished_diorite_stairs","minecraft:mossy_cobblestone_stairs","minecraft:end_stone_brick_stairs","minecraft:stone_stairs","minecraft:smooth_sandstone_stairs","minecraft:smooth_quartz_stairs","minecraft:granite_stairs","minecraft:andesite_stairs","minecraft:red_nether_brick_stairs","minecraft:polished_andesite_stairs","minecraft:diorite_stairs","minecraft:cobbled_deepslate_stairs","minecraft:polished_deepslate_stairs","minecraft:deepslate_brick_stairs","minecraft:deepslate_tile_stairs","minecraft:polished_granite_slab","minecraft:smooth_red_sandstone_slab","minecraft:mossy_stone_brick_slab","minecraft:polished_diorite_slab","minecraft:mossy_cobblestone_slab","minecraft:end_stone_brick_slab","minecraft:smooth_sandstone_slab","minecraft:smooth_quartz_slab","minecraft:granite_slab","minecraft:andesite_slab","minecraft:red_nether_brick_slab","minecraft:polished_andesite_slab","minecraft:diorite_slab","minecraft:cobbled_deepslate_slab","minecraft:polished_deepslate_slab","minecraft:deepslate_brick_slab","minecraft:deepslate_tile_slab","minecraft:scaffolding","minecraft:redstone","minecraft:redstone_torch","minecraft:redstone_block","minecraft:repeater","minecraft:comparator","minecraft:piston","minecraft:sticky_piston","minecraft:slime_block","minecraft:honey_block","minecraft:observer","minecraft:hopper","minecraft:dispenser","minecraft:dropper","minecraft:lectern","minecraft:target","minecraft:lever","minecraft:lightning_rod","minecraft:exposed_lightning_rod","minecraft:weathered_lightning_rod","minecraft:oxidized_lightning_rod","minecraft:waxed_lightning_rod","minecraft:waxed_exposed_lightning_rod","minecraft:waxed_weathered_lightning_rod","minecraft:waxed_oxidized_lightning_rod","minecraft:daylight_detector","minecraft:sculk_sensor","minecraft:calibrated_sculk_sensor","minecraft:tripwire_hook","minecraft:trapped_chest","minecraft:tnt","minecraft:redstone_lamp","minecraft:note_block","minecraft:stone_button","minecraft:polished_blackstone_button","minecraft:oak_button","minecraft:spruce_button","minecraft:birch_button","minecraft:jungle_button","minecraft:acacia_button","minecraft:cherry_button","minecraft:dark_oak_button","minecraft:pale_oak_button","minecraft:mangrove_button","minecraft:bamboo_button","minecraft:crimson_button","minecraft:warped_button","minecraft:stone_pressure_plate","minecraft:polished_blackstone_pressure_plate","minecraft:light_weighted_pressure_plate","minecraft:heavy_weighted_pressure_plate","minecraft:oak_pressure_plate","minecraft:spruce_pressure_plate","minecraft:birch_pressure_plate","minecraft:jungle_pressure_plate","minecraft:acacia_pressure_plate","minecraft:cherry_pressure_plate","minecraft:dark_oak_pressure_plate","minecraft:pale_oak_pressure_plate","minecraft:mangrove_pressure_plate","minecraft:bamboo_pressure_plate","minecraft:crimson_pressure_plate","minecraft:warped_pressure_plate","minecraft:iron_door","minecraft:oak_door","minecraft:spruce_door","minecraft:birch_door","minecraft:jungle_door","minecraft:acacia_door","minecraft:cherry_door","minecraft:dark_oak_door","minecraft:pale_oak_door","minecraft:mangrove_door","minecraft:bamboo_door","minecraft:crimson_door","minecraft:warped_door","minecraft:copper_door","minecraft:exposed_copper_door","minecraft:weathered_copper_door","minecraft:oxidized_copper_door","minecraft:waxed_copper_door","minecraft:waxed_exposed_copper_door","minecraft:waxed_weathered_copper_door","minecraft:waxed_oxidized_copper_door","minecraft:iron_trapdoor","minecraft:oak_trapdoor","minecraft:spruce_trapdoor","minecraft:birch_trapdoor","minecraft:jungle_trapdoor","minecraft:acacia_trapdoor","minecraft:cherry_trapdoor","minecraft:dark_oak_trapdoor","minecraft:pale_oak_trapdoor","minecraft:mangrove_trapdoor","minecraft:bamboo_trapdoor","minecraft:crimson_trapdoor","minecraft:warped_trapdoor","minecraft:copper_trapdoor","minecraft:exposed_copper_trapdoor","minecraft:weathered_copper_trapdoor","minecraft:oxidized_copper_trapdoor","minecraft:waxed_copper_trapdoor","minecraft:waxed_exposed_copper_trapdoor","minecraft:waxed_weathered_copper_trapdoor","minecraft:waxed_oxidized_copper_trapdoor","minecraft:oak_fence_gate","minecraft:spruce_fence_gate","minecraft:birch_fence_gate","minecraft:jungle_fence_gate","minecraft:acacia_fence_gate","minecraft:cherry_fence_gate","minecraft:dark_oak_fence_gate","minecraft:pale_oak_fence_gate","minecraft:mangrove_fence_gate","minecraft:bamboo_fence_gate","minecraft:crimson_fence_gate","minecraft:warped_fence_gate","minecraft:powered_rail","minecraft:detector_rail","minecraft:rail","minecraft:activator_rail","minecraft:saddle","minecraft:white_harness","minecraft:orange_harness","minecraft:magenta_harness","minecraft:light_blue_harness","minecraft:yellow_harness","minecraft:lime_harness","minecraft:pink_harness","minecraft:gray_harness","minecraft:light_gray_harness","minecraft:cyan_harness","minecraft:purple_harness","minecraft:blue_harness","minecraft:brown_harness","minecraft:green_harness","minecraft:red_harness","minecraft:black_harness","minecraft:minecart","minecraft:chest_minecart","minecraft:furnace_minecart","minecraft:tnt_minecart","minecraft:hopper_minecart","minecraft:carrot_on_a_stick","minecraft:warped_fungus_on_a_stick","minecraft:phantom_membrane","minecraft:elytra","minecraft:oak_boat","minecraft:oak_chest_boat","minecraft:spruce_boat","minecraft:spruce_chest_boat","minecraft:birch_boat","minecraft:birch_chest_boat","minecraft:jungle_boat","minecraft:jungle_chest_boat","minecraft:acacia_boat","minecraft:acacia_chest_boat","minecraft:cherry_boat","minecraft:cherry_chest_boat","minecraft:dark_oak_boat","minecraft:dark_oak_chest_boat","minecraft:pale_oak_boat","minecraft:pale_oak_chest_boat","minecraft:mangrove_boat","minecraft:mangrove_chest_boat","minecraft:bamboo_raft","minecraft:bamboo_chest_raft","minecraft:structure_block","minecraft:jigsaw","minecraft:test_block","minecraft:test_instance_block","minecraft:turtle_helmet","minecraft:turtle_scute","minecraft:armadillo_scute","minecraft:wolf_armor","minecraft:flint_and_steel","minecraft:bowl","minecraft:apple","minecraft:bow","minecraft:arrow","minecraft:coal","minecraft:charcoal","minecraft:diamond","minecraft:emerald","minecraft:lapis_lazuli","minecraft:quartz","minecraft:amethyst_shard","minecraft:raw_iron","minecraft:iron_ingot","minecraft:raw_copper","minecraft:copper_ingot","minecraft:raw_gold","minecraft:gold_ingot","minecraft:netherite_ingot","minecraft:netherite_scrap","minecraft:wooden_sword","minecraft:wooden_shovel","minecraft:wooden_pickaxe","minecraft:wooden_axe","minecraft:wooden_hoe","minecraft:copper_sword","minecraft:copper_shovel","minecraft:copper_pickaxe","minecraft:copper_axe","minecraft:copper_hoe","minecraft:stone_sword","minecraft:stone_shovel","minecraft:stone_pickaxe","minecraft:stone_axe","minecraft:stone_hoe","minecraft:golden_sword","minecraft:golden_shovel","minecraft:golden_pickaxe","minecraft:golden_axe","minecraft:golden_hoe","minecraft:iron_sword","minecraft:iron_shovel","minecraft:iron_pickaxe","minecraft:iron_axe","minecraft:iron_hoe","minecraft:diamond_sword","minecraft:diamond_shovel","minecraft:diamond_pickaxe","minecraft:diamond_axe","minecraft:diamond_hoe","minecraft:netherite_sword","minecraft:netherite_shovel","minecraft:netherite_pickaxe","minecraft:netherite_axe","minecraft:netherite_hoe","minecraft:stick","minecraft:mushroom_stew","minecraft:string","minecraft:feather","minecraft:gunpowder","minecraft:wheat_seeds","minecraft:wheat","minecraft:bread","minecraft:leather_helmet","minecraft:leather_chestplate","minecraft:leather_leggings","minecraft:leather_boots","minecraft:copper_helmet","minecraft:copper_chestplate","minecraft:copper_leggings","minecraft:copper_boots","minecraft:chainmail_helmet","minecraft:chainmail_chestplate","minecraft:chainmail_leggings","minecraft:chainmail_boots","minecraft:iron_helmet","minecraft:iron_chestplate","minecraft:iron_leggings","minecraft:iron_boots","minecraft:diamond_helmet","minecraft:diamond_chestplate","minecraft:diamond_leggings","minecraft:diamond_boots","minecraft:golden_helmet","minecraft:golden_chestplate","minecraft:golden_leggings","minecraft:golden_boots","minecraft:netherite_helmet","minecraft:netherite_chestplate","minecraft:netherite_leggings","minecraft:netherite_boots","minecraft:flint","minecraft:porkchop","minecraft:cooked_porkchop","minecraft:painting","minecraft:golden_apple","minecraft:enchanted_golden_apple","minecraft:oak_sign","minecraft:spruce_sign","minecraft:birch_sign","minecraft:jungle_sign","minecraft:acacia_sign","minecraft:cherry_sign","minecraft:dark_oak_sign","minecraft:pale_oak_sign","minecraft:mangrove_sign","minecraft:bamboo_sign","minecraft:crimson_sign","minecraft:warped_sign","minecraft:oak_hanging_sign","minecraft:spruce_hanging_sign","minecraft:birch_hanging_sign","minecraft:jungle_hanging_sign","minecraft:acacia_hanging_sign","minecraft:cherry_hanging_sign","minecraft:dark_oak_hanging_sign","minecraft:pale_oak_hanging_sign","minecraft:mangrove_hanging_sign","minecraft:bamboo_hanging_sign","minecraft:crimson_hanging_sign","minecraft:warped_hanging_sign","minecraft:bucket","minecraft:water_bucket","minecraft:lava_bucket","minecraft:powder_snow_bucket","minecraft:snowball","minecraft:leather","minecraft:milk_bucket","minecraft:pufferfish_bucket","minecraft:salmon_bucket","minecraft:cod_bucket","minecraft:tropical_fish_bucket","minecraft:axolotl_bucket","minecraft:tadpole_bucket","minecraft:brick","minecraft:clay_ball","minecraft:dried_kelp_block","minecraft:paper","minecraft:book","minecraft:slime_ball","minecraft:egg","minecraft:blue_egg","minecraft:brown_egg","minecraft:compass","minecraft:recovery_compass","minecraft:bundle","minecraft:white_bundle","minecraft:orange_bundle","minecraft:magenta_bundle","minecraft:light_blue_bundle","minecraft:yellow_bundle","minecraft:lime_bundle","minecraft:pink_bundle","minecraft:gray_bundle","minecraft:light_gray_bundle","minecraft:cyan_bundle","minecraft:purple_bundle","minecraft:blue_bundle","minecraft:brown_bundle","minecraft:green_bundle","minecraft:red_bundle","minecraft:black_bundle","minecraft:fishing_rod","minecraft:clock","minecraft:spyglass","minecraft:glowstone_dust","minecraft:cod","minecraft:salmon","minecraft:tropical_fish","minecraft:pufferfish","minecraft:cooked_cod","minecraft:cooked_salmon","minecraft:ink_sac","minecraft:glow_ink_sac","minecraft:cocoa_beans","minecraft:white_dye","minecraft:orange_dye","minecraft:magenta_dye","minecraft:light_blue_dye","minecraft:yellow_dye","minecraft:lime_dye","minecraft:pink_dye","minecraft:gray_dye","minecraft:light_gray_dye","minecraft:cyan_dye","minecraft:purple_dye","minecraft:blue_dye","minecraft:brown_dye","minecraft:green_dye","minecraft:red_dye","minecraft:black_dye","minecraft:bone_meal","minecraft:bone","minecraft:sugar","minecraft:cake","minecraft:white_bed","minecraft:orange_bed","minecraft:magenta_bed","minecraft:light_blue_bed","minecraft:yellow_bed","minecraft:lime_bed","minecraft:pink_bed","minecraft:gray_bed","minecraft:light_gray_bed","minecraft:cyan_bed","minecraft:purple_bed","minecraft:blue_bed","minecraft:brown_bed","minecraft:green_bed","minecraft:red_bed","minecraft:black_bed","minecraft:cookie","minecraft:crafter","minecraft:filled_map","minecraft:shears","minecraft:melon_slice","minecraft:dried_kelp","minecraft:pumpkin_seeds","minecraft:melon_seeds","minecraft:beef","minecraft:cooked_beef","minecraft:chicken","minecraft:cooked_chicken","minecraft:rotten_flesh","minecraft:ender_pearl","minecraft:blaze_rod","minecraft:ghast_tear","minecraft:gold_nugget","minecraft:nether_wart","minecraft:glass_bottle","minecraft:potion","minecraft:spider_eye","minecraft:fermented_spider_eye","minecraft:blaze_powder","minecraft:magma_cream","minecraft:brewing_stand","minecraft:cauldron","minecraft:ender_eye","minecraft:glistering_melon_slice","minecraft: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:copper_golem_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:copper_horse_armor","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:copper_nugget","minecraft:knowledge_book","minecraft:debug_stick","minecraft:music_disc_13","minecraft:music_disc_cat","minecraft:music_disc_blocks","minecraft:music_disc_chirp","minecraft:music_disc_creator","minecraft:music_disc_creator_music_box","minecraft:music_disc_far","minecraft:music_disc_lava_chicken","minecraft:music_disc_mall","minecraft:music_disc_mellohi","minecraft:music_disc_stal","minecraft:music_disc_strad","minecraft:music_disc_ward","minecraft:music_disc_11","minecraft:music_disc_wait","minecraft:music_disc_otherside","minecraft:music_disc_relic","minecraft:music_disc_5","minecraft:music_disc_pigstep","minecraft:music_disc_precipice","minecraft:music_disc_tears","minecraft:disc_fragment_5","minecraft:trident","minecraft:nautilus_shell","minecraft:heart_of_the_sea","minecraft:crossbow","minecraft:suspicious_stew","minecraft:loom","minecraft:flower_banner_pattern","minecraft:creeper_banner_pattern","minecraft:skull_banner_pattern","minecraft:mojang_banner_pattern","minecraft:globe_banner_pattern","minecraft:piglin_banner_pattern","minecraft:flow_banner_pattern","minecraft:guster_banner_pattern","minecraft:field_masoned_banner_pattern","minecraft:bordure_indented_banner_pattern","minecraft:goat_horn","minecraft:composter","minecraft:barrel","minecraft:smoker","minecraft:blast_furnace","minecraft:cartography_table","minecraft:fletching_table","minecraft:grindstone","minecraft:smithing_table","minecraft:stonecutter","minecraft:bell","minecraft:lantern","minecraft:soul_lantern","minecraft:copper_lantern","minecraft:exposed_copper_lantern","minecraft:weathered_copper_lantern","minecraft:oxidized_copper_lantern","minecraft:waxed_copper_lantern","minecraft:waxed_exposed_copper_lantern","minecraft:waxed_weathered_copper_lantern","minecraft:waxed_oxidized_copper_lantern","minecraft:sweet_berries","minecraft:glow_berries","minecraft:campfire","minecraft:soul_campfire","minecraft:shroomlight","minecraft:honeycomb","minecraft:bee_nest","minecraft:beehive","minecraft:honey_bottle","minecraft:honeycomb_block","minecraft:lodestone","minecraft:crying_obsidian","minecraft:blackstone","minecraft:blackstone_slab","minecraft:blackstone_stairs","minecraft:gilded_blackstone","minecraft:polished_blackstone","minecraft:polished_blackstone_slab","minecraft:polished_blackstone_stairs","minecraft:chiseled_polished_blackstone","minecraft:polished_blackstone_bricks","minecraft:polished_blackstone_brick_slab","minecraft:polished_blackstone_brick_stairs","minecraft:cracked_polished_blackstone_bricks","minecraft:respawn_anchor","minecraft:candle","minecraft:white_candle","minecraft:orange_candle","minecraft:magenta_candle","minecraft:light_blue_candle","minecraft:yellow_candle","minecraft:lime_candle","minecraft:pink_candle","minecraft:gray_candle","minecraft:light_gray_candle","minecraft:cyan_candle","minecraft:purple_candle","minecraft:blue_candle","minecraft:brown_candle","minecraft:green_candle","minecraft:red_candle","minecraft:black_candle","minecraft:small_amethyst_bud","minecraft:medium_amethyst_bud","minecraft:large_amethyst_bud","minecraft:amethyst_cluster","minecraft:pointed_dripstone","minecraft:ochre_froglight","minecraft:verdant_froglight","minecraft:pearlescent_froglight","minecraft:frogspawn","minecraft:echo_shard","minecraft:brush","minecraft:netherite_upgrade_smithing_template","minecraft:sentry_armor_trim_smithing_template","minecraft:dune_armor_trim_smithing_template","minecraft:coast_armor_trim_smithing_template","minecraft:wild_armor_trim_smithing_template","minecraft:ward_armor_trim_smithing_template","minecraft:eye_armor_trim_smithing_template","minecraft:vex_armor_trim_smithing_template","minecraft:tide_armor_trim_smithing_template","minecraft:snout_armor_trim_smithing_template","minecraft:rib_armor_trim_smithing_template","minecraft:spire_armor_trim_smithing_template","minecraft:wayfinder_armor_trim_smithing_template","minecraft:shaper_armor_trim_smithing_template","minecraft:silence_armor_trim_smithing_template","minecraft:raiser_armor_trim_smithing_template","minecraft:host_armor_trim_smithing_template","minecraft:flow_armor_trim_smithing_template","minecraft:bolt_armor_trim_smithing_template","minecraft:angler_pottery_sherd","minecraft:archer_pottery_sherd","minecraft:arms_up_pottery_sherd","minecraft:blade_pottery_sherd","minecraft:brewer_pottery_sherd","minecraft:burn_pottery_sherd","minecraft:danger_pottery_sherd","minecraft:explorer_pottery_sherd","minecraft:flow_pottery_sherd","minecraft:friend_pottery_sherd","minecraft:guster_pottery_sherd","minecraft:heart_pottery_sherd","minecraft:heartbreak_pottery_sherd","minecraft:howl_pottery_sherd","minecraft:miner_pottery_sherd","minecraft:mourner_pottery_sherd","minecraft:plenty_pottery_sherd","minecraft:prize_pottery_sherd","minecraft:scrape_pottery_sherd","minecraft:sheaf_pottery_sherd","minecraft:shelter_pottery_sherd","minecraft:skull_pottery_sherd","minecraft:snort_pottery_sherd","minecraft:copper_grate","minecraft:exposed_copper_grate","minecraft:weathered_copper_grate","minecraft:oxidized_copper_grate","minecraft:waxed_copper_grate","minecraft:waxed_exposed_copper_grate","minecraft:waxed_weathered_copper_grate","minecraft:waxed_oxidized_copper_grate","minecraft:copper_bulb","minecraft:exposed_copper_bulb","minecraft:weathered_copper_bulb","minecraft:oxidized_copper_bulb","minecraft:waxed_copper_bulb","minecraft:waxed_exposed_copper_bulb","minecraft:waxed_weathered_copper_bulb","minecraft:waxed_oxidized_copper_bulb","minecraft:copper_chest","minecraft:exposed_copper_chest","minecraft:weathered_copper_chest","minecraft:oxidized_copper_chest","minecraft:waxed_copper_chest","minecraft:waxed_exposed_copper_chest","minecraft:waxed_weathered_copper_chest","minecraft:waxed_oxidized_copper_chest","minecraft:copper_golem_statue","minecraft:exposed_copper_golem_statue","minecraft:weathered_copper_golem_statue","minecraft:oxidized_copper_golem_statue","minecraft:waxed_copper_golem_statue","minecraft:waxed_exposed_copper_golem_statue","minecraft:waxed_weathered_copper_golem_statue","minecraft:waxed_oxidized_copper_golem_statue","minecraft:trial_spawner","minecraft:trial_key","minecraft:ominous_trial_key","minecraft:vault","minecraft:ominous_bottle"];
1748impl DefaultableComponent for ItemModel {
1749 fn default_for_item(item: Item) -> Option<Self> {
1750 let value = ITEM_MODEL_VALUES[item as usize];
1751 Some(ItemModel {
1752 resource_location: value.into(),
1753 })
1754 }
1755}
1756#[rustfmt::skip]
1757static ITEM_NAME_VALUES: [&str; 1488] = ["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.acacia_shelf","block.minecraft.bamboo_shelf","block.minecraft.birch_shelf","block.minecraft.cherry_shelf","block.minecraft.crimson_shelf","block.minecraft.dark_oak_shelf","block.minecraft.jungle_shelf","block.minecraft.mangrove_shelf","block.minecraft.oak_shelf","block.minecraft.pale_oak_shelf","block.minecraft.spruce_shelf","block.minecraft.warped_shelf","block.minecraft.bookshelf","block.minecraft.chiseled_bookshelf","block.minecraft.decorated_pot","block.minecraft.mossy_cobblestone","block.minecraft.obsidian","block.minecraft.torch","block.minecraft.end_rod","block.minecraft.chorus_plant","block.minecraft.chorus_flower","block.minecraft.purpur_block","block.minecraft.purpur_pillar","block.minecraft.purpur_stairs","block.minecraft.spawner","block.minecraft.creaking_heart","block.minecraft.chest","block.minecraft.crafting_table","block.minecraft.farmland","block.minecraft.furnace","block.minecraft.ladder","block.minecraft.cobblestone_stairs","block.minecraft.snow","block.minecraft.ice","block.minecraft.snow_block","block.minecraft.cactus","block.minecraft.cactus_flower","block.minecraft.clay","block.minecraft.jukebox","block.minecraft.oak_fence","block.minecraft.spruce_fence","block.minecraft.birch_fence","block.minecraft.jungle_fence","block.minecraft.acacia_fence","block.minecraft.cherry_fence","block.minecraft.dark_oak_fence","block.minecraft.pale_oak_fence","block.minecraft.mangrove_fence","block.minecraft.bamboo_fence","block.minecraft.crimson_fence","block.minecraft.warped_fence","block.minecraft.pumpkin","block.minecraft.carved_pumpkin","block.minecraft.jack_o_lantern","block.minecraft.netherrack","block.minecraft.soul_sand","block.minecraft.soul_soil","block.minecraft.basalt","block.minecraft.polished_basalt","block.minecraft.smooth_basalt","block.minecraft.soul_torch","block.minecraft.copper_torch","block.minecraft.glowstone","block.minecraft.infested_stone","block.minecraft.infested_cobblestone","block.minecraft.infested_stone_bricks","block.minecraft.infested_mossy_stone_bricks","block.minecraft.infested_cracked_stone_bricks","block.minecraft.infested_chiseled_stone_bricks","block.minecraft.infested_deepslate","block.minecraft.stone_bricks","block.minecraft.mossy_stone_bricks","block.minecraft.cracked_stone_bricks","block.minecraft.chiseled_stone_bricks","block.minecraft.packed_mud","block.minecraft.mud_bricks","block.minecraft.deepslate_bricks","block.minecraft.cracked_deepslate_bricks","block.minecraft.deepslate_tiles","block.minecraft.cracked_deepslate_tiles","block.minecraft.chiseled_deepslate","block.minecraft.reinforced_deepslate","block.minecraft.brown_mushroom_block","block.minecraft.red_mushroom_block","block.minecraft.mushroom_stem","block.minecraft.iron_bars","block.minecraft.copper_bars","block.minecraft.exposed_copper_bars","block.minecraft.weathered_copper_bars","block.minecraft.oxidized_copper_bars","block.minecraft.waxed_copper_bars","block.minecraft.waxed_exposed_copper_bars","block.minecraft.waxed_weathered_copper_bars","block.minecraft.waxed_oxidized_copper_bars","block.minecraft.iron_chain","block.minecraft.copper_chain","block.minecraft.exposed_copper_chain","block.minecraft.weathered_copper_chain","block.minecraft.oxidized_copper_chain","block.minecraft.waxed_copper_chain","block.minecraft.waxed_exposed_copper_chain","block.minecraft.waxed_weathered_copper_chain","block.minecraft.waxed_oxidized_copper_chain","block.minecraft.glass_pane","block.minecraft.melon","block.minecraft.vine","block.minecraft.glow_lichen","item.minecraft.resin_clump","block.minecraft.resin_block","block.minecraft.resin_bricks","block.minecraft.resin_brick_stairs","block.minecraft.resin_brick_slab","block.minecraft.resin_brick_wall","block.minecraft.chiseled_resin_bricks","block.minecraft.brick_stairs","block.minecraft.stone_brick_stairs","block.minecraft.mud_brick_stairs","block.minecraft.mycelium","block.minecraft.lily_pad","block.minecraft.nether_bricks","block.minecraft.cracked_nether_bricks","block.minecraft.chiseled_nether_bricks","block.minecraft.nether_brick_fence","block.minecraft.nether_brick_stairs","block.minecraft.sculk","block.minecraft.sculk_vein","block.minecraft.sculk_catalyst","block.minecraft.sculk_shrieker","block.minecraft.enchanting_table","block.minecraft.end_portal_frame","block.minecraft.end_stone","block.minecraft.end_stone_bricks","block.minecraft.dragon_egg","block.minecraft.sandstone_stairs","block.minecraft.ender_chest","block.minecraft.emerald_block","block.minecraft.oak_stairs","block.minecraft.spruce_stairs","block.minecraft.birch_stairs","block.minecraft.jungle_stairs","block.minecraft.acacia_stairs","block.minecraft.cherry_stairs","block.minecraft.dark_oak_stairs","block.minecraft.pale_oak_stairs","block.minecraft.mangrove_stairs","block.minecraft.bamboo_stairs","block.minecraft.bamboo_mosaic_stairs","block.minecraft.crimson_stairs","block.minecraft.warped_stairs","block.minecraft.command_block","block.minecraft.beacon","block.minecraft.cobblestone_wall","block.minecraft.mossy_cobblestone_wall","block.minecraft.brick_wall","block.minecraft.prismarine_wall","block.minecraft.red_sandstone_wall","block.minecraft.mossy_stone_brick_wall","block.minecraft.granite_wall","block.minecraft.stone_brick_wall","block.minecraft.mud_brick_wall","block.minecraft.nether_brick_wall","block.minecraft.andesite_wall","block.minecraft.red_nether_brick_wall","block.minecraft.sandstone_wall","block.minecraft.end_stone_brick_wall","block.minecraft.diorite_wall","block.minecraft.blackstone_wall","block.minecraft.polished_blackstone_wall","block.minecraft.polished_blackstone_brick_wall","block.minecraft.cobbled_deepslate_wall","block.minecraft.polished_deepslate_wall","block.minecraft.deepslate_brick_wall","block.minecraft.deepslate_tile_wall","block.minecraft.anvil","block.minecraft.chipped_anvil","block.minecraft.damaged_anvil","block.minecraft.chiseled_quartz_block","block.minecraft.quartz_block","block.minecraft.quartz_bricks","block.minecraft.quartz_pillar","block.minecraft.quartz_stairs","block.minecraft.white_terracotta","block.minecraft.orange_terracotta","block.minecraft.magenta_terracotta","block.minecraft.light_blue_terracotta","block.minecraft.yellow_terracotta","block.minecraft.lime_terracotta","block.minecraft.pink_terracotta","block.minecraft.gray_terracotta","block.minecraft.light_gray_terracotta","block.minecraft.cyan_terracotta","block.minecraft.purple_terracotta","block.minecraft.blue_terracotta","block.minecraft.brown_terracotta","block.minecraft.green_terracotta","block.minecraft.red_terracotta","block.minecraft.black_terracotta","block.minecraft.barrier","block.minecraft.light","block.minecraft.hay_block","block.minecraft.white_carpet","block.minecraft.orange_carpet","block.minecraft.magenta_carpet","block.minecraft.light_blue_carpet","block.minecraft.yellow_carpet","block.minecraft.lime_carpet","block.minecraft.pink_carpet","block.minecraft.gray_carpet","block.minecraft.light_gray_carpet","block.minecraft.cyan_carpet","block.minecraft.purple_carpet","block.minecraft.blue_carpet","block.minecraft.brown_carpet","block.minecraft.green_carpet","block.minecraft.red_carpet","block.minecraft.black_carpet","block.minecraft.terracotta","block.minecraft.packed_ice","block.minecraft.dirt_path","block.minecraft.sunflower","block.minecraft.lilac","block.minecraft.rose_bush","block.minecraft.peony","block.minecraft.tall_grass","block.minecraft.large_fern","block.minecraft.white_stained_glass","block.minecraft.orange_stained_glass","block.minecraft.magenta_stained_glass","block.minecraft.light_blue_stained_glass","block.minecraft.yellow_stained_glass","block.minecraft.lime_stained_glass","block.minecraft.pink_stained_glass","block.minecraft.gray_stained_glass","block.minecraft.light_gray_stained_glass","block.minecraft.cyan_stained_glass","block.minecraft.purple_stained_glass","block.minecraft.blue_stained_glass","block.minecraft.brown_stained_glass","block.minecraft.green_stained_glass","block.minecraft.red_stained_glass","block.minecraft.black_stained_glass","block.minecraft.white_stained_glass_pane","block.minecraft.orange_stained_glass_pane","block.minecraft.magenta_stained_glass_pane","block.minecraft.light_blue_stained_glass_pane","block.minecraft.yellow_stained_glass_pane","block.minecraft.lime_stained_glass_pane","block.minecraft.pink_stained_glass_pane","block.minecraft.gray_stained_glass_pane","block.minecraft.light_gray_stained_glass_pane","block.minecraft.cyan_stained_glass_pane","block.minecraft.purple_stained_glass_pane","block.minecraft.blue_stained_glass_pane","block.minecraft.brown_stained_glass_pane","block.minecraft.green_stained_glass_pane","block.minecraft.red_stained_glass_pane","block.minecraft.black_stained_glass_pane","block.minecraft.prismarine","block.minecraft.prismarine_bricks","block.minecraft.dark_prismarine","block.minecraft.prismarine_stairs","block.minecraft.prismarine_brick_stairs","block.minecraft.dark_prismarine_stairs","block.minecraft.sea_lantern","block.minecraft.red_sandstone","block.minecraft.chiseled_red_sandstone","block.minecraft.cut_red_sandstone","block.minecraft.red_sandstone_stairs","block.minecraft.repeating_command_block","block.minecraft.chain_command_block","block.minecraft.magma_block","block.minecraft.nether_wart_block","block.minecraft.warped_wart_block","block.minecraft.red_nether_bricks","block.minecraft.bone_block","block.minecraft.structure_void","block.minecraft.shulker_box","block.minecraft.white_shulker_box","block.minecraft.orange_shulker_box","block.minecraft.magenta_shulker_box","block.minecraft.light_blue_shulker_box","block.minecraft.yellow_shulker_box","block.minecraft.lime_shulker_box","block.minecraft.pink_shulker_box","block.minecraft.gray_shulker_box","block.minecraft.light_gray_shulker_box","block.minecraft.cyan_shulker_box","block.minecraft.purple_shulker_box","block.minecraft.blue_shulker_box","block.minecraft.brown_shulker_box","block.minecraft.green_shulker_box","block.minecraft.red_shulker_box","block.minecraft.black_shulker_box","block.minecraft.white_glazed_terracotta","block.minecraft.orange_glazed_terracotta","block.minecraft.magenta_glazed_terracotta","block.minecraft.light_blue_glazed_terracotta","block.minecraft.yellow_glazed_terracotta","block.minecraft.lime_glazed_terracotta","block.minecraft.pink_glazed_terracotta","block.minecraft.gray_glazed_terracotta","block.minecraft.light_gray_glazed_terracotta","block.minecraft.cyan_glazed_terracotta","block.minecraft.purple_glazed_terracotta","block.minecraft.blue_glazed_terracotta","block.minecraft.brown_glazed_terracotta","block.minecraft.green_glazed_terracotta","block.minecraft.red_glazed_terracotta","block.minecraft.black_glazed_terracotta","block.minecraft.white_concrete","block.minecraft.orange_concrete","block.minecraft.magenta_concrete","block.minecraft.light_blue_concrete","block.minecraft.yellow_concrete","block.minecraft.lime_concrete","block.minecraft.pink_concrete","block.minecraft.gray_concrete","block.minecraft.light_gray_concrete","block.minecraft.cyan_concrete","block.minecraft.purple_concrete","block.minecraft.blue_concrete","block.minecraft.brown_concrete","block.minecraft.green_concrete","block.minecraft.red_concrete","block.minecraft.black_concrete","block.minecraft.white_concrete_powder","block.minecraft.orange_concrete_powder","block.minecraft.magenta_concrete_powder","block.minecraft.light_blue_concrete_powder","block.minecraft.yellow_concrete_powder","block.minecraft.lime_concrete_powder","block.minecraft.pink_concrete_powder","block.minecraft.gray_concrete_powder","block.minecraft.light_gray_concrete_powder","block.minecraft.cyan_concrete_powder","block.minecraft.purple_concrete_powder","block.minecraft.blue_concrete_powder","block.minecraft.brown_concrete_powder","block.minecraft.green_concrete_powder","block.minecraft.red_concrete_powder","block.minecraft.black_concrete_powder","block.minecraft.turtle_egg","block.minecraft.sniffer_egg","block.minecraft.dried_ghast","block.minecraft.dead_tube_coral_block","block.minecraft.dead_brain_coral_block","block.minecraft.dead_bubble_coral_block","block.minecraft.dead_fire_coral_block","block.minecraft.dead_horn_coral_block","block.minecraft.tube_coral_block","block.minecraft.brain_coral_block","block.minecraft.bubble_coral_block","block.minecraft.fire_coral_block","block.minecraft.horn_coral_block","block.minecraft.tube_coral","block.minecraft.brain_coral","block.minecraft.bubble_coral","block.minecraft.fire_coral","block.minecraft.horn_coral","block.minecraft.dead_brain_coral","block.minecraft.dead_bubble_coral","block.minecraft.dead_fire_coral","block.minecraft.dead_horn_coral","block.minecraft.dead_tube_coral","block.minecraft.tube_coral_fan","block.minecraft.brain_coral_fan","block.minecraft.bubble_coral_fan","block.minecraft.fire_coral_fan","block.minecraft.horn_coral_fan","block.minecraft.dead_tube_coral_fan","block.minecraft.dead_brain_coral_fan","block.minecraft.dead_bubble_coral_fan","block.minecraft.dead_fire_coral_fan","block.minecraft.dead_horn_coral_fan","block.minecraft.blue_ice","block.minecraft.conduit","block.minecraft.polished_granite_stairs","block.minecraft.smooth_red_sandstone_stairs","block.minecraft.mossy_stone_brick_stairs","block.minecraft.polished_diorite_stairs","block.minecraft.mossy_cobblestone_stairs","block.minecraft.end_stone_brick_stairs","block.minecraft.stone_stairs","block.minecraft.smooth_sandstone_stairs","block.minecraft.smooth_quartz_stairs","block.minecraft.granite_stairs","block.minecraft.andesite_stairs","block.minecraft.red_nether_brick_stairs","block.minecraft.polished_andesite_stairs","block.minecraft.diorite_stairs","block.minecraft.cobbled_deepslate_stairs","block.minecraft.polished_deepslate_stairs","block.minecraft.deepslate_brick_stairs","block.minecraft.deepslate_tile_stairs","block.minecraft.polished_granite_slab","block.minecraft.smooth_red_sandstone_slab","block.minecraft.mossy_stone_brick_slab","block.minecraft.polished_diorite_slab","block.minecraft.mossy_cobblestone_slab","block.minecraft.end_stone_brick_slab","block.minecraft.smooth_sandstone_slab","block.minecraft.smooth_quartz_slab","block.minecraft.granite_slab","block.minecraft.andesite_slab","block.minecraft.red_nether_brick_slab","block.minecraft.polished_andesite_slab","block.minecraft.diorite_slab","block.minecraft.cobbled_deepslate_slab","block.minecraft.polished_deepslate_slab","block.minecraft.deepslate_brick_slab","block.minecraft.deepslate_tile_slab","block.minecraft.scaffolding","item.minecraft.redstone","block.minecraft.redstone_torch","block.minecraft.redstone_block","block.minecraft.repeater","block.minecraft.comparator","block.minecraft.piston","block.minecraft.sticky_piston","block.minecraft.slime_block","block.minecraft.honey_block","block.minecraft.observer","block.minecraft.hopper","block.minecraft.dispenser","block.minecraft.dropper","block.minecraft.lectern","block.minecraft.target","block.minecraft.lever","block.minecraft.lightning_rod","block.minecraft.exposed_lightning_rod","block.minecraft.weathered_lightning_rod","block.minecraft.oxidized_lightning_rod","block.minecraft.waxed_lightning_rod","block.minecraft.waxed_exposed_lightning_rod","block.minecraft.waxed_weathered_lightning_rod","block.minecraft.waxed_oxidized_lightning_rod","block.minecraft.daylight_detector","block.minecraft.sculk_sensor","block.minecraft.calibrated_sculk_sensor","block.minecraft.tripwire_hook","block.minecraft.trapped_chest","block.minecraft.tnt","block.minecraft.redstone_lamp","block.minecraft.note_block","block.minecraft.stone_button","block.minecraft.polished_blackstone_button","block.minecraft.oak_button","block.minecraft.spruce_button","block.minecraft.birch_button","block.minecraft.jungle_button","block.minecraft.acacia_button","block.minecraft.cherry_button","block.minecraft.dark_oak_button","block.minecraft.pale_oak_button","block.minecraft.mangrove_button","block.minecraft.bamboo_button","block.minecraft.crimson_button","block.minecraft.warped_button","block.minecraft.stone_pressure_plate","block.minecraft.polished_blackstone_pressure_plate","block.minecraft.light_weighted_pressure_plate","block.minecraft.heavy_weighted_pressure_plate","block.minecraft.oak_pressure_plate","block.minecraft.spruce_pressure_plate","block.minecraft.birch_pressure_plate","block.minecraft.jungle_pressure_plate","block.minecraft.acacia_pressure_plate","block.minecraft.cherry_pressure_plate","block.minecraft.dark_oak_pressure_plate","block.minecraft.pale_oak_pressure_plate","block.minecraft.mangrove_pressure_plate","block.minecraft.bamboo_pressure_plate","block.minecraft.crimson_pressure_plate","block.minecraft.warped_pressure_plate","block.minecraft.iron_door","block.minecraft.oak_door","block.minecraft.spruce_door","block.minecraft.birch_door","block.minecraft.jungle_door","block.minecraft.acacia_door","block.minecraft.cherry_door","block.minecraft.dark_oak_door","block.minecraft.pale_oak_door","block.minecraft.mangrove_door","block.minecraft.bamboo_door","block.minecraft.crimson_door","block.minecraft.warped_door","block.minecraft.copper_door","block.minecraft.exposed_copper_door","block.minecraft.weathered_copper_door","block.minecraft.oxidized_copper_door","block.minecraft.waxed_copper_door","block.minecraft.waxed_exposed_copper_door","block.minecraft.waxed_weathered_copper_door","block.minecraft.waxed_oxidized_copper_door","block.minecraft.iron_trapdoor","block.minecraft.oak_trapdoor","block.minecraft.spruce_trapdoor","block.minecraft.birch_trapdoor","block.minecraft.jungle_trapdoor","block.minecraft.acacia_trapdoor","block.minecraft.cherry_trapdoor","block.minecraft.dark_oak_trapdoor","block.minecraft.pale_oak_trapdoor","block.minecraft.mangrove_trapdoor","block.minecraft.bamboo_trapdoor","block.minecraft.crimson_trapdoor","block.minecraft.warped_trapdoor","block.minecraft.copper_trapdoor","block.minecraft.exposed_copper_trapdoor","block.minecraft.weathered_copper_trapdoor","block.minecraft.oxidized_copper_trapdoor","block.minecraft.waxed_copper_trapdoor","block.minecraft.waxed_exposed_copper_trapdoor","block.minecraft.waxed_weathered_copper_trapdoor","block.minecraft.waxed_oxidized_copper_trapdoor","block.minecraft.oak_fence_gate","block.minecraft.spruce_fence_gate","block.minecraft.birch_fence_gate","block.minecraft.jungle_fence_gate","block.minecraft.acacia_fence_gate","block.minecraft.cherry_fence_gate","block.minecraft.dark_oak_fence_gate","block.minecraft.pale_oak_fence_gate","block.minecraft.mangrove_fence_gate","block.minecraft.bamboo_fence_gate","block.minecraft.crimson_fence_gate","block.minecraft.warped_fence_gate","block.minecraft.powered_rail","block.minecraft.detector_rail","block.minecraft.rail","block.minecraft.activator_rail","item.minecraft.saddle","item.minecraft.white_harness","item.minecraft.orange_harness","item.minecraft.magenta_harness","item.minecraft.light_blue_harness","item.minecraft.yellow_harness","item.minecraft.lime_harness","item.minecraft.pink_harness","item.minecraft.gray_harness","item.minecraft.light_gray_harness","item.minecraft.cyan_harness","item.minecraft.purple_harness","item.minecraft.blue_harness","item.minecraft.brown_harness","item.minecraft.green_harness","item.minecraft.red_harness","item.minecraft.black_harness","item.minecraft.minecart","item.minecraft.chest_minecart","item.minecraft.furnace_minecart","item.minecraft.tnt_minecart","item.minecraft.hopper_minecart","item.minecraft.carrot_on_a_stick","item.minecraft.warped_fungus_on_a_stick","item.minecraft.phantom_membrane","item.minecraft.elytra","item.minecraft.oak_boat","item.minecraft.oak_chest_boat","item.minecraft.spruce_boat","item.minecraft.spruce_chest_boat","item.minecraft.birch_boat","item.minecraft.birch_chest_boat","item.minecraft.jungle_boat","item.minecraft.jungle_chest_boat","item.minecraft.acacia_boat","item.minecraft.acacia_chest_boat","item.minecraft.cherry_boat","item.minecraft.cherry_chest_boat","item.minecraft.dark_oak_boat","item.minecraft.dark_oak_chest_boat","item.minecraft.pale_oak_boat","item.minecraft.pale_oak_chest_boat","item.minecraft.mangrove_boat","item.minecraft.mangrove_chest_boat","item.minecraft.bamboo_raft","item.minecraft.bamboo_chest_raft","block.minecraft.structure_block","block.minecraft.jigsaw","block.minecraft.test_block","block.minecraft.test_instance_block","item.minecraft.turtle_helmet","item.minecraft.turtle_scute","item.minecraft.armadillo_scute","item.minecraft.wolf_armor","item.minecraft.flint_and_steel","item.minecraft.bowl","item.minecraft.apple","item.minecraft.bow","item.minecraft.arrow","item.minecraft.coal","item.minecraft.charcoal","item.minecraft.diamond","item.minecraft.emerald","item.minecraft.lapis_lazuli","item.minecraft.quartz","item.minecraft.amethyst_shard","item.minecraft.raw_iron","item.minecraft.iron_ingot","item.minecraft.raw_copper","item.minecraft.copper_ingot","item.minecraft.raw_gold","item.minecraft.gold_ingot","item.minecraft.netherite_ingot","item.minecraft.netherite_scrap","item.minecraft.wooden_sword","item.minecraft.wooden_shovel","item.minecraft.wooden_pickaxe","item.minecraft.wooden_axe","item.minecraft.wooden_hoe","item.minecraft.copper_sword","item.minecraft.copper_shovel","item.minecraft.copper_pickaxe","item.minecraft.copper_axe","item.minecraft.copper_hoe","item.minecraft.stone_sword","item.minecraft.stone_shovel","item.minecraft.stone_pickaxe","item.minecraft.stone_axe","item.minecraft.stone_hoe","item.minecraft.golden_sword","item.minecraft.golden_shovel","item.minecraft.golden_pickaxe","item.minecraft.golden_axe","item.minecraft.golden_hoe","item.minecraft.iron_sword","item.minecraft.iron_shovel","item.minecraft.iron_pickaxe","item.minecraft.iron_axe","item.minecraft.iron_hoe","item.minecraft.diamond_sword","item.minecraft.diamond_shovel","item.minecraft.diamond_pickaxe","item.minecraft.diamond_axe","item.minecraft.diamond_hoe","item.minecraft.netherite_sword","item.minecraft.netherite_shovel","item.minecraft.netherite_pickaxe","item.minecraft.netherite_axe","item.minecraft.netherite_hoe","item.minecraft.stick","item.minecraft.mushroom_stew","item.minecraft.string","item.minecraft.feather","item.minecraft.gunpowder","item.minecraft.wheat_seeds","item.minecraft.wheat","item.minecraft.bread","item.minecraft.leather_helmet","item.minecraft.leather_chestplate","item.minecraft.leather_leggings","item.minecraft.leather_boots","item.minecraft.copper_helmet","item.minecraft.copper_chestplate","item.minecraft.copper_leggings","item.minecraft.copper_boots","item.minecraft.chainmail_helmet","item.minecraft.chainmail_chestplate","item.minecraft.chainmail_leggings","item.minecraft.chainmail_boots","item.minecraft.iron_helmet","item.minecraft.iron_chestplate","item.minecraft.iron_leggings","item.minecraft.iron_boots","item.minecraft.diamond_helmet","item.minecraft.diamond_chestplate","item.minecraft.diamond_leggings","item.minecraft.diamond_boots","item.minecraft.golden_helmet","item.minecraft.golden_chestplate","item.minecraft.golden_leggings","item.minecraft.golden_boots","item.minecraft.netherite_helmet","item.minecraft.netherite_chestplate","item.minecraft.netherite_leggings","item.minecraft.netherite_boots","item.minecraft.flint","item.minecraft.porkchop","item.minecraft.cooked_porkchop","item.minecraft.painting","item.minecraft.golden_apple","item.minecraft.enchanted_golden_apple","block.minecraft.oak_sign","block.minecraft.spruce_sign","block.minecraft.birch_sign","block.minecraft.jungle_sign","block.minecraft.acacia_sign","block.minecraft.cherry_sign","block.minecraft.dark_oak_sign","block.minecraft.pale_oak_sign","block.minecraft.mangrove_sign","block.minecraft.bamboo_sign","block.minecraft.crimson_sign","block.minecraft.warped_sign","block.minecraft.oak_hanging_sign","block.minecraft.spruce_hanging_sign","block.minecraft.birch_hanging_sign","block.minecraft.jungle_hanging_sign","block.minecraft.acacia_hanging_sign","block.minecraft.cherry_hanging_sign","block.minecraft.dark_oak_hanging_sign","block.minecraft.pale_oak_hanging_sign","block.minecraft.mangrove_hanging_sign","block.minecraft.bamboo_hanging_sign","block.minecraft.crimson_hanging_sign","block.minecraft.warped_hanging_sign","item.minecraft.bucket","item.minecraft.water_bucket","item.minecraft.lava_bucket","item.minecraft.powder_snow_bucket","item.minecraft.snowball","item.minecraft.leather","item.minecraft.milk_bucket","item.minecraft.pufferfish_bucket","item.minecraft.salmon_bucket","item.minecraft.cod_bucket","item.minecraft.tropical_fish_bucket","item.minecraft.axolotl_bucket","item.minecraft.tadpole_bucket","item.minecraft.brick","item.minecraft.clay_ball","block.minecraft.dried_kelp_block","item.minecraft.paper","item.minecraft.book","item.minecraft.slime_ball","item.minecraft.egg","item.minecraft.blue_egg","item.minecraft.brown_egg","item.minecraft.compass","item.minecraft.recovery_compass","item.minecraft.bundle","item.minecraft.white_bundle","item.minecraft.orange_bundle","item.minecraft.magenta_bundle","item.minecraft.light_blue_bundle","item.minecraft.yellow_bundle","item.minecraft.lime_bundle","item.minecraft.pink_bundle","item.minecraft.gray_bundle","item.minecraft.light_gray_bundle","item.minecraft.cyan_bundle","item.minecraft.purple_bundle","item.minecraft.blue_bundle","item.minecraft.brown_bundle","item.minecraft.green_bundle","item.minecraft.red_bundle","item.minecraft.black_bundle","item.minecraft.fishing_rod","item.minecraft.clock","item.minecraft.spyglass","item.minecraft.glowstone_dust","item.minecraft.cod","item.minecraft.salmon","item.minecraft.tropical_fish","item.minecraft.pufferfish","item.minecraft.cooked_cod","item.minecraft.cooked_salmon","item.minecraft.ink_sac","item.minecraft.glow_ink_sac","item.minecraft.cocoa_beans","item.minecraft.white_dye","item.minecraft.orange_dye","item.minecraft.magenta_dye","item.minecraft.light_blue_dye","item.minecraft.yellow_dye","item.minecraft.lime_dye","item.minecraft.pink_dye","item.minecraft.gray_dye","item.minecraft.light_gray_dye","item.minecraft.cyan_dye","item.minecraft.purple_dye","item.minecraft.blue_dye","item.minecraft.brown_dye","item.minecraft.green_dye","item.minecraft.red_dye","item.minecraft.black_dye","item.minecraft.bone_meal","item.minecraft.bone","item.minecraft.sugar","block.minecraft.cake","block.minecraft.white_bed","block.minecraft.orange_bed","block.minecraft.magenta_bed","block.minecraft.light_blue_bed","block.minecraft.yellow_bed","block.minecraft.lime_bed","block.minecraft.pink_bed","block.minecraft.gray_bed","block.minecraft.light_gray_bed","block.minecraft.cyan_bed","block.minecraft.purple_bed","block.minecraft.blue_bed","block.minecraft.brown_bed","block.minecraft.green_bed","block.minecraft.red_bed","block.minecraft.black_bed","item.minecraft.cookie","block.minecraft.crafter","item.minecraft.filled_map","item.minecraft.shears","item.minecraft.melon_slice","item.minecraft.dried_kelp","item.minecraft.pumpkin_seeds","item.minecraft.melon_seeds","item.minecraft.beef","item.minecraft.cooked_beef","item.minecraft.chicken","item.minecraft.cooked_chicken","item.minecraft.rotten_flesh","item.minecraft.ender_pearl","item.minecraft.blaze_rod","item.minecraft.ghast_tear","item.minecraft.gold_nugget","item.minecraft.nether_wart","item.minecraft.glass_bottle","item.minecraft.potion","item.minecraft.spider_eye","item.minecraft.fermented_spider_eye","item.minecraft.blaze_powder","item.minecraft.magma_cream","block.minecraft.brewing_stand","block.minecraft.cauldron","item.minecraft.ender_eye","item.minecraft.glistering_melon_slice","item.minecraft.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.copper_golem_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.copper_horse_armor","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.copper_nugget","item.minecraft.knowledge_book","item.minecraft.debug_stick","item.minecraft.music_disc_13","item.minecraft.music_disc_cat","item.minecraft.music_disc_blocks","item.minecraft.music_disc_chirp","item.minecraft.music_disc_creator","item.minecraft.music_disc_creator_music_box","item.minecraft.music_disc_far","item.minecraft.music_disc_lava_chicken","item.minecraft.music_disc_mall","item.minecraft.music_disc_mellohi","item.minecraft.music_disc_stal","item.minecraft.music_disc_strad","item.minecraft.music_disc_ward","item.minecraft.music_disc_11","item.minecraft.music_disc_wait","item.minecraft.music_disc_otherside","item.minecraft.music_disc_relic","item.minecraft.music_disc_5","item.minecraft.music_disc_pigstep","item.minecraft.music_disc_precipice","item.minecraft.music_disc_tears","item.minecraft.disc_fragment_5","item.minecraft.trident","item.minecraft.nautilus_shell","item.minecraft.heart_of_the_sea","item.minecraft.crossbow","item.minecraft.suspicious_stew","block.minecraft.loom","item.minecraft.flower_banner_pattern","item.minecraft.creeper_banner_pattern","item.minecraft.skull_banner_pattern","item.minecraft.mojang_banner_pattern","item.minecraft.globe_banner_pattern","item.minecraft.piglin_banner_pattern","item.minecraft.flow_banner_pattern","item.minecraft.guster_banner_pattern","item.minecraft.field_masoned_banner_pattern","item.minecraft.bordure_indented_banner_pattern","item.minecraft.goat_horn","block.minecraft.composter","block.minecraft.barrel","block.minecraft.smoker","block.minecraft.blast_furnace","block.minecraft.cartography_table","block.minecraft.fletching_table","block.minecraft.grindstone","block.minecraft.smithing_table","block.minecraft.stonecutter","block.minecraft.bell","block.minecraft.lantern","block.minecraft.soul_lantern","block.minecraft.copper_lantern","block.minecraft.exposed_copper_lantern","block.minecraft.weathered_copper_lantern","block.minecraft.oxidized_copper_lantern","block.minecraft.waxed_copper_lantern","block.minecraft.waxed_exposed_copper_lantern","block.minecraft.waxed_weathered_copper_lantern","block.minecraft.waxed_oxidized_copper_lantern","item.minecraft.sweet_berries","item.minecraft.glow_berries","block.minecraft.campfire","block.minecraft.soul_campfire","block.minecraft.shroomlight","item.minecraft.honeycomb","block.minecraft.bee_nest","block.minecraft.beehive","item.minecraft.honey_bottle","block.minecraft.honeycomb_block","block.minecraft.lodestone","block.minecraft.crying_obsidian","block.minecraft.blackstone","block.minecraft.blackstone_slab","block.minecraft.blackstone_stairs","block.minecraft.gilded_blackstone","block.minecraft.polished_blackstone","block.minecraft.polished_blackstone_slab","block.minecraft.polished_blackstone_stairs","block.minecraft.chiseled_polished_blackstone","block.minecraft.polished_blackstone_bricks","block.minecraft.polished_blackstone_brick_slab","block.minecraft.polished_blackstone_brick_stairs","block.minecraft.cracked_polished_blackstone_bricks","block.minecraft.respawn_anchor","block.minecraft.candle","block.minecraft.white_candle","block.minecraft.orange_candle","block.minecraft.magenta_candle","block.minecraft.light_blue_candle","block.minecraft.yellow_candle","block.minecraft.lime_candle","block.minecraft.pink_candle","block.minecraft.gray_candle","block.minecraft.light_gray_candle","block.minecraft.cyan_candle","block.minecraft.purple_candle","block.minecraft.blue_candle","block.minecraft.brown_candle","block.minecraft.green_candle","block.minecraft.red_candle","block.minecraft.black_candle","block.minecraft.small_amethyst_bud","block.minecraft.medium_amethyst_bud","block.minecraft.large_amethyst_bud","block.minecraft.amethyst_cluster","block.minecraft.pointed_dripstone","block.minecraft.ochre_froglight","block.minecraft.verdant_froglight","block.minecraft.pearlescent_froglight","block.minecraft.frogspawn","item.minecraft.echo_shard","item.minecraft.brush","item.minecraft.netherite_upgrade_smithing_template","item.minecraft.sentry_armor_trim_smithing_template","item.minecraft.dune_armor_trim_smithing_template","item.minecraft.coast_armor_trim_smithing_template","item.minecraft.wild_armor_trim_smithing_template","item.minecraft.ward_armor_trim_smithing_template","item.minecraft.eye_armor_trim_smithing_template","item.minecraft.vex_armor_trim_smithing_template","item.minecraft.tide_armor_trim_smithing_template","item.minecraft.snout_armor_trim_smithing_template","item.minecraft.rib_armor_trim_smithing_template","item.minecraft.spire_armor_trim_smithing_template","item.minecraft.wayfinder_armor_trim_smithing_template","item.minecraft.shaper_armor_trim_smithing_template","item.minecraft.silence_armor_trim_smithing_template","item.minecraft.raiser_armor_trim_smithing_template","item.minecraft.host_armor_trim_smithing_template","item.minecraft.flow_armor_trim_smithing_template","item.minecraft.bolt_armor_trim_smithing_template","item.minecraft.angler_pottery_sherd","item.minecraft.archer_pottery_sherd","item.minecraft.arms_up_pottery_sherd","item.minecraft.blade_pottery_sherd","item.minecraft.brewer_pottery_sherd","item.minecraft.burn_pottery_sherd","item.minecraft.danger_pottery_sherd","item.minecraft.explorer_pottery_sherd","item.minecraft.flow_pottery_sherd","item.minecraft.friend_pottery_sherd","item.minecraft.guster_pottery_sherd","item.minecraft.heart_pottery_sherd","item.minecraft.heartbreak_pottery_sherd","item.minecraft.howl_pottery_sherd","item.minecraft.miner_pottery_sherd","item.minecraft.mourner_pottery_sherd","item.minecraft.plenty_pottery_sherd","item.minecraft.prize_pottery_sherd","item.minecraft.scrape_pottery_sherd","item.minecraft.sheaf_pottery_sherd","item.minecraft.shelter_pottery_sherd","item.minecraft.skull_pottery_sherd","item.minecraft.snort_pottery_sherd","block.minecraft.copper_grate","block.minecraft.exposed_copper_grate","block.minecraft.weathered_copper_grate","block.minecraft.oxidized_copper_grate","block.minecraft.waxed_copper_grate","block.minecraft.waxed_exposed_copper_grate","block.minecraft.waxed_weathered_copper_grate","block.minecraft.waxed_oxidized_copper_grate","block.minecraft.copper_bulb","block.minecraft.exposed_copper_bulb","block.minecraft.weathered_copper_bulb","block.minecraft.oxidized_copper_bulb","block.minecraft.waxed_copper_bulb","block.minecraft.waxed_exposed_copper_bulb","block.minecraft.waxed_weathered_copper_bulb","block.minecraft.waxed_oxidized_copper_bulb","block.minecraft.copper_chest","block.minecraft.exposed_copper_chest","block.minecraft.weathered_copper_chest","block.minecraft.oxidized_copper_chest","block.minecraft.waxed_copper_chest","block.minecraft.waxed_exposed_copper_chest","block.minecraft.waxed_weathered_copper_chest","block.minecraft.waxed_oxidized_copper_chest","block.minecraft.copper_golem_statue","block.minecraft.exposed_copper_golem_statue","block.minecraft.weathered_copper_golem_statue","block.minecraft.oxidized_copper_golem_statue","block.minecraft.waxed_copper_golem_statue","block.minecraft.waxed_exposed_copper_golem_statue","block.minecraft.waxed_weathered_copper_golem_statue","block.minecraft.waxed_oxidized_copper_golem_statue","block.minecraft.trial_spawner","item.minecraft.trial_key","item.minecraft.ominous_trial_key","block.minecraft.vault","item.minecraft.ominous_bottle"];
1758impl DefaultableComponent for ItemName {
1759 fn default_for_item(item: Item) -> Option<Self> {
1760 let value = ITEM_NAME_VALUES[item as usize];
1761 Some(ItemName {
1762 name: TranslatableComponent::from(value).into(),
1763 })
1764 }
1765}
1766impl DefaultableComponent for Lore {
1767 fn default_for_item(_item: Item) -> Option<Self> {
1768 Some(Lore { lines: vec![] })
1769 }
1770}
1771#[rustfmt::skip]
1772static MAX_STACK_SIZE_VALUES: [i32; 1488] = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,1,64,64,1,1,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,1,1,16,64,1,1,1,1,1,1,1,64,64,64,64,64,64,16,16,16,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,1,64,64,64,64,64,64,64,64,64,16,64,64,64,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,16,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,64,64,64,64,64,64,1,64,64,16,1,1,1,1,1,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,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,64,64,64,64,64,64,64,64,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64];
1773impl DefaultableComponent for MaxStackSize {
1774 fn default_for_item(item: Item) -> Option<Self> {
1775 let value = MAX_STACK_SIZE_VALUES[item as usize];
1776 Some(MaxStackSize { count: value })
1777 }
1778}
1779impl DefaultableComponent for Rarity {
1780 fn default_for_item(item: Item) -> Option<Self> {
1781 let value = match item {
1782 Item::AnglerPotterySherd => Rarity::Uncommon,
1783 Item::ArcherPotterySherd => Rarity::Uncommon,
1784 Item::ArmsUpPotterySherd => Rarity::Uncommon,
1785 Item::Barrier => Rarity::Epic,
1786 Item::Beacon => Rarity::Rare,
1787 Item::BladePotterySherd => Rarity::Uncommon,
1788 Item::BoltArmorTrimSmithingTemplate => Rarity::Uncommon,
1789 Item::BrewerPotterySherd => Rarity::Uncommon,
1790 Item::BurnPotterySherd => Rarity::Uncommon,
1791 Item::ChainCommandBlock => Rarity::Epic,
1792 Item::ChainmailBoots => Rarity::Uncommon,
1793 Item::ChainmailChestplate => Rarity::Uncommon,
1794 Item::ChainmailHelmet => Rarity::Uncommon,
1795 Item::ChainmailLeggings => Rarity::Uncommon,
1796 Item::CoastArmorTrimSmithingTemplate => Rarity::Uncommon,
1797 Item::CommandBlock => Rarity::Epic,
1798 Item::CommandBlockMinecart => Rarity::Epic,
1799 Item::Conduit => Rarity::Uncommon,
1800 Item::CreeperBannerPattern => Rarity::Uncommon,
1801 Item::CreeperHead => Rarity::Uncommon,
1802 Item::DangerPotterySherd => Rarity::Uncommon,
1803 Item::DebugStick => Rarity::Epic,
1804 Item::DiscFragment5 => Rarity::Uncommon,
1805 Item::DragonBreath => Rarity::Uncommon,
1806 Item::DragonEgg => Rarity::Epic,
1807 Item::DragonHead => Rarity::Epic,
1808 Item::DuneArmorTrimSmithingTemplate => Rarity::Uncommon,
1809 Item::EchoShard => Rarity::Uncommon,
1810 Item::Elytra => Rarity::Epic,
1811 Item::EnchantedBook => Rarity::Rare,
1812 Item::EnchantedGoldenApple => Rarity::Rare,
1813 Item::ExperienceBottle => Rarity::Uncommon,
1814 Item::ExplorerPotterySherd => Rarity::Uncommon,
1815 Item::EyeArmorTrimSmithingTemplate => Rarity::Rare,
1816 Item::FlowArmorTrimSmithingTemplate => Rarity::Uncommon,
1817 Item::FlowBannerPattern => Rarity::Rare,
1818 Item::FlowPotterySherd => Rarity::Uncommon,
1819 Item::FriendPotterySherd => Rarity::Uncommon,
1820 Item::GoatHorn => Rarity::Uncommon,
1821 Item::GusterBannerPattern => Rarity::Rare,
1822 Item::GusterPotterySherd => Rarity::Uncommon,
1823 Item::HeartOfTheSea => Rarity::Uncommon,
1824 Item::HeartPotterySherd => Rarity::Uncommon,
1825 Item::HeartbreakPotterySherd => Rarity::Uncommon,
1826 Item::HeavyCore => Rarity::Epic,
1827 Item::HostArmorTrimSmithingTemplate => Rarity::Uncommon,
1828 Item::HowlPotterySherd => Rarity::Uncommon,
1829 Item::Jigsaw => Rarity::Epic,
1830 Item::KnowledgeBook => Rarity::Epic,
1831 Item::Light => Rarity::Epic,
1832 Item::Mace => Rarity::Epic,
1833 Item::MinerPotterySherd => Rarity::Uncommon,
1834 Item::MojangBannerPattern => Rarity::Rare,
1835 Item::MournerPotterySherd => Rarity::Uncommon,
1836 Item::MusicDisc11 => Rarity::Uncommon,
1837 Item::MusicDisc13 => Rarity::Uncommon,
1838 Item::MusicDisc5 => Rarity::Uncommon,
1839 Item::MusicDiscBlocks => Rarity::Uncommon,
1840 Item::MusicDiscCat => Rarity::Uncommon,
1841 Item::MusicDiscChirp => Rarity::Uncommon,
1842 Item::MusicDiscCreator => Rarity::Rare,
1843 Item::MusicDiscCreatorMusicBox => Rarity::Uncommon,
1844 Item::MusicDiscFar => Rarity::Uncommon,
1845 Item::MusicDiscLavaChicken => Rarity::Rare,
1846 Item::MusicDiscMall => Rarity::Uncommon,
1847 Item::MusicDiscMellohi => Rarity::Uncommon,
1848 Item::MusicDiscOtherside => Rarity::Rare,
1849 Item::MusicDiscPigstep => Rarity::Rare,
1850 Item::MusicDiscPrecipice => Rarity::Uncommon,
1851 Item::MusicDiscRelic => Rarity::Uncommon,
1852 Item::MusicDiscStal => Rarity::Uncommon,
1853 Item::MusicDiscStrad => Rarity::Uncommon,
1854 Item::MusicDiscTears => Rarity::Uncommon,
1855 Item::MusicDiscWait => Rarity::Uncommon,
1856 Item::MusicDiscWard => Rarity::Uncommon,
1857 Item::NautilusShell => Rarity::Uncommon,
1858 Item::NetherStar => Rarity::Rare,
1859 Item::NetheriteUpgradeSmithingTemplate => Rarity::Uncommon,
1860 Item::OminousBottle => Rarity::Uncommon,
1861 Item::PiglinBannerPattern => Rarity::Uncommon,
1862 Item::PiglinHead => Rarity::Uncommon,
1863 Item::PlayerHead => Rarity::Uncommon,
1864 Item::PlentyPotterySherd => Rarity::Uncommon,
1865 Item::PrizePotterySherd => Rarity::Uncommon,
1866 Item::RaiserArmorTrimSmithingTemplate => Rarity::Uncommon,
1867 Item::RecoveryCompass => Rarity::Uncommon,
1868 Item::RepeatingCommandBlock => Rarity::Epic,
1869 Item::RibArmorTrimSmithingTemplate => Rarity::Uncommon,
1870 Item::ScrapePotterySherd => Rarity::Uncommon,
1871 Item::SentryArmorTrimSmithingTemplate => Rarity::Uncommon,
1872 Item::ShaperArmorTrimSmithingTemplate => Rarity::Uncommon,
1873 Item::SheafPotterySherd => Rarity::Uncommon,
1874 Item::ShelterPotterySherd => Rarity::Uncommon,
1875 Item::SilenceArmorTrimSmithingTemplate => Rarity::Epic,
1876 Item::SkeletonSkull => Rarity::Uncommon,
1877 Item::SkullBannerPattern => Rarity::Rare,
1878 Item::SkullPotterySherd => Rarity::Uncommon,
1879 Item::SnifferEgg => Rarity::Uncommon,
1880 Item::SnortPotterySherd => Rarity::Uncommon,
1881 Item::SnoutArmorTrimSmithingTemplate => Rarity::Uncommon,
1882 Item::SpireArmorTrimSmithingTemplate => Rarity::Rare,
1883 Item::StructureBlock => Rarity::Epic,
1884 Item::StructureVoid => Rarity::Epic,
1885 Item::TestBlock => Rarity::Epic,
1886 Item::TestInstanceBlock => Rarity::Epic,
1887 Item::TideArmorTrimSmithingTemplate => Rarity::Uncommon,
1888 Item::TotemOfUndying => Rarity::Uncommon,
1889 Item::Trident => Rarity::Rare,
1890 Item::VexArmorTrimSmithingTemplate => Rarity::Rare,
1891 Item::WardArmorTrimSmithingTemplate => Rarity::Rare,
1892 Item::WayfinderArmorTrimSmithingTemplate => Rarity::Uncommon,
1893 Item::WildArmorTrimSmithingTemplate => Rarity::Uncommon,
1894 Item::WitherSkeletonSkull => Rarity::Rare,
1895 Item::ZombieHead => Rarity::Uncommon,
1896 _ => Rarity::Common,
1897 };
1898 Some(value)
1899 }
1900}
1901impl DefaultableComponent for RepairCost {
1902 fn default_for_item(_item: Item) -> Option<Self> {
1903 Some(RepairCost { cost: 0 })
1904 }
1905}
1906impl DefaultableComponent for TooltipDisplay {
1907 fn default_for_item(_item: Item) -> Option<Self> {
1908 Some(TooltipDisplay::new())
1909 }
1910}
1911impl DefaultableComponent for Container {
1912 fn default_for_item(item: Item) -> Option<Self> {
1913 let value = match item {
1914 Item::AcaciaShelf => vec![],
1915 Item::BambooShelf => vec![],
1916 Item::Barrel => vec![],
1917 Item::BirchShelf => vec![],
1918 Item::BlackShulkerBox => vec![],
1919 Item::BlastFurnace => vec![],
1920 Item::BlueShulkerBox => vec![],
1921 Item::BrewingStand => vec![],
1922 Item::BrownShulkerBox => vec![],
1923 Item::Campfire => vec![],
1924 Item::CherryShelf => vec![],
1925 Item::Chest => vec![],
1926 Item::ChiseledBookshelf => vec![],
1927 Item::Crafter => vec![],
1928 Item::CrimsonShelf => vec![],
1929 Item::CyanShulkerBox => vec![],
1930 Item::DarkOakShelf => vec![],
1931 Item::DecoratedPot => vec![],
1932 Item::Dispenser => vec![],
1933 Item::Dropper => vec![],
1934 Item::Furnace => vec![],
1935 Item::GrayShulkerBox => vec![],
1936 Item::GreenShulkerBox => vec![],
1937 Item::Hopper => vec![],
1938 Item::JungleShelf => vec![],
1939 Item::LightBlueShulkerBox => vec![],
1940 Item::LightGrayShulkerBox => vec![],
1941 Item::LimeShulkerBox => vec![],
1942 Item::MagentaShulkerBox => vec![],
1943 Item::MangroveShelf => vec![],
1944 Item::OakShelf => vec![],
1945 Item::OrangeShulkerBox => vec![],
1946 Item::PaleOakShelf => vec![],
1947 Item::PinkShulkerBox => vec![],
1948 Item::PurpleShulkerBox => vec![],
1949 Item::RedShulkerBox => vec![],
1950 Item::ShulkerBox => vec![],
1951 Item::Smoker => vec![],
1952 Item::SoulCampfire => vec![],
1953 Item::SpruceShelf => vec![],
1954 Item::TrappedChest => vec![],
1955 Item::WarpedShelf => vec![],
1956 Item::WhiteShulkerBox => vec![],
1957 Item::YellowShulkerBox => vec![],
1958 _ => return None,
1959 };
1960 Some(Container { items: value })
1961 }
1962}
1963impl DefaultableComponent for EntityData {
1964 fn default_for_item(item: Item) -> Option<Self> {
1965 let value = match item {
1966 Item::AllaySpawnEgg => EntityKind::Allay,
1967 Item::ArmadilloSpawnEgg => EntityKind::Armadillo,
1968 Item::AxolotlSpawnEgg => EntityKind::Axolotl,
1969 Item::BatSpawnEgg => EntityKind::Bat,
1970 Item::BeeSpawnEgg => EntityKind::Bee,
1971 Item::BlazeSpawnEgg => EntityKind::Blaze,
1972 Item::BoggedSpawnEgg => EntityKind::Bogged,
1973 Item::BreezeSpawnEgg => EntityKind::Breeze,
1974 Item::CamelSpawnEgg => EntityKind::Camel,
1975 Item::CatSpawnEgg => EntityKind::Cat,
1976 Item::CaveSpiderSpawnEgg => EntityKind::CaveSpider,
1977 Item::ChickenSpawnEgg => EntityKind::Chicken,
1978 Item::CodSpawnEgg => EntityKind::Cod,
1979 Item::CopperGolemSpawnEgg => EntityKind::CopperGolem,
1980 Item::CowSpawnEgg => EntityKind::Cow,
1981 Item::CreakingSpawnEgg => EntityKind::Creaking,
1982 Item::CreeperSpawnEgg => EntityKind::Creeper,
1983 Item::DolphinSpawnEgg => EntityKind::Dolphin,
1984 Item::DonkeySpawnEgg => EntityKind::Donkey,
1985 Item::DrownedSpawnEgg => EntityKind::Drowned,
1986 Item::ElderGuardianSpawnEgg => EntityKind::ElderGuardian,
1987 Item::EnderDragonSpawnEgg => EntityKind::EnderDragon,
1988 Item::EndermanSpawnEgg => EntityKind::Enderman,
1989 Item::EndermiteSpawnEgg => EntityKind::Endermite,
1990 Item::EvokerSpawnEgg => EntityKind::Evoker,
1991 Item::FoxSpawnEgg => EntityKind::Fox,
1992 Item::FrogSpawnEgg => EntityKind::Frog,
1993 Item::GhastSpawnEgg => EntityKind::Ghast,
1994 Item::GlowSquidSpawnEgg => EntityKind::GlowSquid,
1995 Item::GoatSpawnEgg => EntityKind::Goat,
1996 Item::GuardianSpawnEgg => EntityKind::Guardian,
1997 Item::HappyGhastSpawnEgg => EntityKind::HappyGhast,
1998 Item::HoglinSpawnEgg => EntityKind::Hoglin,
1999 Item::HorseSpawnEgg => EntityKind::Horse,
2000 Item::HuskSpawnEgg => EntityKind::Husk,
2001 Item::IronGolemSpawnEgg => EntityKind::IronGolem,
2002 Item::LlamaSpawnEgg => EntityKind::Llama,
2003 Item::MagmaCubeSpawnEgg => EntityKind::MagmaCube,
2004 Item::MooshroomSpawnEgg => EntityKind::Mooshroom,
2005 Item::MuleSpawnEgg => EntityKind::Mule,
2006 Item::OcelotSpawnEgg => EntityKind::Ocelot,
2007 Item::PandaSpawnEgg => EntityKind::Panda,
2008 Item::ParrotSpawnEgg => EntityKind::Parrot,
2009 Item::PhantomSpawnEgg => EntityKind::Phantom,
2010 Item::PigSpawnEgg => EntityKind::Pig,
2011 Item::PiglinBruteSpawnEgg => EntityKind::PiglinBrute,
2012 Item::PiglinSpawnEgg => EntityKind::Piglin,
2013 Item::PillagerSpawnEgg => EntityKind::Pillager,
2014 Item::PolarBearSpawnEgg => EntityKind::PolarBear,
2015 Item::PufferfishSpawnEgg => EntityKind::Pufferfish,
2016 Item::RabbitSpawnEgg => EntityKind::Rabbit,
2017 Item::RavagerSpawnEgg => EntityKind::Ravager,
2018 Item::SalmonSpawnEgg => EntityKind::Salmon,
2019 Item::SheepSpawnEgg => EntityKind::Sheep,
2020 Item::ShulkerSpawnEgg => EntityKind::Shulker,
2021 Item::SilverfishSpawnEgg => EntityKind::Silverfish,
2022 Item::SkeletonHorseSpawnEgg => EntityKind::SkeletonHorse,
2023 Item::SkeletonSpawnEgg => EntityKind::Skeleton,
2024 Item::SlimeSpawnEgg => EntityKind::Slime,
2025 Item::SnifferSpawnEgg => EntityKind::Sniffer,
2026 Item::SnowGolemSpawnEgg => EntityKind::SnowGolem,
2027 Item::SpiderSpawnEgg => EntityKind::Spider,
2028 Item::SquidSpawnEgg => EntityKind::Squid,
2029 Item::StraySpawnEgg => EntityKind::Stray,
2030 Item::StriderSpawnEgg => EntityKind::Strider,
2031 Item::TadpoleSpawnEgg => EntityKind::Tadpole,
2032 Item::TraderLlamaSpawnEgg => EntityKind::TraderLlama,
2033 Item::TropicalFishSpawnEgg => EntityKind::TropicalFish,
2034 Item::TurtleSpawnEgg => EntityKind::Turtle,
2035 Item::VexSpawnEgg => EntityKind::Vex,
2036 Item::VillagerSpawnEgg => EntityKind::Villager,
2037 Item::VindicatorSpawnEgg => EntityKind::Vindicator,
2038 Item::WanderingTraderSpawnEgg => EntityKind::WanderingTrader,
2039 Item::WardenSpawnEgg => EntityKind::Warden,
2040 Item::WitchSpawnEgg => EntityKind::Witch,
2041 Item::WitherSkeletonSpawnEgg => EntityKind::WitherSkeleton,
2042 Item::WitherSpawnEgg => EntityKind::Wither,
2043 Item::WolfSpawnEgg => EntityKind::Wolf,
2044 Item::ZoglinSpawnEgg => EntityKind::Zoglin,
2045 Item::ZombieHorseSpawnEgg => EntityKind::ZombieHorse,
2046 Item::ZombieSpawnEgg => EntityKind::Zombie,
2047 Item::ZombieVillagerSpawnEgg => EntityKind::ZombieVillager,
2048 Item::ZombifiedPiglinSpawnEgg => EntityKind::ZombifiedPiglin,
2049 _ => return None,
2050 };
2051 Some(EntityData {
2052 kind: value,
2053 data: NbtCompound::new(),
2054 })
2055 }
2056}
2057impl DefaultableComponent for ProvidesTrimMaterial {
2058 fn default_for_item(item: Item) -> Option<Self> {
2059 let value = match item {
2060 Item::AmethystShard => ProvidesTrimMaterial::Referenced("minecraft:amethyst".into()),
2061 Item::CopperIngot => ProvidesTrimMaterial::Referenced("minecraft:copper".into()),
2062 Item::Diamond => ProvidesTrimMaterial::Referenced("minecraft:diamond".into()),
2063 Item::Emerald => ProvidesTrimMaterial::Referenced("minecraft:emerald".into()),
2064 Item::GoldIngot => ProvidesTrimMaterial::Referenced("minecraft:gold".into()),
2065 Item::IronIngot => ProvidesTrimMaterial::Referenced("minecraft:iron".into()),
2066 Item::LapisLazuli => ProvidesTrimMaterial::Referenced("minecraft:lapis".into()),
2067 Item::NetheriteIngot => ProvidesTrimMaterial::Referenced("minecraft:netherite".into()),
2068 Item::Quartz => ProvidesTrimMaterial::Referenced("minecraft:quartz".into()),
2069 Item::Redstone => ProvidesTrimMaterial::Referenced("minecraft:redstone".into()),
2070 Item::ResinBrick => ProvidesTrimMaterial::Referenced("minecraft:resin".into()),
2071 _ => return None,
2072 };
2073 Some(value)
2074 }
2075}
2076impl DefaultableComponent for DamageResistant {
2077 fn default_for_item(item: Item) -> Option<Self> {
2078 let value = match item {
2079 Item::AncientDebris => "#minecraft:is_fire".into(),
2080 Item::NetherStar => "#minecraft:is_explosion".into(),
2081 Item::NetheriteAxe => "#minecraft:is_fire".into(),
2082 Item::NetheriteBlock => "#minecraft:is_fire".into(),
2083 Item::NetheriteBoots => "#minecraft:is_fire".into(),
2084 Item::NetheriteChestplate => "#minecraft:is_fire".into(),
2085 Item::NetheriteHelmet => "#minecraft:is_fire".into(),
2086 Item::NetheriteHoe => "#minecraft:is_fire".into(),
2087 Item::NetheriteIngot => "#minecraft:is_fire".into(),
2088 Item::NetheriteLeggings => "#minecraft:is_fire".into(),
2089 Item::NetheritePickaxe => "#minecraft:is_fire".into(),
2090 Item::NetheriteScrap => "#minecraft:is_fire".into(),
2091 Item::NetheriteShovel => "#minecraft:is_fire".into(),
2092 Item::NetheriteSword => "#minecraft:is_fire".into(),
2093 _ => return None,
2094 };
2095 Some(DamageResistant { types: value })
2096 }
2097}
2098impl DefaultableComponent for Consumable {
2099 fn default_for_item(item: Item) -> Option<Self> {
2100 let value = match item {
2101 Item::Apple => Consumable::new(),
2102 Item::BakedPotato => Consumable::new(),
2103 Item::Beef => Consumable::new(),
2104 Item::Beetroot => Consumable::new(),
2105 Item::BeetrootSoup => Consumable::new(),
2106 Item::Bread => Consumable::new(),
2107 Item::Carrot => Consumable::new(),
2108 Item::Chicken => Consumable {
2109 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2110 effects: vec![MobEffectInstance {
2111 id: MobEffect::Hunger,
2112 details: MobEffectDetails {
2113 duration: 600,
2114 show_icon: true,
2115 ..MobEffectDetails::new()
2116 },
2117 }],
2118 probability: 0.3,
2119 }],
2120 ..Consumable::new()
2121 },
2122 Item::ChorusFruit => Consumable {
2123 on_consume_effects: vec![ConsumeEffect::TeleportRandomly { diameter: 16.0 }],
2124 ..Consumable::new()
2125 },
2126 Item::Cod => Consumable::new(),
2127 Item::CookedBeef => Consumable::new(),
2128 Item::CookedChicken => Consumable::new(),
2129 Item::CookedCod => Consumable::new(),
2130 Item::CookedMutton => Consumable::new(),
2131 Item::CookedPorkchop => Consumable::new(),
2132 Item::CookedRabbit => Consumable::new(),
2133 Item::CookedSalmon => Consumable::new(),
2134 Item::Cookie => Consumable::new(),
2135 Item::DriedKelp => Consumable {
2136 consume_seconds: 0.8,
2137 ..Consumable::new()
2138 },
2139 Item::EnchantedGoldenApple => Consumable {
2140 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2141 effects: vec![
2142 MobEffectInstance {
2143 id: MobEffect::Regeneration,
2144 details: MobEffectDetails {
2145 amplifier: 1,
2146 duration: 400,
2147 show_icon: true,
2148 ..MobEffectDetails::new()
2149 },
2150 },
2151 MobEffectInstance {
2152 id: MobEffect::Resistance,
2153 details: MobEffectDetails {
2154 duration: 6000,
2155 show_icon: true,
2156 ..MobEffectDetails::new()
2157 },
2158 },
2159 MobEffectInstance {
2160 id: MobEffect::FireResistance,
2161 details: MobEffectDetails {
2162 duration: 6000,
2163 show_icon: true,
2164 ..MobEffectDetails::new()
2165 },
2166 },
2167 MobEffectInstance {
2168 id: MobEffect::Absorption,
2169 details: MobEffectDetails {
2170 amplifier: 3,
2171 duration: 2400,
2172 show_icon: true,
2173 ..MobEffectDetails::new()
2174 },
2175 },
2176 ],
2177 probability: 1.0,
2178 }],
2179 ..Consumable::new()
2180 },
2181 Item::GlowBerries => Consumable::new(),
2182 Item::GoldenApple => Consumable {
2183 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2184 effects: vec![
2185 MobEffectInstance {
2186 id: MobEffect::Regeneration,
2187 details: MobEffectDetails {
2188 amplifier: 1,
2189 duration: 100,
2190 show_icon: true,
2191 ..MobEffectDetails::new()
2192 },
2193 },
2194 MobEffectInstance {
2195 id: MobEffect::Absorption,
2196 details: MobEffectDetails {
2197 duration: 2400,
2198 show_icon: true,
2199 ..MobEffectDetails::new()
2200 },
2201 },
2202 ],
2203 probability: 1.0,
2204 }],
2205 ..Consumable::new()
2206 },
2207 Item::GoldenCarrot => Consumable::new(),
2208 Item::HoneyBottle => Consumable {
2209 animation: ItemUseAnimation::Drink,
2210 consume_seconds: 2.0,
2211 has_consume_particles: false,
2212 on_consume_effects: vec![ConsumeEffect::RemoveEffects {
2213 effects: HolderSet::Direct {
2214 contents: vec![MobEffect::Poison],
2215 },
2216 }],
2217 sound: azalea_registry::Holder::Reference(SoundEvent::ItemHoneyBottleDrink),
2218 },
2219 Item::MelonSlice => Consumable::new(),
2220 Item::MilkBucket => Consumable {
2221 animation: ItemUseAnimation::Drink,
2222 has_consume_particles: false,
2223 on_consume_effects: vec![ConsumeEffect::ClearAllEffects {}],
2224 sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2225 ..Consumable::new()
2226 },
2227 Item::MushroomStew => Consumable::new(),
2228 Item::Mutton => Consumable::new(),
2229 Item::OminousBottle => Consumable {
2230 animation: ItemUseAnimation::Drink,
2231 has_consume_particles: false,
2232 on_consume_effects: vec![ConsumeEffect::PlaySound {
2233 sound: SoundEvent::ItemOminousBottleDispose,
2234 }],
2235 sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2236 ..Consumable::new()
2237 },
2238 Item::PoisonousPotato => Consumable {
2239 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2240 effects: vec![MobEffectInstance {
2241 id: MobEffect::Poison,
2242 details: MobEffectDetails {
2243 duration: 100,
2244 show_icon: true,
2245 ..MobEffectDetails::new()
2246 },
2247 }],
2248 probability: 0.6,
2249 }],
2250 ..Consumable::new()
2251 },
2252 Item::Porkchop => Consumable::new(),
2253 Item::Potato => Consumable::new(),
2254 Item::Potion => Consumable {
2255 animation: ItemUseAnimation::Drink,
2256 has_consume_particles: false,
2257 sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
2258 ..Consumable::new()
2259 },
2260 Item::Pufferfish => Consumable {
2261 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2262 effects: vec![
2263 MobEffectInstance {
2264 id: MobEffect::Poison,
2265 details: MobEffectDetails {
2266 amplifier: 1,
2267 duration: 1200,
2268 show_icon: true,
2269 ..MobEffectDetails::new()
2270 },
2271 },
2272 MobEffectInstance {
2273 id: MobEffect::Hunger,
2274 details: MobEffectDetails {
2275 amplifier: 2,
2276 duration: 300,
2277 show_icon: true,
2278 ..MobEffectDetails::new()
2279 },
2280 },
2281 MobEffectInstance {
2282 id: MobEffect::Nausea,
2283 details: MobEffectDetails {
2284 duration: 300,
2285 show_icon: true,
2286 ..MobEffectDetails::new()
2287 },
2288 },
2289 ],
2290 probability: 1.0,
2291 }],
2292 ..Consumable::new()
2293 },
2294 Item::PumpkinPie => Consumable::new(),
2295 Item::Rabbit => Consumable::new(),
2296 Item::RabbitStew => Consumable::new(),
2297 Item::RottenFlesh => Consumable {
2298 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2299 effects: vec![MobEffectInstance {
2300 id: MobEffect::Hunger,
2301 details: MobEffectDetails {
2302 duration: 600,
2303 show_icon: true,
2304 ..MobEffectDetails::new()
2305 },
2306 }],
2307 probability: 0.8,
2308 }],
2309 ..Consumable::new()
2310 },
2311 Item::Salmon => Consumable::new(),
2312 Item::SpiderEye => Consumable {
2313 on_consume_effects: vec![ConsumeEffect::ApplyEffects {
2314 effects: vec![MobEffectInstance {
2315 id: MobEffect::Poison,
2316 details: MobEffectDetails {
2317 duration: 100,
2318 show_icon: true,
2319 ..MobEffectDetails::new()
2320 },
2321 }],
2322 probability: 1.0,
2323 }],
2324 ..Consumable::new()
2325 },
2326 Item::SuspiciousStew => Consumable::new(),
2327 Item::SweetBerries => Consumable::new(),
2328 Item::TropicalFish => Consumable::new(),
2329 _ => return None,
2330 };
2331 Some(value)
2332 }
2333}
2334impl DefaultableComponent for Food {
2335 fn default_for_item(item: Item) -> Option<Self> {
2336 let value = match item {
2337 Item::Apple => Food {
2338 nutrition: 4,
2339 saturation: 2.4,
2340 ..Food::new()
2341 },
2342 Item::BakedPotato => Food {
2343 nutrition: 5,
2344 saturation: 6.0,
2345 ..Food::new()
2346 },
2347 Item::Beef => Food {
2348 nutrition: 3,
2349 saturation: 1.8000001,
2350 ..Food::new()
2351 },
2352 Item::Beetroot => Food {
2353 nutrition: 1,
2354 saturation: 1.2,
2355 ..Food::new()
2356 },
2357 Item::BeetrootSoup => Food {
2358 nutrition: 6,
2359 saturation: 7.2000003,
2360 ..Food::new()
2361 },
2362 Item::Bread => Food {
2363 nutrition: 5,
2364 saturation: 6.0,
2365 ..Food::new()
2366 },
2367 Item::Carrot => Food {
2368 nutrition: 3,
2369 saturation: 3.6000001,
2370 ..Food::new()
2371 },
2372 Item::Chicken => Food {
2373 nutrition: 2,
2374 saturation: 1.2,
2375 ..Food::new()
2376 },
2377 Item::ChorusFruit => Food {
2378 can_always_eat: true,
2379 nutrition: 4,
2380 saturation: 2.4,
2381 },
2382 Item::Cod => Food {
2383 nutrition: 2,
2384 saturation: 0.4,
2385 ..Food::new()
2386 },
2387 Item::CookedBeef => Food {
2388 nutrition: 8,
2389 saturation: 12.8,
2390 ..Food::new()
2391 },
2392 Item::CookedChicken => Food {
2393 nutrition: 6,
2394 saturation: 7.2000003,
2395 ..Food::new()
2396 },
2397 Item::CookedCod => Food {
2398 nutrition: 5,
2399 saturation: 6.0,
2400 ..Food::new()
2401 },
2402 Item::CookedMutton => Food {
2403 nutrition: 6,
2404 saturation: 9.6,
2405 ..Food::new()
2406 },
2407 Item::CookedPorkchop => Food {
2408 nutrition: 8,
2409 saturation: 12.8,
2410 ..Food::new()
2411 },
2412 Item::CookedRabbit => Food {
2413 nutrition: 5,
2414 saturation: 6.0,
2415 ..Food::new()
2416 },
2417 Item::CookedSalmon => Food {
2418 nutrition: 6,
2419 saturation: 9.6,
2420 ..Food::new()
2421 },
2422 Item::Cookie => Food {
2423 nutrition: 2,
2424 saturation: 0.4,
2425 ..Food::new()
2426 },
2427 Item::DriedKelp => Food {
2428 nutrition: 1,
2429 saturation: 0.6,
2430 ..Food::new()
2431 },
2432 Item::EnchantedGoldenApple => Food {
2433 can_always_eat: true,
2434 nutrition: 4,
2435 saturation: 9.6,
2436 },
2437 Item::GlowBerries => Food {
2438 nutrition: 2,
2439 saturation: 0.4,
2440 ..Food::new()
2441 },
2442 Item::GoldenApple => Food {
2443 can_always_eat: true,
2444 nutrition: 4,
2445 saturation: 9.6,
2446 },
2447 Item::GoldenCarrot => Food {
2448 nutrition: 6,
2449 saturation: 14.400001,
2450 ..Food::new()
2451 },
2452 Item::HoneyBottle => Food {
2453 can_always_eat: true,
2454 nutrition: 6,
2455 saturation: 1.2,
2456 },
2457 Item::MelonSlice => Food {
2458 nutrition: 2,
2459 saturation: 1.2,
2460 ..Food::new()
2461 },
2462 Item::MushroomStew => Food {
2463 nutrition: 6,
2464 saturation: 7.2000003,
2465 ..Food::new()
2466 },
2467 Item::Mutton => Food {
2468 nutrition: 2,
2469 saturation: 1.2,
2470 ..Food::new()
2471 },
2472 Item::PoisonousPotato => Food {
2473 nutrition: 2,
2474 saturation: 1.2,
2475 ..Food::new()
2476 },
2477 Item::Porkchop => Food {
2478 nutrition: 3,
2479 saturation: 1.8000001,
2480 ..Food::new()
2481 },
2482 Item::Potato => Food {
2483 nutrition: 1,
2484 saturation: 0.6,
2485 ..Food::new()
2486 },
2487 Item::Pufferfish => Food {
2488 nutrition: 1,
2489 saturation: 0.2,
2490 ..Food::new()
2491 },
2492 Item::PumpkinPie => Food {
2493 nutrition: 8,
2494 saturation: 4.8,
2495 ..Food::new()
2496 },
2497 Item::Rabbit => Food {
2498 nutrition: 3,
2499 saturation: 1.8000001,
2500 ..Food::new()
2501 },
2502 Item::RabbitStew => Food {
2503 nutrition: 10,
2504 saturation: 12.0,
2505 ..Food::new()
2506 },
2507 Item::RottenFlesh => Food {
2508 nutrition: 4,
2509 saturation: 0.8,
2510 ..Food::new()
2511 },
2512 Item::Salmon => Food {
2513 nutrition: 2,
2514 saturation: 0.4,
2515 ..Food::new()
2516 },
2517 Item::SpiderEye => Food {
2518 nutrition: 2,
2519 saturation: 3.2,
2520 ..Food::new()
2521 },
2522 Item::SuspiciousStew => Food {
2523 can_always_eat: true,
2524 nutrition: 6,
2525 saturation: 7.2000003,
2526 },
2527 Item::SweetBerries => Food {
2528 nutrition: 2,
2529 saturation: 0.4,
2530 ..Food::new()
2531 },
2532 Item::TropicalFish => Food {
2533 nutrition: 1,
2534 saturation: 0.2,
2535 ..Food::new()
2536 },
2537 _ => return None,
2538 };
2539 Some(value)
2540 }
2541}
2542impl DefaultableComponent for BucketEntityData {
2543 fn default_for_item(item: Item) -> Option<Self> {
2544 let value = match item {
2545 Item::AxolotlBucket => NbtCompound::from_values(vec![]),
2546 Item::CodBucket => NbtCompound::from_values(vec![]),
2547 Item::PufferfishBucket => NbtCompound::from_values(vec![]),
2548 Item::SalmonBucket => NbtCompound::from_values(vec![]),
2549 Item::TadpoleBucket => NbtCompound::from_values(vec![]),
2550 Item::TropicalFishBucket => NbtCompound::from_values(vec![]),
2551 _ => return None,
2552 };
2553 Some(BucketEntityData { entity: value })
2554 }
2555}
2556impl DefaultableComponent for Bees {
2557 fn default_for_item(item: Item) -> Option<Self> {
2558 let value = match item {
2559 Item::BeeNest => vec![],
2560 Item::Beehive => vec![],
2561 _ => return None,
2562 };
2563 Some(Bees { occupants: value })
2564 }
2565}
2566impl DefaultableComponent for BlockState {
2567 fn default_for_item(item: Item) -> Option<Self> {
2568 let value = match item {
2569 Item::BeeNest => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
2570 Item::Beehive => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
2571 Item::CopperGolemStatue => {
2572 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2573 }
2574 Item::ExposedCopperGolemStatue => {
2575 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2576 }
2577 Item::Light => HashMap::from_iter([("level".to_string(), "15".to_string())]),
2578 Item::OxidizedCopperGolemStatue => {
2579 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2580 }
2581 Item::TestBlock => HashMap::from_iter([("mode".to_string(), "start".to_string())]),
2582 Item::WaxedCopperGolemStatue => {
2583 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2584 }
2585 Item::WaxedExposedCopperGolemStatue => {
2586 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2587 }
2588 Item::WaxedOxidizedCopperGolemStatue => {
2589 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2590 }
2591 Item::WaxedWeatheredCopperGolemStatue => {
2592 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2593 }
2594 Item::WeatheredCopperGolemStatue => {
2595 HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
2596 }
2597 _ => return None,
2598 };
2599 Some(BlockState { properties: value })
2600 }
2601}
2602impl DefaultableComponent for UseRemainder {
2603 fn default_for_item(item: Item) -> Option<Self> {
2604 let value = match item {
2605 Item::BeetrootSoup => ItemStack::from(Item::Bowl),
2606 Item::HoneyBottle => ItemStack::from(Item::GlassBottle),
2607 Item::MilkBucket => ItemStack::from(Item::Bucket),
2608 Item::MushroomStew => ItemStack::from(Item::Bowl),
2609 Item::Potion => ItemStack::from(Item::GlassBottle),
2610 Item::RabbitStew => ItemStack::from(Item::Bowl),
2611 Item::SuspiciousStew => ItemStack::from(Item::Bowl),
2612 _ => return None,
2613 };
2614 Some(UseRemainder {
2615 convert_into: value,
2616 })
2617 }
2618}
2619impl DefaultableComponent for BannerPatterns {
2620 fn default_for_item(item: Item) -> Option<Self> {
2621 let value = match item {
2622 Item::BlackBanner => vec![],
2623 Item::BlueBanner => vec![],
2624 Item::BrownBanner => vec![],
2625 Item::CyanBanner => vec![],
2626 Item::GrayBanner => vec![],
2627 Item::GreenBanner => vec![],
2628 Item::LightBlueBanner => vec![],
2629 Item::LightGrayBanner => vec![],
2630 Item::LimeBanner => vec![],
2631 Item::MagentaBanner => vec![],
2632 Item::OrangeBanner => vec![],
2633 Item::PinkBanner => vec![],
2634 Item::PurpleBanner => vec![],
2635 Item::RedBanner => vec![],
2636 Item::Shield => vec![],
2637 Item::WhiteBanner => vec![],
2638 Item::YellowBanner => vec![],
2639 _ => return None,
2640 };
2641 Some(BannerPatterns { patterns: value })
2642 }
2643}
2644impl DefaultableComponent for BundleContents {
2645 fn default_for_item(item: Item) -> Option<Self> {
2646 let value = match item {
2647 Item::BlackBundle => vec![],
2648 Item::BlueBundle => vec![],
2649 Item::BrownBundle => vec![],
2650 Item::Bundle => vec![],
2651 Item::CyanBundle => vec![],
2652 Item::GrayBundle => vec![],
2653 Item::GreenBundle => vec![],
2654 Item::LightBlueBundle => vec![],
2655 Item::LightGrayBundle => vec![],
2656 Item::LimeBundle => vec![],
2657 Item::MagentaBundle => vec![],
2658 Item::OrangeBundle => vec![],
2659 Item::PinkBundle => vec![],
2660 Item::PurpleBundle => vec![],
2661 Item::RedBundle => vec![],
2662 Item::WhiteBundle => vec![],
2663 Item::YellowBundle => vec![],
2664 _ => return None,
2665 };
2666 Some(BundleContents { items: value })
2667 }
2668}
2669impl DefaultableComponent for Equippable {
2670 fn default_for_item(item: Item) -> Option<Self> {
2671 let value = match item {
2672 Item::BlackCarpet => Equippable {
2673 allowed_entities: Some(HolderSet::Direct {
2674 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2675 }),
2676 asset_id: Some("minecraft:black_carpet".into()),
2677 can_be_sheared: true,
2678 equip_sound: SoundEvent::EntityLlamaSwag,
2679 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2680 slot: EquipmentSlot::Body,
2681 ..Equippable::new()
2682 },
2683 Item::BlackHarness => Equippable {
2684 allowed_entities: Some(HolderSet::Direct {
2685 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2686 .clone()
2687 .into_iter()
2688 .collect(),
2689 }),
2690 asset_id: Some("minecraft:black_harness".into()),
2691 can_be_sheared: true,
2692 equip_on_interact: true,
2693 equip_sound: SoundEvent::EntityHappyGhastEquip,
2694 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2695 slot: EquipmentSlot::Body,
2696 ..Equippable::new()
2697 },
2698 Item::BlueCarpet => Equippable {
2699 allowed_entities: Some(HolderSet::Direct {
2700 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2701 }),
2702 asset_id: Some("minecraft:blue_carpet".into()),
2703 can_be_sheared: true,
2704 equip_sound: SoundEvent::EntityLlamaSwag,
2705 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2706 slot: EquipmentSlot::Body,
2707 ..Equippable::new()
2708 },
2709 Item::BlueHarness => Equippable {
2710 allowed_entities: Some(HolderSet::Direct {
2711 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2712 .clone()
2713 .into_iter()
2714 .collect(),
2715 }),
2716 asset_id: Some("minecraft:blue_harness".into()),
2717 can_be_sheared: true,
2718 equip_on_interact: true,
2719 equip_sound: SoundEvent::EntityHappyGhastEquip,
2720 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2721 slot: EquipmentSlot::Body,
2722 ..Equippable::new()
2723 },
2724 Item::BrownCarpet => Equippable {
2725 allowed_entities: Some(HolderSet::Direct {
2726 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2727 }),
2728 asset_id: Some("minecraft:brown_carpet".into()),
2729 can_be_sheared: true,
2730 equip_sound: SoundEvent::EntityLlamaSwag,
2731 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2732 slot: EquipmentSlot::Body,
2733 ..Equippable::new()
2734 },
2735 Item::BrownHarness => Equippable {
2736 allowed_entities: Some(HolderSet::Direct {
2737 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2738 .clone()
2739 .into_iter()
2740 .collect(),
2741 }),
2742 asset_id: Some("minecraft:brown_harness".into()),
2743 can_be_sheared: true,
2744 equip_on_interact: true,
2745 equip_sound: SoundEvent::EntityHappyGhastEquip,
2746 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2747 slot: EquipmentSlot::Body,
2748 ..Equippable::new()
2749 },
2750 Item::CarvedPumpkin => Equippable {
2751 camera_overlay: Some("minecraft:misc/pumpkinblur".into()),
2752 slot: EquipmentSlot::Head,
2753 swappable: false,
2754 ..Equippable::new()
2755 },
2756 Item::ChainmailBoots => Equippable {
2757 asset_id: Some("minecraft:chainmail".into()),
2758 equip_sound: SoundEvent::ItemArmorEquipChain,
2759 slot: EquipmentSlot::Feet,
2760 ..Equippable::new()
2761 },
2762 Item::ChainmailChestplate => Equippable {
2763 asset_id: Some("minecraft:chainmail".into()),
2764 equip_sound: SoundEvent::ItemArmorEquipChain,
2765 slot: EquipmentSlot::Chest,
2766 ..Equippable::new()
2767 },
2768 Item::ChainmailHelmet => Equippable {
2769 asset_id: Some("minecraft:chainmail".into()),
2770 equip_sound: SoundEvent::ItemArmorEquipChain,
2771 slot: EquipmentSlot::Head,
2772 ..Equippable::new()
2773 },
2774 Item::ChainmailLeggings => Equippable {
2775 asset_id: Some("minecraft:chainmail".into()),
2776 equip_sound: SoundEvent::ItemArmorEquipChain,
2777 slot: EquipmentSlot::Legs,
2778 ..Equippable::new()
2779 },
2780 Item::CopperBoots => Equippable {
2781 asset_id: Some("minecraft:copper".into()),
2782 equip_sound: SoundEvent::ItemArmorEquipCopper,
2783 slot: EquipmentSlot::Feet,
2784 ..Equippable::new()
2785 },
2786 Item::CopperChestplate => Equippable {
2787 asset_id: Some("minecraft:copper".into()),
2788 equip_sound: SoundEvent::ItemArmorEquipCopper,
2789 slot: EquipmentSlot::Chest,
2790 ..Equippable::new()
2791 },
2792 Item::CopperHelmet => Equippable {
2793 asset_id: Some("minecraft:copper".into()),
2794 equip_sound: SoundEvent::ItemArmorEquipCopper,
2795 slot: EquipmentSlot::Head,
2796 ..Equippable::new()
2797 },
2798 Item::CopperHorseArmor => Equippable {
2799 allowed_entities: Some(HolderSet::Direct {
2800 contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2801 .clone()
2802 .into_iter()
2803 .collect(),
2804 }),
2805 asset_id: Some("minecraft:copper".into()),
2806 can_be_sheared: true,
2807 damage_on_hurt: false,
2808 equip_sound: SoundEvent::EntityHorseArmor,
2809 shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2810 slot: EquipmentSlot::Body,
2811 ..Equippable::new()
2812 },
2813 Item::CopperLeggings => Equippable {
2814 asset_id: Some("minecraft:copper".into()),
2815 equip_sound: SoundEvent::ItemArmorEquipCopper,
2816 slot: EquipmentSlot::Legs,
2817 ..Equippable::new()
2818 },
2819 Item::CreeperHead => Equippable {
2820 slot: EquipmentSlot::Head,
2821 swappable: false,
2822 ..Equippable::new()
2823 },
2824 Item::CyanCarpet => Equippable {
2825 allowed_entities: Some(HolderSet::Direct {
2826 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2827 }),
2828 asset_id: Some("minecraft:cyan_carpet".into()),
2829 can_be_sheared: true,
2830 equip_sound: SoundEvent::EntityLlamaSwag,
2831 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2832 slot: EquipmentSlot::Body,
2833 ..Equippable::new()
2834 },
2835 Item::CyanHarness => Equippable {
2836 allowed_entities: Some(HolderSet::Direct {
2837 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2838 .clone()
2839 .into_iter()
2840 .collect(),
2841 }),
2842 asset_id: Some("minecraft:cyan_harness".into()),
2843 can_be_sheared: true,
2844 equip_on_interact: true,
2845 equip_sound: SoundEvent::EntityHappyGhastEquip,
2846 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2847 slot: EquipmentSlot::Body,
2848 ..Equippable::new()
2849 },
2850 Item::DiamondBoots => Equippable {
2851 asset_id: Some("minecraft:diamond".into()),
2852 equip_sound: SoundEvent::ItemArmorEquipDiamond,
2853 slot: EquipmentSlot::Feet,
2854 ..Equippable::new()
2855 },
2856 Item::DiamondChestplate => Equippable {
2857 asset_id: Some("minecraft:diamond".into()),
2858 equip_sound: SoundEvent::ItemArmorEquipDiamond,
2859 slot: EquipmentSlot::Chest,
2860 ..Equippable::new()
2861 },
2862 Item::DiamondHelmet => Equippable {
2863 asset_id: Some("minecraft:diamond".into()),
2864 equip_sound: SoundEvent::ItemArmorEquipDiamond,
2865 slot: EquipmentSlot::Head,
2866 ..Equippable::new()
2867 },
2868 Item::DiamondHorseArmor => Equippable {
2869 allowed_entities: Some(HolderSet::Direct {
2870 contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2871 .clone()
2872 .into_iter()
2873 .collect(),
2874 }),
2875 asset_id: Some("minecraft:diamond".into()),
2876 can_be_sheared: true,
2877 damage_on_hurt: false,
2878 equip_sound: SoundEvent::EntityHorseArmor,
2879 shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2880 slot: EquipmentSlot::Body,
2881 ..Equippable::new()
2882 },
2883 Item::DiamondLeggings => Equippable {
2884 asset_id: Some("minecraft:diamond".into()),
2885 equip_sound: SoundEvent::ItemArmorEquipDiamond,
2886 slot: EquipmentSlot::Legs,
2887 ..Equippable::new()
2888 },
2889 Item::DragonHead => Equippable {
2890 slot: EquipmentSlot::Head,
2891 swappable: false,
2892 ..Equippable::new()
2893 },
2894 Item::Elytra => Equippable {
2895 asset_id: Some("minecraft:elytra".into()),
2896 damage_on_hurt: false,
2897 equip_sound: SoundEvent::ItemArmorEquipElytra,
2898 slot: EquipmentSlot::Chest,
2899 ..Equippable::new()
2900 },
2901 Item::GoldenBoots => Equippable {
2902 asset_id: Some("minecraft:gold".into()),
2903 equip_sound: SoundEvent::ItemArmorEquipGold,
2904 slot: EquipmentSlot::Feet,
2905 ..Equippable::new()
2906 },
2907 Item::GoldenChestplate => Equippable {
2908 asset_id: Some("minecraft:gold".into()),
2909 equip_sound: SoundEvent::ItemArmorEquipGold,
2910 slot: EquipmentSlot::Chest,
2911 ..Equippable::new()
2912 },
2913 Item::GoldenHelmet => Equippable {
2914 asset_id: Some("minecraft:gold".into()),
2915 equip_sound: SoundEvent::ItemArmorEquipGold,
2916 slot: EquipmentSlot::Head,
2917 ..Equippable::new()
2918 },
2919 Item::GoldenHorseArmor => Equippable {
2920 allowed_entities: Some(HolderSet::Direct {
2921 contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
2922 .clone()
2923 .into_iter()
2924 .collect(),
2925 }),
2926 asset_id: Some("minecraft:gold".into()),
2927 can_be_sheared: true,
2928 damage_on_hurt: false,
2929 equip_sound: SoundEvent::EntityHorseArmor,
2930 shearing_sound: SoundEvent::ItemHorseArmorUnequip,
2931 slot: EquipmentSlot::Body,
2932 ..Equippable::new()
2933 },
2934 Item::GoldenLeggings => Equippable {
2935 asset_id: Some("minecraft:gold".into()),
2936 equip_sound: SoundEvent::ItemArmorEquipGold,
2937 slot: EquipmentSlot::Legs,
2938 ..Equippable::new()
2939 },
2940 Item::GrayCarpet => Equippable {
2941 allowed_entities: Some(HolderSet::Direct {
2942 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2943 }),
2944 asset_id: Some("minecraft:gray_carpet".into()),
2945 can_be_sheared: true,
2946 equip_sound: SoundEvent::EntityLlamaSwag,
2947 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2948 slot: EquipmentSlot::Body,
2949 ..Equippable::new()
2950 },
2951 Item::GrayHarness => Equippable {
2952 allowed_entities: Some(HolderSet::Direct {
2953 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2954 .clone()
2955 .into_iter()
2956 .collect(),
2957 }),
2958 asset_id: Some("minecraft:gray_harness".into()),
2959 can_be_sheared: true,
2960 equip_on_interact: true,
2961 equip_sound: SoundEvent::EntityHappyGhastEquip,
2962 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2963 slot: EquipmentSlot::Body,
2964 ..Equippable::new()
2965 },
2966 Item::GreenCarpet => Equippable {
2967 allowed_entities: Some(HolderSet::Direct {
2968 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
2969 }),
2970 asset_id: Some("minecraft:green_carpet".into()),
2971 can_be_sheared: true,
2972 equip_sound: SoundEvent::EntityLlamaSwag,
2973 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
2974 slot: EquipmentSlot::Body,
2975 ..Equippable::new()
2976 },
2977 Item::GreenHarness => Equippable {
2978 allowed_entities: Some(HolderSet::Direct {
2979 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
2980 .clone()
2981 .into_iter()
2982 .collect(),
2983 }),
2984 asset_id: Some("minecraft:green_harness".into()),
2985 can_be_sheared: true,
2986 equip_on_interact: true,
2987 equip_sound: SoundEvent::EntityHappyGhastEquip,
2988 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
2989 slot: EquipmentSlot::Body,
2990 ..Equippable::new()
2991 },
2992 Item::IronBoots => Equippable {
2993 asset_id: Some("minecraft:iron".into()),
2994 equip_sound: SoundEvent::ItemArmorEquipIron,
2995 slot: EquipmentSlot::Feet,
2996 ..Equippable::new()
2997 },
2998 Item::IronChestplate => Equippable {
2999 asset_id: Some("minecraft:iron".into()),
3000 equip_sound: SoundEvent::ItemArmorEquipIron,
3001 slot: EquipmentSlot::Chest,
3002 ..Equippable::new()
3003 },
3004 Item::IronHelmet => Equippable {
3005 asset_id: Some("minecraft:iron".into()),
3006 equip_sound: SoundEvent::ItemArmorEquipIron,
3007 slot: EquipmentSlot::Head,
3008 ..Equippable::new()
3009 },
3010 Item::IronHorseArmor => Equippable {
3011 allowed_entities: Some(HolderSet::Direct {
3012 contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3013 .clone()
3014 .into_iter()
3015 .collect(),
3016 }),
3017 asset_id: Some("minecraft:iron".into()),
3018 can_be_sheared: true,
3019 damage_on_hurt: false,
3020 equip_sound: SoundEvent::EntityHorseArmor,
3021 shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3022 slot: EquipmentSlot::Body,
3023 ..Equippable::new()
3024 },
3025 Item::IronLeggings => Equippable {
3026 asset_id: Some("minecraft:iron".into()),
3027 equip_sound: SoundEvent::ItemArmorEquipIron,
3028 slot: EquipmentSlot::Legs,
3029 ..Equippable::new()
3030 },
3031 Item::LeatherBoots => Equippable {
3032 asset_id: Some("minecraft:leather".into()),
3033 equip_sound: SoundEvent::ItemArmorEquipLeather,
3034 slot: EquipmentSlot::Feet,
3035 ..Equippable::new()
3036 },
3037 Item::LeatherChestplate => Equippable {
3038 asset_id: Some("minecraft:leather".into()),
3039 equip_sound: SoundEvent::ItemArmorEquipLeather,
3040 slot: EquipmentSlot::Chest,
3041 ..Equippable::new()
3042 },
3043 Item::LeatherHelmet => Equippable {
3044 asset_id: Some("minecraft:leather".into()),
3045 equip_sound: SoundEvent::ItemArmorEquipLeather,
3046 slot: EquipmentSlot::Head,
3047 ..Equippable::new()
3048 },
3049 Item::LeatherHorseArmor => Equippable {
3050 allowed_entities: Some(HolderSet::Direct {
3051 contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
3052 .clone()
3053 .into_iter()
3054 .collect(),
3055 }),
3056 asset_id: Some("minecraft:leather".into()),
3057 can_be_sheared: true,
3058 damage_on_hurt: false,
3059 equip_sound: SoundEvent::EntityHorseArmor,
3060 shearing_sound: SoundEvent::ItemHorseArmorUnequip,
3061 slot: EquipmentSlot::Body,
3062 ..Equippable::new()
3063 },
3064 Item::LeatherLeggings => Equippable {
3065 asset_id: Some("minecraft:leather".into()),
3066 equip_sound: SoundEvent::ItemArmorEquipLeather,
3067 slot: EquipmentSlot::Legs,
3068 ..Equippable::new()
3069 },
3070 Item::LightBlueCarpet => Equippable {
3071 allowed_entities: Some(HolderSet::Direct {
3072 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3073 }),
3074 asset_id: Some("minecraft:light_blue_carpet".into()),
3075 can_be_sheared: true,
3076 equip_sound: SoundEvent::EntityLlamaSwag,
3077 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3078 slot: EquipmentSlot::Body,
3079 ..Equippable::new()
3080 },
3081 Item::LightBlueHarness => Equippable {
3082 allowed_entities: Some(HolderSet::Direct {
3083 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3084 .clone()
3085 .into_iter()
3086 .collect(),
3087 }),
3088 asset_id: Some("minecraft:light_blue_harness".into()),
3089 can_be_sheared: true,
3090 equip_on_interact: true,
3091 equip_sound: SoundEvent::EntityHappyGhastEquip,
3092 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3093 slot: EquipmentSlot::Body,
3094 ..Equippable::new()
3095 },
3096 Item::LightGrayCarpet => Equippable {
3097 allowed_entities: Some(HolderSet::Direct {
3098 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3099 }),
3100 asset_id: Some("minecraft:light_gray_carpet".into()),
3101 can_be_sheared: true,
3102 equip_sound: SoundEvent::EntityLlamaSwag,
3103 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3104 slot: EquipmentSlot::Body,
3105 ..Equippable::new()
3106 },
3107 Item::LightGrayHarness => Equippable {
3108 allowed_entities: Some(HolderSet::Direct {
3109 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3110 .clone()
3111 .into_iter()
3112 .collect(),
3113 }),
3114 asset_id: Some("minecraft:light_gray_harness".into()),
3115 can_be_sheared: true,
3116 equip_on_interact: true,
3117 equip_sound: SoundEvent::EntityHappyGhastEquip,
3118 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3119 slot: EquipmentSlot::Body,
3120 ..Equippable::new()
3121 },
3122 Item::LimeCarpet => Equippable {
3123 allowed_entities: Some(HolderSet::Direct {
3124 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3125 }),
3126 asset_id: Some("minecraft:lime_carpet".into()),
3127 can_be_sheared: true,
3128 equip_sound: SoundEvent::EntityLlamaSwag,
3129 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3130 slot: EquipmentSlot::Body,
3131 ..Equippable::new()
3132 },
3133 Item::LimeHarness => Equippable {
3134 allowed_entities: Some(HolderSet::Direct {
3135 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3136 .clone()
3137 .into_iter()
3138 .collect(),
3139 }),
3140 asset_id: Some("minecraft:lime_harness".into()),
3141 can_be_sheared: true,
3142 equip_on_interact: true,
3143 equip_sound: SoundEvent::EntityHappyGhastEquip,
3144 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3145 slot: EquipmentSlot::Body,
3146 ..Equippable::new()
3147 },
3148 Item::MagentaCarpet => Equippable {
3149 allowed_entities: Some(HolderSet::Direct {
3150 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3151 }),
3152 asset_id: Some("minecraft:magenta_carpet".into()),
3153 can_be_sheared: true,
3154 equip_sound: SoundEvent::EntityLlamaSwag,
3155 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3156 slot: EquipmentSlot::Body,
3157 ..Equippable::new()
3158 },
3159 Item::MagentaHarness => Equippable {
3160 allowed_entities: Some(HolderSet::Direct {
3161 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3162 .clone()
3163 .into_iter()
3164 .collect(),
3165 }),
3166 asset_id: Some("minecraft:magenta_harness".into()),
3167 can_be_sheared: true,
3168 equip_on_interact: true,
3169 equip_sound: SoundEvent::EntityHappyGhastEquip,
3170 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3171 slot: EquipmentSlot::Body,
3172 ..Equippable::new()
3173 },
3174 Item::NetheriteBoots => Equippable {
3175 asset_id: Some("minecraft:netherite".into()),
3176 equip_sound: SoundEvent::ItemArmorEquipNetherite,
3177 slot: EquipmentSlot::Feet,
3178 ..Equippable::new()
3179 },
3180 Item::NetheriteChestplate => Equippable {
3181 asset_id: Some("minecraft:netherite".into()),
3182 equip_sound: SoundEvent::ItemArmorEquipNetherite,
3183 slot: EquipmentSlot::Chest,
3184 ..Equippable::new()
3185 },
3186 Item::NetheriteHelmet => Equippable {
3187 asset_id: Some("minecraft:netherite".into()),
3188 equip_sound: SoundEvent::ItemArmorEquipNetherite,
3189 slot: EquipmentSlot::Head,
3190 ..Equippable::new()
3191 },
3192 Item::NetheriteLeggings => Equippable {
3193 asset_id: Some("minecraft:netherite".into()),
3194 equip_sound: SoundEvent::ItemArmorEquipNetherite,
3195 slot: EquipmentSlot::Legs,
3196 ..Equippable::new()
3197 },
3198 Item::OrangeCarpet => Equippable {
3199 allowed_entities: Some(HolderSet::Direct {
3200 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3201 }),
3202 asset_id: Some("minecraft:orange_carpet".into()),
3203 can_be_sheared: true,
3204 equip_sound: SoundEvent::EntityLlamaSwag,
3205 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3206 slot: EquipmentSlot::Body,
3207 ..Equippable::new()
3208 },
3209 Item::OrangeHarness => Equippable {
3210 allowed_entities: Some(HolderSet::Direct {
3211 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3212 .clone()
3213 .into_iter()
3214 .collect(),
3215 }),
3216 asset_id: Some("minecraft:orange_harness".into()),
3217 can_be_sheared: true,
3218 equip_on_interact: true,
3219 equip_sound: SoundEvent::EntityHappyGhastEquip,
3220 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3221 slot: EquipmentSlot::Body,
3222 ..Equippable::new()
3223 },
3224 Item::PiglinHead => Equippable {
3225 slot: EquipmentSlot::Head,
3226 swappable: false,
3227 ..Equippable::new()
3228 },
3229 Item::PinkCarpet => Equippable {
3230 allowed_entities: Some(HolderSet::Direct {
3231 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3232 }),
3233 asset_id: Some("minecraft:pink_carpet".into()),
3234 can_be_sheared: true,
3235 equip_sound: SoundEvent::EntityLlamaSwag,
3236 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3237 slot: EquipmentSlot::Body,
3238 ..Equippable::new()
3239 },
3240 Item::PinkHarness => Equippable {
3241 allowed_entities: Some(HolderSet::Direct {
3242 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3243 .clone()
3244 .into_iter()
3245 .collect(),
3246 }),
3247 asset_id: Some("minecraft:pink_harness".into()),
3248 can_be_sheared: true,
3249 equip_on_interact: true,
3250 equip_sound: SoundEvent::EntityHappyGhastEquip,
3251 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3252 slot: EquipmentSlot::Body,
3253 ..Equippable::new()
3254 },
3255 Item::PlayerHead => Equippable {
3256 slot: EquipmentSlot::Head,
3257 swappable: false,
3258 ..Equippable::new()
3259 },
3260 Item::PurpleCarpet => Equippable {
3261 allowed_entities: Some(HolderSet::Direct {
3262 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3263 }),
3264 asset_id: Some("minecraft:purple_carpet".into()),
3265 can_be_sheared: true,
3266 equip_sound: SoundEvent::EntityLlamaSwag,
3267 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3268 slot: EquipmentSlot::Body,
3269 ..Equippable::new()
3270 },
3271 Item::PurpleHarness => Equippable {
3272 allowed_entities: Some(HolderSet::Direct {
3273 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3274 .clone()
3275 .into_iter()
3276 .collect(),
3277 }),
3278 asset_id: Some("minecraft:purple_harness".into()),
3279 can_be_sheared: true,
3280 equip_on_interact: true,
3281 equip_sound: SoundEvent::EntityHappyGhastEquip,
3282 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3283 slot: EquipmentSlot::Body,
3284 ..Equippable::new()
3285 },
3286 Item::RedCarpet => Equippable {
3287 allowed_entities: Some(HolderSet::Direct {
3288 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3289 }),
3290 asset_id: Some("minecraft:red_carpet".into()),
3291 can_be_sheared: true,
3292 equip_sound: SoundEvent::EntityLlamaSwag,
3293 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3294 slot: EquipmentSlot::Body,
3295 ..Equippable::new()
3296 },
3297 Item::RedHarness => Equippable {
3298 allowed_entities: Some(HolderSet::Direct {
3299 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3300 .clone()
3301 .into_iter()
3302 .collect(),
3303 }),
3304 asset_id: Some("minecraft:red_harness".into()),
3305 can_be_sheared: true,
3306 equip_on_interact: true,
3307 equip_sound: SoundEvent::EntityHappyGhastEquip,
3308 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3309 slot: EquipmentSlot::Body,
3310 ..Equippable::new()
3311 },
3312 Item::Saddle => Equippable {
3313 allowed_entities: Some(HolderSet::Direct {
3314 contents: azalea_registry::tags::entities::CAN_EQUIP_SADDLE
3315 .clone()
3316 .into_iter()
3317 .collect(),
3318 }),
3319 asset_id: Some("minecraft:saddle".into()),
3320 can_be_sheared: true,
3321 equip_on_interact: true,
3322 equip_sound: SoundEvent::EntityHorseSaddle,
3323 shearing_sound: SoundEvent::ItemSaddleUnequip,
3324 slot: EquipmentSlot::Saddle,
3325 ..Equippable::new()
3326 },
3327 Item::Shield => Equippable {
3328 slot: EquipmentSlot::Offhand,
3329 swappable: false,
3330 ..Equippable::new()
3331 },
3332 Item::SkeletonSkull => Equippable {
3333 slot: EquipmentSlot::Head,
3334 swappable: false,
3335 ..Equippable::new()
3336 },
3337 Item::TurtleHelmet => Equippable {
3338 asset_id: Some("minecraft:turtle_scute".into()),
3339 equip_sound: SoundEvent::ItemArmorEquipTurtle,
3340 slot: EquipmentSlot::Head,
3341 ..Equippable::new()
3342 },
3343 Item::WhiteCarpet => Equippable {
3344 allowed_entities: Some(HolderSet::Direct {
3345 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3346 }),
3347 asset_id: Some("minecraft:white_carpet".into()),
3348 can_be_sheared: true,
3349 equip_sound: SoundEvent::EntityLlamaSwag,
3350 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3351 slot: EquipmentSlot::Body,
3352 ..Equippable::new()
3353 },
3354 Item::WhiteHarness => Equippable {
3355 allowed_entities: Some(HolderSet::Direct {
3356 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3357 .clone()
3358 .into_iter()
3359 .collect(),
3360 }),
3361 asset_id: Some("minecraft:white_harness".into()),
3362 can_be_sheared: true,
3363 equip_on_interact: true,
3364 equip_sound: SoundEvent::EntityHappyGhastEquip,
3365 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3366 slot: EquipmentSlot::Body,
3367 ..Equippable::new()
3368 },
3369 Item::WitherSkeletonSkull => Equippable {
3370 slot: EquipmentSlot::Head,
3371 swappable: false,
3372 ..Equippable::new()
3373 },
3374 Item::WolfArmor => Equippable {
3375 allowed_entities: Some(HolderSet::Direct {
3376 contents: vec![EntityKind::Wolf],
3377 }),
3378 asset_id: Some("minecraft:armadillo_scute".into()),
3379 can_be_sheared: true,
3380 equip_sound: SoundEvent::ItemArmorEquipWolf,
3381 shearing_sound: SoundEvent::ItemArmorUnequipWolf,
3382 slot: EquipmentSlot::Body,
3383 ..Equippable::new()
3384 },
3385 Item::YellowCarpet => Equippable {
3386 allowed_entities: Some(HolderSet::Direct {
3387 contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
3388 }),
3389 asset_id: Some("minecraft:yellow_carpet".into()),
3390 can_be_sheared: true,
3391 equip_sound: SoundEvent::EntityLlamaSwag,
3392 shearing_sound: SoundEvent::ItemLlamaCarpetUnequip,
3393 slot: EquipmentSlot::Body,
3394 ..Equippable::new()
3395 },
3396 Item::YellowHarness => Equippable {
3397 allowed_entities: Some(HolderSet::Direct {
3398 contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
3399 .clone()
3400 .into_iter()
3401 .collect(),
3402 }),
3403 asset_id: Some("minecraft:yellow_harness".into()),
3404 can_be_sheared: true,
3405 equip_on_interact: true,
3406 equip_sound: SoundEvent::EntityHappyGhastEquip,
3407 shearing_sound: SoundEvent::EntityHappyGhastUnequip,
3408 slot: EquipmentSlot::Body,
3409 ..Equippable::new()
3410 },
3411 Item::ZombieHead => Equippable {
3412 slot: EquipmentSlot::Head,
3413 swappable: false,
3414 ..Equippable::new()
3415 },
3416 _ => return None,
3417 };
3418 Some(value)
3419 }
3420}
3421impl DefaultableComponent for ChickenVariant {
3422 fn default_for_item(item: Item) -> Option<Self> {
3423 let value = match item {
3424 Item::BlueEgg => ChickenVariant::Referenced("minecraft:cold".into()),
3425 Item::BrownEgg => ChickenVariant::Referenced("minecraft:warm".into()),
3426 Item::Egg => ChickenVariant::Referenced("minecraft:temperate".into()),
3427 _ => return None,
3428 };
3429 Some(value)
3430 }
3431}
3432impl DefaultableComponent for Enchantable {
3433 fn default_for_item(item: Item) -> Option<Self> {
3434 let value = match item {
3435 Item::Book => 1,
3436 Item::Bow => 1,
3437 Item::ChainmailBoots => 12,
3438 Item::ChainmailChestplate => 12,
3439 Item::ChainmailHelmet => 12,
3440 Item::ChainmailLeggings => 12,
3441 Item::CopperAxe => 13,
3442 Item::CopperBoots => 8,
3443 Item::CopperChestplate => 8,
3444 Item::CopperHelmet => 8,
3445 Item::CopperHoe => 13,
3446 Item::CopperLeggings => 8,
3447 Item::CopperPickaxe => 13,
3448 Item::CopperShovel => 13,
3449 Item::CopperSword => 13,
3450 Item::Crossbow => 1,
3451 Item::DiamondAxe => 10,
3452 Item::DiamondBoots => 10,
3453 Item::DiamondChestplate => 10,
3454 Item::DiamondHelmet => 10,
3455 Item::DiamondHoe => 10,
3456 Item::DiamondLeggings => 10,
3457 Item::DiamondPickaxe => 10,
3458 Item::DiamondShovel => 10,
3459 Item::DiamondSword => 10,
3460 Item::FishingRod => 1,
3461 Item::GoldenAxe => 22,
3462 Item::GoldenBoots => 25,
3463 Item::GoldenChestplate => 25,
3464 Item::GoldenHelmet => 25,
3465 Item::GoldenHoe => 22,
3466 Item::GoldenLeggings => 25,
3467 Item::GoldenPickaxe => 22,
3468 Item::GoldenShovel => 22,
3469 Item::GoldenSword => 22,
3470 Item::IronAxe => 14,
3471 Item::IronBoots => 9,
3472 Item::IronChestplate => 9,
3473 Item::IronHelmet => 9,
3474 Item::IronHoe => 14,
3475 Item::IronLeggings => 9,
3476 Item::IronPickaxe => 14,
3477 Item::IronShovel => 14,
3478 Item::IronSword => 14,
3479 Item::LeatherBoots => 15,
3480 Item::LeatherChestplate => 15,
3481 Item::LeatherHelmet => 15,
3482 Item::LeatherLeggings => 15,
3483 Item::Mace => 15,
3484 Item::NetheriteAxe => 15,
3485 Item::NetheriteBoots => 15,
3486 Item::NetheriteChestplate => 15,
3487 Item::NetheriteHelmet => 15,
3488 Item::NetheriteHoe => 15,
3489 Item::NetheriteLeggings => 15,
3490 Item::NetheritePickaxe => 15,
3491 Item::NetheriteShovel => 15,
3492 Item::NetheriteSword => 15,
3493 Item::StoneAxe => 5,
3494 Item::StoneHoe => 5,
3495 Item::StonePickaxe => 5,
3496 Item::StoneShovel => 5,
3497 Item::StoneSword => 5,
3498 Item::Trident => 1,
3499 Item::TurtleHelmet => 9,
3500 Item::WoodenAxe => 15,
3501 Item::WoodenHoe => 15,
3502 Item::WoodenPickaxe => 15,
3503 Item::WoodenShovel => 15,
3504 Item::WoodenSword => 15,
3505 _ => return None,
3506 };
3507 Some(Enchantable { value: value })
3508 }
3509}
3510impl DefaultableComponent for ProvidesBannerPatterns {
3511 fn default_for_item(item: Item) -> Option<Self> {
3512 let value = match item {
3513 Item::BordureIndentedBannerPattern => "#minecraft:pattern_item/bordure_indented".into(),
3514 Item::CreeperBannerPattern => "#minecraft:pattern_item/creeper".into(),
3515 Item::FieldMasonedBannerPattern => "#minecraft:pattern_item/field_masoned".into(),
3516 Item::FlowBannerPattern => "#minecraft:pattern_item/flow".into(),
3517 Item::FlowerBannerPattern => "#minecraft:pattern_item/flower".into(),
3518 Item::GlobeBannerPattern => "#minecraft:pattern_item/globe".into(),
3519 Item::GusterBannerPattern => "#minecraft:pattern_item/guster".into(),
3520 Item::MojangBannerPattern => "#minecraft:pattern_item/mojang".into(),
3521 Item::PiglinBannerPattern => "#minecraft:pattern_item/piglin".into(),
3522 Item::SkullBannerPattern => "#minecraft:pattern_item/skull".into(),
3523 _ => return None,
3524 };
3525 Some(ProvidesBannerPatterns { key: value })
3526 }
3527}
3528impl DefaultableComponent for Damage {
3529 fn default_for_item(item: Item) -> Option<Self> {
3530 let value = match item {
3531 Item::Bow => 0,
3532 Item::Brush => 0,
3533 Item::CarrotOnAStick => 0,
3534 Item::ChainmailBoots => 0,
3535 Item::ChainmailChestplate => 0,
3536 Item::ChainmailHelmet => 0,
3537 Item::ChainmailLeggings => 0,
3538 Item::CopperAxe => 0,
3539 Item::CopperBoots => 0,
3540 Item::CopperChestplate => 0,
3541 Item::CopperHelmet => 0,
3542 Item::CopperHoe => 0,
3543 Item::CopperLeggings => 0,
3544 Item::CopperPickaxe => 0,
3545 Item::CopperShovel => 0,
3546 Item::CopperSword => 0,
3547 Item::Crossbow => 0,
3548 Item::DiamondAxe => 0,
3549 Item::DiamondBoots => 0,
3550 Item::DiamondChestplate => 0,
3551 Item::DiamondHelmet => 0,
3552 Item::DiamondHoe => 0,
3553 Item::DiamondLeggings => 0,
3554 Item::DiamondPickaxe => 0,
3555 Item::DiamondShovel => 0,
3556 Item::DiamondSword => 0,
3557 Item::Elytra => 0,
3558 Item::FishingRod => 0,
3559 Item::FlintAndSteel => 0,
3560 Item::GoldenAxe => 0,
3561 Item::GoldenBoots => 0,
3562 Item::GoldenChestplate => 0,
3563 Item::GoldenHelmet => 0,
3564 Item::GoldenHoe => 0,
3565 Item::GoldenLeggings => 0,
3566 Item::GoldenPickaxe => 0,
3567 Item::GoldenShovel => 0,
3568 Item::GoldenSword => 0,
3569 Item::IronAxe => 0,
3570 Item::IronBoots => 0,
3571 Item::IronChestplate => 0,
3572 Item::IronHelmet => 0,
3573 Item::IronHoe => 0,
3574 Item::IronLeggings => 0,
3575 Item::IronPickaxe => 0,
3576 Item::IronShovel => 0,
3577 Item::IronSword => 0,
3578 Item::LeatherBoots => 0,
3579 Item::LeatherChestplate => 0,
3580 Item::LeatherHelmet => 0,
3581 Item::LeatherLeggings => 0,
3582 Item::Mace => 0,
3583 Item::NetheriteAxe => 0,
3584 Item::NetheriteBoots => 0,
3585 Item::NetheriteChestplate => 0,
3586 Item::NetheriteHelmet => 0,
3587 Item::NetheriteHoe => 0,
3588 Item::NetheriteLeggings => 0,
3589 Item::NetheritePickaxe => 0,
3590 Item::NetheriteShovel => 0,
3591 Item::NetheriteSword => 0,
3592 Item::Shears => 0,
3593 Item::Shield => 0,
3594 Item::StoneAxe => 0,
3595 Item::StoneHoe => 0,
3596 Item::StonePickaxe => 0,
3597 Item::StoneShovel => 0,
3598 Item::StoneSword => 0,
3599 Item::Trident => 0,
3600 Item::TurtleHelmet => 0,
3601 Item::WarpedFungusOnAStick => 0,
3602 Item::WolfArmor => 0,
3603 Item::WoodenAxe => 0,
3604 Item::WoodenHoe => 0,
3605 Item::WoodenPickaxe => 0,
3606 Item::WoodenShovel => 0,
3607 Item::WoodenSword => 0,
3608 _ => return None,
3609 };
3610 Some(Damage { amount: value })
3611 }
3612}
3613impl DefaultableComponent for MaxDamage {
3614 fn default_for_item(item: Item) -> Option<Self> {
3615 let value = match item {
3616 Item::Bow => 384,
3617 Item::Brush => 64,
3618 Item::CarrotOnAStick => 25,
3619 Item::ChainmailBoots => 195,
3620 Item::ChainmailChestplate => 240,
3621 Item::ChainmailHelmet => 165,
3622 Item::ChainmailLeggings => 225,
3623 Item::CopperAxe => 190,
3624 Item::CopperBoots => 143,
3625 Item::CopperChestplate => 176,
3626 Item::CopperHelmet => 121,
3627 Item::CopperHoe => 190,
3628 Item::CopperLeggings => 165,
3629 Item::CopperPickaxe => 190,
3630 Item::CopperShovel => 190,
3631 Item::CopperSword => 190,
3632 Item::Crossbow => 465,
3633 Item::DiamondAxe => 1561,
3634 Item::DiamondBoots => 429,
3635 Item::DiamondChestplate => 528,
3636 Item::DiamondHelmet => 363,
3637 Item::DiamondHoe => 1561,
3638 Item::DiamondLeggings => 495,
3639 Item::DiamondPickaxe => 1561,
3640 Item::DiamondShovel => 1561,
3641 Item::DiamondSword => 1561,
3642 Item::Elytra => 432,
3643 Item::FishingRod => 64,
3644 Item::FlintAndSteel => 64,
3645 Item::GoldenAxe => 32,
3646 Item::GoldenBoots => 91,
3647 Item::GoldenChestplate => 112,
3648 Item::GoldenHelmet => 77,
3649 Item::GoldenHoe => 32,
3650 Item::GoldenLeggings => 105,
3651 Item::GoldenPickaxe => 32,
3652 Item::GoldenShovel => 32,
3653 Item::GoldenSword => 32,
3654 Item::IronAxe => 250,
3655 Item::IronBoots => 195,
3656 Item::IronChestplate => 240,
3657 Item::IronHelmet => 165,
3658 Item::IronHoe => 250,
3659 Item::IronLeggings => 225,
3660 Item::IronPickaxe => 250,
3661 Item::IronShovel => 250,
3662 Item::IronSword => 250,
3663 Item::LeatherBoots => 65,
3664 Item::LeatherChestplate => 80,
3665 Item::LeatherHelmet => 55,
3666 Item::LeatherLeggings => 75,
3667 Item::Mace => 500,
3668 Item::NetheriteAxe => 2031,
3669 Item::NetheriteBoots => 481,
3670 Item::NetheriteChestplate => 592,
3671 Item::NetheriteHelmet => 407,
3672 Item::NetheriteHoe => 2031,
3673 Item::NetheriteLeggings => 555,
3674 Item::NetheritePickaxe => 2031,
3675 Item::NetheriteShovel => 2031,
3676 Item::NetheriteSword => 2031,
3677 Item::Shears => 238,
3678 Item::Shield => 336,
3679 Item::StoneAxe => 131,
3680 Item::StoneHoe => 131,
3681 Item::StonePickaxe => 131,
3682 Item::StoneShovel => 131,
3683 Item::StoneSword => 131,
3684 Item::Trident => 250,
3685 Item::TurtleHelmet => 275,
3686 Item::WarpedFungusOnAStick => 100,
3687 Item::WolfArmor => 64,
3688 Item::WoodenAxe => 59,
3689 Item::WoodenHoe => 59,
3690 Item::WoodenPickaxe => 59,
3691 Item::WoodenShovel => 59,
3692 Item::WoodenSword => 59,
3693 _ => return None,
3694 };
3695 Some(MaxDamage { amount: value })
3696 }
3697}
3698impl DefaultableComponent for Repairable {
3699 fn default_for_item(item: Item) -> Option<Self> {
3700 let value = match item {
3701 Item::ChainmailBoots => HolderSet::Direct {
3702 contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3703 .clone()
3704 .into_iter()
3705 .collect(),
3706 },
3707 Item::ChainmailChestplate => HolderSet::Direct {
3708 contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3709 .clone()
3710 .into_iter()
3711 .collect(),
3712 },
3713 Item::ChainmailHelmet => HolderSet::Direct {
3714 contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3715 .clone()
3716 .into_iter()
3717 .collect(),
3718 },
3719 Item::ChainmailLeggings => HolderSet::Direct {
3720 contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
3721 .clone()
3722 .into_iter()
3723 .collect(),
3724 },
3725 Item::CopperAxe => HolderSet::Direct {
3726 contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
3727 .clone()
3728 .into_iter()
3729 .collect(),
3730 },
3731 Item::CopperBoots => HolderSet::Direct {
3732 contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
3733 .clone()
3734 .into_iter()
3735 .collect(),
3736 },
3737 Item::CopperChestplate => HolderSet::Direct {
3738 contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
3739 .clone()
3740 .into_iter()
3741 .collect(),
3742 },
3743 Item::CopperHelmet => HolderSet::Direct {
3744 contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
3745 .clone()
3746 .into_iter()
3747 .collect(),
3748 },
3749 Item::CopperHoe => HolderSet::Direct {
3750 contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
3751 .clone()
3752 .into_iter()
3753 .collect(),
3754 },
3755 Item::CopperLeggings => HolderSet::Direct {
3756 contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
3757 .clone()
3758 .into_iter()
3759 .collect(),
3760 },
3761 Item::CopperPickaxe => HolderSet::Direct {
3762 contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
3763 .clone()
3764 .into_iter()
3765 .collect(),
3766 },
3767 Item::CopperShovel => HolderSet::Direct {
3768 contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
3769 .clone()
3770 .into_iter()
3771 .collect(),
3772 },
3773 Item::CopperSword => HolderSet::Direct {
3774 contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
3775 .clone()
3776 .into_iter()
3777 .collect(),
3778 },
3779 Item::DiamondAxe => HolderSet::Direct {
3780 contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3781 .clone()
3782 .into_iter()
3783 .collect(),
3784 },
3785 Item::DiamondBoots => HolderSet::Direct {
3786 contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3787 .clone()
3788 .into_iter()
3789 .collect(),
3790 },
3791 Item::DiamondChestplate => HolderSet::Direct {
3792 contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3793 .clone()
3794 .into_iter()
3795 .collect(),
3796 },
3797 Item::DiamondHelmet => HolderSet::Direct {
3798 contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3799 .clone()
3800 .into_iter()
3801 .collect(),
3802 },
3803 Item::DiamondHoe => HolderSet::Direct {
3804 contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3805 .clone()
3806 .into_iter()
3807 .collect(),
3808 },
3809 Item::DiamondLeggings => HolderSet::Direct {
3810 contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
3811 .clone()
3812 .into_iter()
3813 .collect(),
3814 },
3815 Item::DiamondPickaxe => HolderSet::Direct {
3816 contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3817 .clone()
3818 .into_iter()
3819 .collect(),
3820 },
3821 Item::DiamondShovel => HolderSet::Direct {
3822 contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3823 .clone()
3824 .into_iter()
3825 .collect(),
3826 },
3827 Item::DiamondSword => HolderSet::Direct {
3828 contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
3829 .clone()
3830 .into_iter()
3831 .collect(),
3832 },
3833 Item::Elytra => HolderSet::Direct {
3834 contents: vec![Item::PhantomMembrane],
3835 },
3836 Item::GoldenAxe => HolderSet::Direct {
3837 contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3838 .clone()
3839 .into_iter()
3840 .collect(),
3841 },
3842 Item::GoldenBoots => HolderSet::Direct {
3843 contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3844 .clone()
3845 .into_iter()
3846 .collect(),
3847 },
3848 Item::GoldenChestplate => HolderSet::Direct {
3849 contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3850 .clone()
3851 .into_iter()
3852 .collect(),
3853 },
3854 Item::GoldenHelmet => HolderSet::Direct {
3855 contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3856 .clone()
3857 .into_iter()
3858 .collect(),
3859 },
3860 Item::GoldenHoe => HolderSet::Direct {
3861 contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3862 .clone()
3863 .into_iter()
3864 .collect(),
3865 },
3866 Item::GoldenLeggings => HolderSet::Direct {
3867 contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
3868 .clone()
3869 .into_iter()
3870 .collect(),
3871 },
3872 Item::GoldenPickaxe => HolderSet::Direct {
3873 contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3874 .clone()
3875 .into_iter()
3876 .collect(),
3877 },
3878 Item::GoldenShovel => HolderSet::Direct {
3879 contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3880 .clone()
3881 .into_iter()
3882 .collect(),
3883 },
3884 Item::GoldenSword => HolderSet::Direct {
3885 contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
3886 .clone()
3887 .into_iter()
3888 .collect(),
3889 },
3890 Item::IronAxe => HolderSet::Direct {
3891 contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3892 .clone()
3893 .into_iter()
3894 .collect(),
3895 },
3896 Item::IronBoots => HolderSet::Direct {
3897 contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3898 .clone()
3899 .into_iter()
3900 .collect(),
3901 },
3902 Item::IronChestplate => HolderSet::Direct {
3903 contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3904 .clone()
3905 .into_iter()
3906 .collect(),
3907 },
3908 Item::IronHelmet => HolderSet::Direct {
3909 contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3910 .clone()
3911 .into_iter()
3912 .collect(),
3913 },
3914 Item::IronHoe => HolderSet::Direct {
3915 contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3916 .clone()
3917 .into_iter()
3918 .collect(),
3919 },
3920 Item::IronLeggings => HolderSet::Direct {
3921 contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
3922 .clone()
3923 .into_iter()
3924 .collect(),
3925 },
3926 Item::IronPickaxe => HolderSet::Direct {
3927 contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3928 .clone()
3929 .into_iter()
3930 .collect(),
3931 },
3932 Item::IronShovel => HolderSet::Direct {
3933 contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3934 .clone()
3935 .into_iter()
3936 .collect(),
3937 },
3938 Item::IronSword => HolderSet::Direct {
3939 contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
3940 .clone()
3941 .into_iter()
3942 .collect(),
3943 },
3944 Item::LeatherBoots => HolderSet::Direct {
3945 contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3946 .clone()
3947 .into_iter()
3948 .collect(),
3949 },
3950 Item::LeatherChestplate => HolderSet::Direct {
3951 contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3952 .clone()
3953 .into_iter()
3954 .collect(),
3955 },
3956 Item::LeatherHelmet => HolderSet::Direct {
3957 contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3958 .clone()
3959 .into_iter()
3960 .collect(),
3961 },
3962 Item::LeatherLeggings => HolderSet::Direct {
3963 contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
3964 .clone()
3965 .into_iter()
3966 .collect(),
3967 },
3968 Item::Mace => HolderSet::Direct {
3969 contents: vec![Item::BreezeRod],
3970 },
3971 Item::NetheriteAxe => HolderSet::Direct {
3972 contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3973 .clone()
3974 .into_iter()
3975 .collect(),
3976 },
3977 Item::NetheriteBoots => HolderSet::Direct {
3978 contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3979 .clone()
3980 .into_iter()
3981 .collect(),
3982 },
3983 Item::NetheriteChestplate => HolderSet::Direct {
3984 contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3985 .clone()
3986 .into_iter()
3987 .collect(),
3988 },
3989 Item::NetheriteHelmet => HolderSet::Direct {
3990 contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
3991 .clone()
3992 .into_iter()
3993 .collect(),
3994 },
3995 Item::NetheriteHoe => HolderSet::Direct {
3996 contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
3997 .clone()
3998 .into_iter()
3999 .collect(),
4000 },
4001 Item::NetheriteLeggings => HolderSet::Direct {
4002 contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
4003 .clone()
4004 .into_iter()
4005 .collect(),
4006 },
4007 Item::NetheritePickaxe => HolderSet::Direct {
4008 contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
4009 .clone()
4010 .into_iter()
4011 .collect(),
4012 },
4013 Item::NetheriteShovel => HolderSet::Direct {
4014 contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
4015 .clone()
4016 .into_iter()
4017 .collect(),
4018 },
4019 Item::NetheriteSword => HolderSet::Direct {
4020 contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
4021 .clone()
4022 .into_iter()
4023 .collect(),
4024 },
4025 Item::Shield => HolderSet::Direct {
4026 contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
4027 .clone()
4028 .into_iter()
4029 .collect(),
4030 },
4031 Item::StoneAxe => HolderSet::Direct {
4032 contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
4033 .clone()
4034 .into_iter()
4035 .collect(),
4036 },
4037 Item::StoneHoe => HolderSet::Direct {
4038 contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
4039 .clone()
4040 .into_iter()
4041 .collect(),
4042 },
4043 Item::StonePickaxe => HolderSet::Direct {
4044 contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
4045 .clone()
4046 .into_iter()
4047 .collect(),
4048 },
4049 Item::StoneShovel => HolderSet::Direct {
4050 contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
4051 .clone()
4052 .into_iter()
4053 .collect(),
4054 },
4055 Item::StoneSword => HolderSet::Direct {
4056 contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
4057 .clone()
4058 .into_iter()
4059 .collect(),
4060 },
4061 Item::TurtleHelmet => HolderSet::Direct {
4062 contents: azalea_registry::tags::items::REPAIRS_TURTLE_HELMET
4063 .clone()
4064 .into_iter()
4065 .collect(),
4066 },
4067 Item::WolfArmor => HolderSet::Direct {
4068 contents: azalea_registry::tags::items::REPAIRS_WOLF_ARMOR
4069 .clone()
4070 .into_iter()
4071 .collect(),
4072 },
4073 Item::WoodenAxe => HolderSet::Direct {
4074 contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
4075 .clone()
4076 .into_iter()
4077 .collect(),
4078 },
4079 Item::WoodenHoe => HolderSet::Direct {
4080 contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
4081 .clone()
4082 .into_iter()
4083 .collect(),
4084 },
4085 Item::WoodenPickaxe => HolderSet::Direct {
4086 contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
4087 .clone()
4088 .into_iter()
4089 .collect(),
4090 },
4091 Item::WoodenShovel => HolderSet::Direct {
4092 contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
4093 .clone()
4094 .into_iter()
4095 .collect(),
4096 },
4097 Item::WoodenSword => HolderSet::Direct {
4098 contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
4099 .clone()
4100 .into_iter()
4101 .collect(),
4102 },
4103 _ => return None,
4104 };
4105 Some(Repairable { items: value })
4106 }
4107}
4108impl DefaultableComponent for UseCooldown {
4109 fn default_for_item(item: Item) -> Option<Self> {
4110 let value = match item {
4111 Item::ChorusFruit => UseCooldown {
4112 seconds: 1.0,
4113 ..UseCooldown::new()
4114 },
4115 Item::EnderPearl => UseCooldown {
4116 seconds: 1.0,
4117 ..UseCooldown::new()
4118 },
4119 Item::WindCharge => UseCooldown {
4120 seconds: 0.5,
4121 ..UseCooldown::new()
4122 },
4123 _ => return None,
4124 };
4125 Some(value)
4126 }
4127}
4128impl DefaultableComponent for Tool {
4129 fn default_for_item(item: Item) -> Option<Self> {
4130 let value = match item {
4131 Item::CopperAxe => Tool {
4132 rules: vec![
4133 ToolRule {
4134 blocks: HolderSet::Direct {
4135 contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
4136 .clone()
4137 .into_iter()
4138 .collect(),
4139 },
4140 correct_for_drops: Some(false),
4141 ..ToolRule::new()
4142 },
4143 ToolRule {
4144 blocks: HolderSet::Direct {
4145 contents: azalea_registry::tags::blocks::MINEABLE_AXE
4146 .clone()
4147 .into_iter()
4148 .collect(),
4149 },
4150 correct_for_drops: Some(true),
4151 speed: Some(5.0),
4152 },
4153 ],
4154 ..Tool::new()
4155 },
4156 Item::CopperHoe => Tool {
4157 rules: vec![
4158 ToolRule {
4159 blocks: HolderSet::Direct {
4160 contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
4161 .clone()
4162 .into_iter()
4163 .collect(),
4164 },
4165 correct_for_drops: Some(false),
4166 ..ToolRule::new()
4167 },
4168 ToolRule {
4169 blocks: HolderSet::Direct {
4170 contents: azalea_registry::tags::blocks::MINEABLE_HOE
4171 .clone()
4172 .into_iter()
4173 .collect(),
4174 },
4175 correct_for_drops: Some(true),
4176 speed: Some(5.0),
4177 },
4178 ],
4179 ..Tool::new()
4180 },
4181 Item::CopperPickaxe => Tool {
4182 rules: vec![
4183 ToolRule {
4184 blocks: HolderSet::Direct {
4185 contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
4186 .clone()
4187 .into_iter()
4188 .collect(),
4189 },
4190 correct_for_drops: Some(false),
4191 ..ToolRule::new()
4192 },
4193 ToolRule {
4194 blocks: HolderSet::Direct {
4195 contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4196 .clone()
4197 .into_iter()
4198 .collect(),
4199 },
4200 correct_for_drops: Some(true),
4201 speed: Some(5.0),
4202 },
4203 ],
4204 ..Tool::new()
4205 },
4206 Item::CopperShovel => Tool {
4207 rules: vec![
4208 ToolRule {
4209 blocks: HolderSet::Direct {
4210 contents: azalea_registry::tags::blocks::INCORRECT_FOR_COPPER_TOOL
4211 .clone()
4212 .into_iter()
4213 .collect(),
4214 },
4215 correct_for_drops: Some(false),
4216 ..ToolRule::new()
4217 },
4218 ToolRule {
4219 blocks: HolderSet::Direct {
4220 contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4221 .clone()
4222 .into_iter()
4223 .collect(),
4224 },
4225 correct_for_drops: Some(true),
4226 speed: Some(5.0),
4227 },
4228 ],
4229 ..Tool::new()
4230 },
4231 Item::CopperSword => Tool {
4232 can_destroy_blocks_in_creative: false,
4233 damage_per_block: 2,
4234 rules: vec![
4235 ToolRule {
4236 blocks: HolderSet::Direct {
4237 contents: vec![Block::Cobweb],
4238 },
4239 correct_for_drops: Some(true),
4240 speed: Some(15.0),
4241 },
4242 ToolRule {
4243 blocks: HolderSet::Direct {
4244 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4245 .clone()
4246 .into_iter()
4247 .collect(),
4248 },
4249 speed: Some(3.4028235e+38),
4250 ..ToolRule::new()
4251 },
4252 ToolRule {
4253 blocks: HolderSet::Direct {
4254 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4255 .clone()
4256 .into_iter()
4257 .collect(),
4258 },
4259 speed: Some(1.5),
4260 ..ToolRule::new()
4261 },
4262 ],
4263 ..Tool::new()
4264 },
4265 Item::DiamondAxe => Tool {
4266 rules: vec![
4267 ToolRule {
4268 blocks: HolderSet::Direct {
4269 contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
4270 .clone()
4271 .into_iter()
4272 .collect(),
4273 },
4274 correct_for_drops: Some(false),
4275 ..ToolRule::new()
4276 },
4277 ToolRule {
4278 blocks: HolderSet::Direct {
4279 contents: azalea_registry::tags::blocks::MINEABLE_AXE
4280 .clone()
4281 .into_iter()
4282 .collect(),
4283 },
4284 correct_for_drops: Some(true),
4285 speed: Some(8.0),
4286 },
4287 ],
4288 ..Tool::new()
4289 },
4290 Item::DiamondHoe => Tool {
4291 rules: vec![
4292 ToolRule {
4293 blocks: HolderSet::Direct {
4294 contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
4295 .clone()
4296 .into_iter()
4297 .collect(),
4298 },
4299 correct_for_drops: Some(false),
4300 ..ToolRule::new()
4301 },
4302 ToolRule {
4303 blocks: HolderSet::Direct {
4304 contents: azalea_registry::tags::blocks::MINEABLE_HOE
4305 .clone()
4306 .into_iter()
4307 .collect(),
4308 },
4309 correct_for_drops: Some(true),
4310 speed: Some(8.0),
4311 },
4312 ],
4313 ..Tool::new()
4314 },
4315 Item::DiamondPickaxe => Tool {
4316 rules: vec![
4317 ToolRule {
4318 blocks: HolderSet::Direct {
4319 contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
4320 .clone()
4321 .into_iter()
4322 .collect(),
4323 },
4324 correct_for_drops: Some(false),
4325 ..ToolRule::new()
4326 },
4327 ToolRule {
4328 blocks: HolderSet::Direct {
4329 contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4330 .clone()
4331 .into_iter()
4332 .collect(),
4333 },
4334 correct_for_drops: Some(true),
4335 speed: Some(8.0),
4336 },
4337 ],
4338 ..Tool::new()
4339 },
4340 Item::DiamondShovel => Tool {
4341 rules: vec![
4342 ToolRule {
4343 blocks: HolderSet::Direct {
4344 contents: azalea_registry::tags::blocks::INCORRECT_FOR_DIAMOND_TOOL
4345 .clone()
4346 .into_iter()
4347 .collect(),
4348 },
4349 correct_for_drops: Some(false),
4350 ..ToolRule::new()
4351 },
4352 ToolRule {
4353 blocks: HolderSet::Direct {
4354 contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4355 .clone()
4356 .into_iter()
4357 .collect(),
4358 },
4359 correct_for_drops: Some(true),
4360 speed: Some(8.0),
4361 },
4362 ],
4363 ..Tool::new()
4364 },
4365 Item::DiamondSword => Tool {
4366 can_destroy_blocks_in_creative: false,
4367 damage_per_block: 2,
4368 rules: vec![
4369 ToolRule {
4370 blocks: HolderSet::Direct {
4371 contents: vec![Block::Cobweb],
4372 },
4373 correct_for_drops: Some(true),
4374 speed: Some(15.0),
4375 },
4376 ToolRule {
4377 blocks: HolderSet::Direct {
4378 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4379 .clone()
4380 .into_iter()
4381 .collect(),
4382 },
4383 speed: Some(3.4028235e+38),
4384 ..ToolRule::new()
4385 },
4386 ToolRule {
4387 blocks: HolderSet::Direct {
4388 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4389 .clone()
4390 .into_iter()
4391 .collect(),
4392 },
4393 speed: Some(1.5),
4394 ..ToolRule::new()
4395 },
4396 ],
4397 ..Tool::new()
4398 },
4399 Item::GoldenAxe => Tool {
4400 rules: vec![
4401 ToolRule {
4402 blocks: HolderSet::Direct {
4403 contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_TOOL
4404 .clone()
4405 .into_iter()
4406 .collect(),
4407 },
4408 correct_for_drops: Some(false),
4409 ..ToolRule::new()
4410 },
4411 ToolRule {
4412 blocks: HolderSet::Direct {
4413 contents: azalea_registry::tags::blocks::MINEABLE_AXE
4414 .clone()
4415 .into_iter()
4416 .collect(),
4417 },
4418 correct_for_drops: Some(true),
4419 speed: Some(12.0),
4420 },
4421 ],
4422 ..Tool::new()
4423 },
4424 Item::GoldenHoe => Tool {
4425 rules: vec![
4426 ToolRule {
4427 blocks: HolderSet::Direct {
4428 contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_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_HOE
4439 .clone()
4440 .into_iter()
4441 .collect(),
4442 },
4443 correct_for_drops: Some(true),
4444 speed: Some(12.0),
4445 },
4446 ],
4447 ..Tool::new()
4448 },
4449 Item::GoldenPickaxe => Tool {
4450 rules: vec![
4451 ToolRule {
4452 blocks: HolderSet::Direct {
4453 contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_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_PICKAXE
4464 .clone()
4465 .into_iter()
4466 .collect(),
4467 },
4468 correct_for_drops: Some(true),
4469 speed: Some(12.0),
4470 },
4471 ],
4472 ..Tool::new()
4473 },
4474 Item::GoldenShovel => Tool {
4475 rules: vec![
4476 ToolRule {
4477 blocks: HolderSet::Direct {
4478 contents: azalea_registry::tags::blocks::INCORRECT_FOR_GOLD_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_SHOVEL
4489 .clone()
4490 .into_iter()
4491 .collect(),
4492 },
4493 correct_for_drops: Some(true),
4494 speed: Some(12.0),
4495 },
4496 ],
4497 ..Tool::new()
4498 },
4499 Item::GoldenSword => Tool {
4500 can_destroy_blocks_in_creative: false,
4501 damage_per_block: 2,
4502 rules: vec![
4503 ToolRule {
4504 blocks: HolderSet::Direct {
4505 contents: vec![Block::Cobweb],
4506 },
4507 correct_for_drops: Some(true),
4508 speed: Some(15.0),
4509 },
4510 ToolRule {
4511 blocks: HolderSet::Direct {
4512 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4513 .clone()
4514 .into_iter()
4515 .collect(),
4516 },
4517 speed: Some(3.4028235e+38),
4518 ..ToolRule::new()
4519 },
4520 ToolRule {
4521 blocks: HolderSet::Direct {
4522 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4523 .clone()
4524 .into_iter()
4525 .collect(),
4526 },
4527 speed: Some(1.5),
4528 ..ToolRule::new()
4529 },
4530 ],
4531 ..Tool::new()
4532 },
4533 Item::IronAxe => Tool {
4534 rules: vec![
4535 ToolRule {
4536 blocks: HolderSet::Direct {
4537 contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4538 .clone()
4539 .into_iter()
4540 .collect(),
4541 },
4542 correct_for_drops: Some(false),
4543 ..ToolRule::new()
4544 },
4545 ToolRule {
4546 blocks: HolderSet::Direct {
4547 contents: azalea_registry::tags::blocks::MINEABLE_AXE
4548 .clone()
4549 .into_iter()
4550 .collect(),
4551 },
4552 correct_for_drops: Some(true),
4553 speed: Some(6.0),
4554 },
4555 ],
4556 ..Tool::new()
4557 },
4558 Item::IronHoe => Tool {
4559 rules: vec![
4560 ToolRule {
4561 blocks: HolderSet::Direct {
4562 contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4563 .clone()
4564 .into_iter()
4565 .collect(),
4566 },
4567 correct_for_drops: Some(false),
4568 ..ToolRule::new()
4569 },
4570 ToolRule {
4571 blocks: HolderSet::Direct {
4572 contents: azalea_registry::tags::blocks::MINEABLE_HOE
4573 .clone()
4574 .into_iter()
4575 .collect(),
4576 },
4577 correct_for_drops: Some(true),
4578 speed: Some(6.0),
4579 },
4580 ],
4581 ..Tool::new()
4582 },
4583 Item::IronPickaxe => Tool {
4584 rules: vec![
4585 ToolRule {
4586 blocks: HolderSet::Direct {
4587 contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4588 .clone()
4589 .into_iter()
4590 .collect(),
4591 },
4592 correct_for_drops: Some(false),
4593 ..ToolRule::new()
4594 },
4595 ToolRule {
4596 blocks: HolderSet::Direct {
4597 contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4598 .clone()
4599 .into_iter()
4600 .collect(),
4601 },
4602 correct_for_drops: Some(true),
4603 speed: Some(6.0),
4604 },
4605 ],
4606 ..Tool::new()
4607 },
4608 Item::IronShovel => Tool {
4609 rules: vec![
4610 ToolRule {
4611 blocks: HolderSet::Direct {
4612 contents: azalea_registry::tags::blocks::INCORRECT_FOR_IRON_TOOL
4613 .clone()
4614 .into_iter()
4615 .collect(),
4616 },
4617 correct_for_drops: Some(false),
4618 ..ToolRule::new()
4619 },
4620 ToolRule {
4621 blocks: HolderSet::Direct {
4622 contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4623 .clone()
4624 .into_iter()
4625 .collect(),
4626 },
4627 correct_for_drops: Some(true),
4628 speed: Some(6.0),
4629 },
4630 ],
4631 ..Tool::new()
4632 },
4633 Item::IronSword => Tool {
4634 can_destroy_blocks_in_creative: false,
4635 damage_per_block: 2,
4636 rules: vec![
4637 ToolRule {
4638 blocks: HolderSet::Direct {
4639 contents: vec![Block::Cobweb],
4640 },
4641 correct_for_drops: Some(true),
4642 speed: Some(15.0),
4643 },
4644 ToolRule {
4645 blocks: HolderSet::Direct {
4646 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4647 .clone()
4648 .into_iter()
4649 .collect(),
4650 },
4651 speed: Some(3.4028235e+38),
4652 ..ToolRule::new()
4653 },
4654 ToolRule {
4655 blocks: HolderSet::Direct {
4656 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4657 .clone()
4658 .into_iter()
4659 .collect(),
4660 },
4661 speed: Some(1.5),
4662 ..ToolRule::new()
4663 },
4664 ],
4665 ..Tool::new()
4666 },
4667 Item::Mace => Tool {
4668 can_destroy_blocks_in_creative: false,
4669 damage_per_block: 2,
4670 rules: vec![],
4671 ..Tool::new()
4672 },
4673 Item::NetheriteAxe => Tool {
4674 rules: vec![
4675 ToolRule {
4676 blocks: HolderSet::Direct {
4677 contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4678 .clone()
4679 .into_iter()
4680 .collect(),
4681 },
4682 correct_for_drops: Some(false),
4683 ..ToolRule::new()
4684 },
4685 ToolRule {
4686 blocks: HolderSet::Direct {
4687 contents: azalea_registry::tags::blocks::MINEABLE_AXE
4688 .clone()
4689 .into_iter()
4690 .collect(),
4691 },
4692 correct_for_drops: Some(true),
4693 speed: Some(9.0),
4694 },
4695 ],
4696 ..Tool::new()
4697 },
4698 Item::NetheriteHoe => Tool {
4699 rules: vec![
4700 ToolRule {
4701 blocks: HolderSet::Direct {
4702 contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4703 .clone()
4704 .into_iter()
4705 .collect(),
4706 },
4707 correct_for_drops: Some(false),
4708 ..ToolRule::new()
4709 },
4710 ToolRule {
4711 blocks: HolderSet::Direct {
4712 contents: azalea_registry::tags::blocks::MINEABLE_HOE
4713 .clone()
4714 .into_iter()
4715 .collect(),
4716 },
4717 correct_for_drops: Some(true),
4718 speed: Some(9.0),
4719 },
4720 ],
4721 ..Tool::new()
4722 },
4723 Item::NetheritePickaxe => Tool {
4724 rules: vec![
4725 ToolRule {
4726 blocks: HolderSet::Direct {
4727 contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4728 .clone()
4729 .into_iter()
4730 .collect(),
4731 },
4732 correct_for_drops: Some(false),
4733 ..ToolRule::new()
4734 },
4735 ToolRule {
4736 blocks: HolderSet::Direct {
4737 contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4738 .clone()
4739 .into_iter()
4740 .collect(),
4741 },
4742 correct_for_drops: Some(true),
4743 speed: Some(9.0),
4744 },
4745 ],
4746 ..Tool::new()
4747 },
4748 Item::NetheriteShovel => Tool {
4749 rules: vec![
4750 ToolRule {
4751 blocks: HolderSet::Direct {
4752 contents: azalea_registry::tags::blocks::INCORRECT_FOR_NETHERITE_TOOL
4753 .clone()
4754 .into_iter()
4755 .collect(),
4756 },
4757 correct_for_drops: Some(false),
4758 ..ToolRule::new()
4759 },
4760 ToolRule {
4761 blocks: HolderSet::Direct {
4762 contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4763 .clone()
4764 .into_iter()
4765 .collect(),
4766 },
4767 correct_for_drops: Some(true),
4768 speed: Some(9.0),
4769 },
4770 ],
4771 ..Tool::new()
4772 },
4773 Item::NetheriteSword => Tool {
4774 can_destroy_blocks_in_creative: false,
4775 damage_per_block: 2,
4776 rules: vec![
4777 ToolRule {
4778 blocks: HolderSet::Direct {
4779 contents: vec![Block::Cobweb],
4780 },
4781 correct_for_drops: Some(true),
4782 speed: Some(15.0),
4783 },
4784 ToolRule {
4785 blocks: HolderSet::Direct {
4786 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4787 .clone()
4788 .into_iter()
4789 .collect(),
4790 },
4791 speed: Some(3.4028235e+38),
4792 ..ToolRule::new()
4793 },
4794 ToolRule {
4795 blocks: HolderSet::Direct {
4796 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4797 .clone()
4798 .into_iter()
4799 .collect(),
4800 },
4801 speed: Some(1.5),
4802 ..ToolRule::new()
4803 },
4804 ],
4805 ..Tool::new()
4806 },
4807 Item::Shears => Tool {
4808 rules: vec![
4809 ToolRule {
4810 blocks: HolderSet::Direct {
4811 contents: vec![Block::Cobweb],
4812 },
4813 correct_for_drops: Some(true),
4814 speed: Some(15.0),
4815 },
4816 ToolRule {
4817 blocks: HolderSet::Direct {
4818 contents: azalea_registry::tags::blocks::LEAVES
4819 .clone()
4820 .into_iter()
4821 .collect(),
4822 },
4823 speed: Some(15.0),
4824 ..ToolRule::new()
4825 },
4826 ToolRule {
4827 blocks: HolderSet::Direct {
4828 contents: azalea_registry::tags::blocks::WOOL
4829 .clone()
4830 .into_iter()
4831 .collect(),
4832 },
4833 speed: Some(5.0),
4834 ..ToolRule::new()
4835 },
4836 ToolRule {
4837 blocks: HolderSet::Direct {
4838 contents: vec![Block::Vine, Block::GlowLichen],
4839 },
4840 speed: Some(2.0),
4841 ..ToolRule::new()
4842 },
4843 ],
4844 ..Tool::new()
4845 },
4846 Item::StoneAxe => Tool {
4847 rules: vec![
4848 ToolRule {
4849 blocks: HolderSet::Direct {
4850 contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4851 .clone()
4852 .into_iter()
4853 .collect(),
4854 },
4855 correct_for_drops: Some(false),
4856 ..ToolRule::new()
4857 },
4858 ToolRule {
4859 blocks: HolderSet::Direct {
4860 contents: azalea_registry::tags::blocks::MINEABLE_AXE
4861 .clone()
4862 .into_iter()
4863 .collect(),
4864 },
4865 correct_for_drops: Some(true),
4866 speed: Some(4.0),
4867 },
4868 ],
4869 ..Tool::new()
4870 },
4871 Item::StoneHoe => Tool {
4872 rules: vec![
4873 ToolRule {
4874 blocks: HolderSet::Direct {
4875 contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4876 .clone()
4877 .into_iter()
4878 .collect(),
4879 },
4880 correct_for_drops: Some(false),
4881 ..ToolRule::new()
4882 },
4883 ToolRule {
4884 blocks: HolderSet::Direct {
4885 contents: azalea_registry::tags::blocks::MINEABLE_HOE
4886 .clone()
4887 .into_iter()
4888 .collect(),
4889 },
4890 correct_for_drops: Some(true),
4891 speed: Some(4.0),
4892 },
4893 ],
4894 ..Tool::new()
4895 },
4896 Item::StonePickaxe => Tool {
4897 rules: vec![
4898 ToolRule {
4899 blocks: HolderSet::Direct {
4900 contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4901 .clone()
4902 .into_iter()
4903 .collect(),
4904 },
4905 correct_for_drops: Some(false),
4906 ..ToolRule::new()
4907 },
4908 ToolRule {
4909 blocks: HolderSet::Direct {
4910 contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
4911 .clone()
4912 .into_iter()
4913 .collect(),
4914 },
4915 correct_for_drops: Some(true),
4916 speed: Some(4.0),
4917 },
4918 ],
4919 ..Tool::new()
4920 },
4921 Item::StoneShovel => Tool {
4922 rules: vec![
4923 ToolRule {
4924 blocks: HolderSet::Direct {
4925 contents: azalea_registry::tags::blocks::INCORRECT_FOR_STONE_TOOL
4926 .clone()
4927 .into_iter()
4928 .collect(),
4929 },
4930 correct_for_drops: Some(false),
4931 ..ToolRule::new()
4932 },
4933 ToolRule {
4934 blocks: HolderSet::Direct {
4935 contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
4936 .clone()
4937 .into_iter()
4938 .collect(),
4939 },
4940 correct_for_drops: Some(true),
4941 speed: Some(4.0),
4942 },
4943 ],
4944 ..Tool::new()
4945 },
4946 Item::StoneSword => Tool {
4947 can_destroy_blocks_in_creative: false,
4948 damage_per_block: 2,
4949 rules: vec![
4950 ToolRule {
4951 blocks: HolderSet::Direct {
4952 contents: vec![Block::Cobweb],
4953 },
4954 correct_for_drops: Some(true),
4955 speed: Some(15.0),
4956 },
4957 ToolRule {
4958 blocks: HolderSet::Direct {
4959 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
4960 .clone()
4961 .into_iter()
4962 .collect(),
4963 },
4964 speed: Some(3.4028235e+38),
4965 ..ToolRule::new()
4966 },
4967 ToolRule {
4968 blocks: HolderSet::Direct {
4969 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
4970 .clone()
4971 .into_iter()
4972 .collect(),
4973 },
4974 speed: Some(1.5),
4975 ..ToolRule::new()
4976 },
4977 ],
4978 ..Tool::new()
4979 },
4980 Item::Trident => Tool {
4981 can_destroy_blocks_in_creative: false,
4982 damage_per_block: 2,
4983 rules: vec![],
4984 ..Tool::new()
4985 },
4986 Item::WoodenAxe => Tool {
4987 rules: vec![
4988 ToolRule {
4989 blocks: HolderSet::Direct {
4990 contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
4991 .clone()
4992 .into_iter()
4993 .collect(),
4994 },
4995 correct_for_drops: Some(false),
4996 ..ToolRule::new()
4997 },
4998 ToolRule {
4999 blocks: HolderSet::Direct {
5000 contents: azalea_registry::tags::blocks::MINEABLE_AXE
5001 .clone()
5002 .into_iter()
5003 .collect(),
5004 },
5005 correct_for_drops: Some(true),
5006 speed: Some(2.0),
5007 },
5008 ],
5009 ..Tool::new()
5010 },
5011 Item::WoodenHoe => Tool {
5012 rules: vec![
5013 ToolRule {
5014 blocks: HolderSet::Direct {
5015 contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
5016 .clone()
5017 .into_iter()
5018 .collect(),
5019 },
5020 correct_for_drops: Some(false),
5021 ..ToolRule::new()
5022 },
5023 ToolRule {
5024 blocks: HolderSet::Direct {
5025 contents: azalea_registry::tags::blocks::MINEABLE_HOE
5026 .clone()
5027 .into_iter()
5028 .collect(),
5029 },
5030 correct_for_drops: Some(true),
5031 speed: Some(2.0),
5032 },
5033 ],
5034 ..Tool::new()
5035 },
5036 Item::WoodenPickaxe => Tool {
5037 rules: vec![
5038 ToolRule {
5039 blocks: HolderSet::Direct {
5040 contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
5041 .clone()
5042 .into_iter()
5043 .collect(),
5044 },
5045 correct_for_drops: Some(false),
5046 ..ToolRule::new()
5047 },
5048 ToolRule {
5049 blocks: HolderSet::Direct {
5050 contents: azalea_registry::tags::blocks::MINEABLE_PICKAXE
5051 .clone()
5052 .into_iter()
5053 .collect(),
5054 },
5055 correct_for_drops: Some(true),
5056 speed: Some(2.0),
5057 },
5058 ],
5059 ..Tool::new()
5060 },
5061 Item::WoodenShovel => Tool {
5062 rules: vec![
5063 ToolRule {
5064 blocks: HolderSet::Direct {
5065 contents: azalea_registry::tags::blocks::INCORRECT_FOR_WOODEN_TOOL
5066 .clone()
5067 .into_iter()
5068 .collect(),
5069 },
5070 correct_for_drops: Some(false),
5071 ..ToolRule::new()
5072 },
5073 ToolRule {
5074 blocks: HolderSet::Direct {
5075 contents: azalea_registry::tags::blocks::MINEABLE_SHOVEL
5076 .clone()
5077 .into_iter()
5078 .collect(),
5079 },
5080 correct_for_drops: Some(true),
5081 speed: Some(2.0),
5082 },
5083 ],
5084 ..Tool::new()
5085 },
5086 Item::WoodenSword => Tool {
5087 can_destroy_blocks_in_creative: false,
5088 damage_per_block: 2,
5089 rules: vec![
5090 ToolRule {
5091 blocks: HolderSet::Direct {
5092 contents: vec![Block::Cobweb],
5093 },
5094 correct_for_drops: Some(true),
5095 speed: Some(15.0),
5096 },
5097 ToolRule {
5098 blocks: HolderSet::Direct {
5099 contents: azalea_registry::tags::blocks::SWORD_INSTANTLY_MINES
5100 .clone()
5101 .into_iter()
5102 .collect(),
5103 },
5104 speed: Some(3.4028235e+38),
5105 ..ToolRule::new()
5106 },
5107 ToolRule {
5108 blocks: HolderSet::Direct {
5109 contents: azalea_registry::tags::blocks::SWORD_EFFICIENT
5110 .clone()
5111 .into_iter()
5112 .collect(),
5113 },
5114 speed: Some(1.5),
5115 ..ToolRule::new()
5116 },
5117 ],
5118 ..Tool::new()
5119 },
5120 _ => return None,
5121 };
5122 Some(value)
5123 }
5124}
5125impl DefaultableComponent for Weapon {
5126 fn default_for_item(item: Item) -> Option<Self> {
5127 let value = match item {
5128 Item::CopperAxe => Weapon {
5129 disable_blocking_for_seconds: 5.0,
5130 item_damage_per_attack: 2,
5131 },
5132 Item::CopperHoe => Weapon {
5133 item_damage_per_attack: 2,
5134 ..Weapon::new()
5135 },
5136 Item::CopperPickaxe => Weapon {
5137 item_damage_per_attack: 2,
5138 ..Weapon::new()
5139 },
5140 Item::CopperShovel => Weapon {
5141 item_damage_per_attack: 2,
5142 ..Weapon::new()
5143 },
5144 Item::CopperSword => Weapon::new(),
5145 Item::DiamondAxe => Weapon {
5146 disable_blocking_for_seconds: 5.0,
5147 item_damage_per_attack: 2,
5148 },
5149 Item::DiamondHoe => Weapon {
5150 item_damage_per_attack: 2,
5151 ..Weapon::new()
5152 },
5153 Item::DiamondPickaxe => Weapon {
5154 item_damage_per_attack: 2,
5155 ..Weapon::new()
5156 },
5157 Item::DiamondShovel => Weapon {
5158 item_damage_per_attack: 2,
5159 ..Weapon::new()
5160 },
5161 Item::DiamondSword => Weapon::new(),
5162 Item::GoldenAxe => Weapon {
5163 disable_blocking_for_seconds: 5.0,
5164 item_damage_per_attack: 2,
5165 },
5166 Item::GoldenHoe => Weapon {
5167 item_damage_per_attack: 2,
5168 ..Weapon::new()
5169 },
5170 Item::GoldenPickaxe => Weapon {
5171 item_damage_per_attack: 2,
5172 ..Weapon::new()
5173 },
5174 Item::GoldenShovel => Weapon {
5175 item_damage_per_attack: 2,
5176 ..Weapon::new()
5177 },
5178 Item::GoldenSword => Weapon::new(),
5179 Item::IronAxe => Weapon {
5180 disable_blocking_for_seconds: 5.0,
5181 item_damage_per_attack: 2,
5182 },
5183 Item::IronHoe => Weapon {
5184 item_damage_per_attack: 2,
5185 ..Weapon::new()
5186 },
5187 Item::IronPickaxe => Weapon {
5188 item_damage_per_attack: 2,
5189 ..Weapon::new()
5190 },
5191 Item::IronShovel => Weapon {
5192 item_damage_per_attack: 2,
5193 ..Weapon::new()
5194 },
5195 Item::IronSword => Weapon::new(),
5196 Item::Mace => Weapon::new(),
5197 Item::NetheriteAxe => Weapon {
5198 disable_blocking_for_seconds: 5.0,
5199 item_damage_per_attack: 2,
5200 },
5201 Item::NetheriteHoe => Weapon {
5202 item_damage_per_attack: 2,
5203 ..Weapon::new()
5204 },
5205 Item::NetheritePickaxe => Weapon {
5206 item_damage_per_attack: 2,
5207 ..Weapon::new()
5208 },
5209 Item::NetheriteShovel => Weapon {
5210 item_damage_per_attack: 2,
5211 ..Weapon::new()
5212 },
5213 Item::NetheriteSword => Weapon::new(),
5214 Item::StoneAxe => Weapon {
5215 disable_blocking_for_seconds: 5.0,
5216 item_damage_per_attack: 2,
5217 },
5218 Item::StoneHoe => Weapon {
5219 item_damage_per_attack: 2,
5220 ..Weapon::new()
5221 },
5222 Item::StonePickaxe => Weapon {
5223 item_damage_per_attack: 2,
5224 ..Weapon::new()
5225 },
5226 Item::StoneShovel => Weapon {
5227 item_damage_per_attack: 2,
5228 ..Weapon::new()
5229 },
5230 Item::StoneSword => Weapon::new(),
5231 Item::Trident => Weapon::new(),
5232 Item::WoodenAxe => Weapon {
5233 disable_blocking_for_seconds: 5.0,
5234 item_damage_per_attack: 2,
5235 },
5236 Item::WoodenHoe => Weapon {
5237 item_damage_per_attack: 2,
5238 ..Weapon::new()
5239 },
5240 Item::WoodenPickaxe => Weapon {
5241 item_damage_per_attack: 2,
5242 ..Weapon::new()
5243 },
5244 Item::WoodenShovel => Weapon {
5245 item_damage_per_attack: 2,
5246 ..Weapon::new()
5247 },
5248 Item::WoodenSword => Weapon::new(),
5249 _ => return None,
5250 };
5251 Some(value)
5252 }
5253}
5254impl DefaultableComponent for ChargedProjectiles {
5255 fn default_for_item(item: Item) -> Option<Self> {
5256 let value = match item {
5257 Item::Crossbow => vec![],
5258 _ => return None,
5259 };
5260 Some(ChargedProjectiles { items: value })
5261 }
5262}
5263impl DefaultableComponent for DebugStickState {
5264 fn default_for_item(item: Item) -> Option<Self> {
5265 let value = match item {
5266 Item::DebugStick => NbtCompound::from_values(vec![]),
5267 _ => return None,
5268 };
5269 Some(DebugStickState { properties: value })
5270 }
5271}
5272impl DefaultableComponent for EnchantmentGlintOverride {
5273 fn default_for_item(item: Item) -> Option<Self> {
5274 let value = match item {
5275 Item::DebugStick => true,
5276 Item::EnchantedBook => true,
5277 Item::EnchantedGoldenApple => true,
5278 Item::EndCrystal => true,
5279 Item::ExperienceBottle => true,
5280 Item::NetherStar => true,
5281 Item::WrittenBook => true,
5282 _ => return None,
5283 };
5284 Some(EnchantmentGlintOverride { show_glint: value })
5285 }
5286}
5287impl DefaultableComponent for PotDecorations {
5288 fn default_for_item(item: Item) -> Option<Self> {
5289 let value = match item {
5290 Item::DecoratedPot => vec![Item::Brick, Item::Brick, Item::Brick, Item::Brick],
5291 _ => return None,
5292 };
5293 Some(PotDecorations { items: value })
5294 }
5295}
5296impl DefaultableComponent for Glider {
5297 fn default_for_item(item: Item) -> Option<Self> {
5298 let value = match item {
5299 Item::Elytra => Glider,
5300 _ => return None,
5301 };
5302 Some(value)
5303 }
5304}
5305impl DefaultableComponent for StoredEnchantments {
5306 fn default_for_item(item: Item) -> Option<Self> {
5307 let value = match item {
5308 Item::EnchantedBook => HashMap::from_iter([]),
5309 _ => return None,
5310 };
5311 Some(StoredEnchantments {
5312 enchantments: value,
5313 })
5314 }
5315}
5316impl DefaultableComponent for MapColor {
5317 fn default_for_item(item: Item) -> Option<Self> {
5318 let value = match item {
5319 Item::FilledMap => 4603950,
5320 _ => return None,
5321 };
5322 Some(MapColor { color: value })
5323 }
5324}
5325impl DefaultableComponent for MapDecorations {
5326 fn default_for_item(item: Item) -> Option<Self> {
5327 let value = match item {
5328 Item::FilledMap => NbtCompound::from_values(vec![]),
5329 _ => return None,
5330 };
5331 Some(MapDecorations { decorations: value })
5332 }
5333}
5334impl DefaultableComponent for Fireworks {
5335 fn default_for_item(item: Item) -> Option<Self> {
5336 let value = match item {
5337 Item::FireworkRocket => Fireworks {
5338 flight_duration: 1,
5339 ..Fireworks::new()
5340 },
5341 _ => return None,
5342 };
5343 Some(value)
5344 }
5345}
5346impl DefaultableComponent for Instrument {
5347 fn default_for_item(item: Item) -> Option<Self> {
5348 let value = match item {
5349 Item::GoatHorn => Instrument::Registry(azalea_registry::Instrument::PonderGoatHorn),
5350 _ => return None,
5351 };
5352 Some(value)
5353 }
5354}
5355impl DefaultableComponent for Recipes {
5356 fn default_for_item(item: Item) -> Option<Self> {
5357 let value = match item {
5358 Item::KnowledgeBook => vec![],
5359 _ => return None,
5360 };
5361 Some(Recipes { recipes: value })
5362 }
5363}
5364impl DefaultableComponent for PotionContents {
5365 fn default_for_item(item: Item) -> Option<Self> {
5366 let value = match item {
5367 Item::LingeringPotion => PotionContents::new(),
5368 Item::Potion => PotionContents::new(),
5369 Item::SplashPotion => PotionContents::new(),
5370 Item::TippedArrow => PotionContents::new(),
5371 _ => return None,
5372 };
5373 Some(value)
5374 }
5375}
5376impl DefaultableComponent for PotionDurationScale {
5377 fn default_for_item(item: Item) -> Option<Self> {
5378 let value = match item {
5379 Item::LingeringPotion => 0.25,
5380 Item::TippedArrow => 0.125,
5381 _ => return None,
5382 };
5383 Some(PotionDurationScale { value: value })
5384 }
5385}
5386impl DefaultableComponent for JukeboxPlayable {
5387 fn default_for_item(item: Item) -> Option<Self> {
5388 let value = match item {
5389 Item::MusicDisc11 => JukeboxPlayable::Referenced("minecraft:11".into()),
5390 Item::MusicDisc13 => JukeboxPlayable::Referenced("minecraft:13".into()),
5391 Item::MusicDisc5 => JukeboxPlayable::Referenced("minecraft:5".into()),
5392 Item::MusicDiscBlocks => JukeboxPlayable::Referenced("minecraft:blocks".into()),
5393 Item::MusicDiscCat => JukeboxPlayable::Referenced("minecraft:cat".into()),
5394 Item::MusicDiscChirp => JukeboxPlayable::Referenced("minecraft:chirp".into()),
5395 Item::MusicDiscCreator => JukeboxPlayable::Referenced("minecraft:creator".into()),
5396 Item::MusicDiscCreatorMusicBox => {
5397 JukeboxPlayable::Referenced("minecraft:creator_music_box".into())
5398 }
5399 Item::MusicDiscFar => JukeboxPlayable::Referenced("minecraft:far".into()),
5400 Item::MusicDiscLavaChicken => {
5401 JukeboxPlayable::Referenced("minecraft:lava_chicken".into())
5402 }
5403 Item::MusicDiscMall => JukeboxPlayable::Referenced("minecraft:mall".into()),
5404 Item::MusicDiscMellohi => JukeboxPlayable::Referenced("minecraft:mellohi".into()),
5405 Item::MusicDiscOtherside => JukeboxPlayable::Referenced("minecraft:otherside".into()),
5406 Item::MusicDiscPigstep => JukeboxPlayable::Referenced("minecraft:pigstep".into()),
5407 Item::MusicDiscPrecipice => JukeboxPlayable::Referenced("minecraft:precipice".into()),
5408 Item::MusicDiscRelic => JukeboxPlayable::Referenced("minecraft:relic".into()),
5409 Item::MusicDiscStal => JukeboxPlayable::Referenced("minecraft:stal".into()),
5410 Item::MusicDiscStrad => JukeboxPlayable::Referenced("minecraft:strad".into()),
5411 Item::MusicDiscTears => JukeboxPlayable::Referenced("minecraft:tears".into()),
5412 Item::MusicDiscWait => JukeboxPlayable::Referenced("minecraft:wait".into()),
5413 Item::MusicDiscWard => JukeboxPlayable::Referenced("minecraft:ward".into()),
5414 _ => return None,
5415 };
5416 Some(value)
5417 }
5418}
5419impl DefaultableComponent for OminousBottleAmplifier {
5420 fn default_for_item(item: Item) -> Option<Self> {
5421 let value = match item {
5422 Item::OminousBottle => 0,
5423 _ => return None,
5424 };
5425 Some(OminousBottleAmplifier { amplifier: value })
5426 }
5427}
5428impl DefaultableComponent for BlocksAttacks {
5429 fn default_for_item(item: Item) -> Option<Self> {
5430 let value = match item {
5431 Item::Shield => BlocksAttacks {
5432 block_delay_seconds: 0.25,
5433 block_sound: Some(azalea_registry::Holder::Reference(
5434 SoundEvent::ItemShieldBlock,
5435 )),
5436 bypassed_by: Some("#minecraft:bypasses_shield".into()),
5437 disabled_sound: Some(azalea_registry::Holder::Reference(
5438 SoundEvent::ItemShieldBreak,
5439 )),
5440 item_damage: ItemDamageFunction {
5441 base: 1.0,
5442 factor: 1.0,
5443 threshold: 3.0,
5444 },
5445 ..BlocksAttacks::new()
5446 },
5447 _ => return None,
5448 };
5449 Some(value)
5450 }
5451}
5452impl DefaultableComponent for SuspiciousStewEffects {
5453 fn default_for_item(item: Item) -> Option<Self> {
5454 let value = match item {
5455 Item::SuspiciousStew => vec![],
5456 _ => return None,
5457 };
5458 Some(SuspiciousStewEffects { effects: value })
5459 }
5460}
5461impl DefaultableComponent for DeathProtection {
5462 fn default_for_item(item: Item) -> Option<Self> {
5463 let value = match item {
5464 Item::TotemOfUndying => vec![
5465 ConsumeEffect::ClearAllEffects {},
5466 ConsumeEffect::ApplyEffects {
5467 effects: vec![
5468 MobEffectInstance {
5469 id: MobEffect::Regeneration,
5470 details: MobEffectDetails {
5471 amplifier: 1,
5472 duration: 900,
5473 show_icon: true,
5474 ..MobEffectDetails::new()
5475 },
5476 },
5477 MobEffectInstance {
5478 id: MobEffect::Absorption,
5479 details: MobEffectDetails {
5480 amplifier: 1,
5481 duration: 100,
5482 show_icon: true,
5483 ..MobEffectDetails::new()
5484 },
5485 },
5486 MobEffectInstance {
5487 id: MobEffect::FireResistance,
5488 details: MobEffectDetails {
5489 duration: 800,
5490 show_icon: true,
5491 ..MobEffectDetails::new()
5492 },
5493 },
5494 ],
5495 probability: 1.0,
5496 },
5497 ],
5498 _ => return None,
5499 };
5500 Some(DeathProtection {
5501 death_effects: value,
5502 })
5503 }
5504}
5505impl DefaultableComponent for WritableBookContent {
5506 fn default_for_item(item: Item) -> Option<Self> {
5507 let value = match item {
5508 Item::WritableBook => Vec::new(),
5509 _ => return None,
5510 };
5511 Some(WritableBookContent { pages: value })
5512 }
5513}