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