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