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