azalea_registry/tags/
items.rs

1// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
2
3use std::{collections::HashSet, sync::LazyLock};
4
5use crate::Item;
6
7pub static ACACIA_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
8    HashSet::from_iter(vec![
9        Item::AcaciaLog,
10        Item::AcaciaWood,
11        Item::StrippedAcaciaLog,
12        Item::StrippedAcaciaWood,
13    ])
14});
15pub static ANVIL: LazyLock<HashSet<Item>> =
16    LazyLock::new(|| HashSet::from_iter(vec![Item::Anvil, Item::ChippedAnvil, Item::DamagedAnvil]));
17pub static ARMADILLO_FOOD: LazyLock<HashSet<Item>> =
18    LazyLock::new(|| HashSet::from_iter(vec![Item::SpiderEye]));
19pub static ARROWS: LazyLock<HashSet<Item>> =
20    LazyLock::new(|| HashSet::from_iter(vec![Item::Arrow, Item::TippedArrow, Item::SpectralArrow]));
21pub static AXES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
22    HashSet::from_iter(vec![
23        Item::DiamondAxe,
24        Item::StoneAxe,
25        Item::GoldenAxe,
26        Item::NetheriteAxe,
27        Item::WoodenAxe,
28        Item::IronAxe,
29        Item::CopperAxe,
30    ])
31});
32pub static AXOLOTL_FOOD: LazyLock<HashSet<Item>> =
33    LazyLock::new(|| HashSet::from_iter(vec![Item::TropicalFishBucket]));
34pub static BAMBOO_BLOCKS: LazyLock<HashSet<Item>> =
35    LazyLock::new(|| HashSet::from_iter(vec![Item::BambooBlock, Item::StrippedBambooBlock]));
36pub static BANNERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
37    HashSet::from_iter(vec![
38        Item::WhiteBanner,
39        Item::OrangeBanner,
40        Item::MagentaBanner,
41        Item::LightBlueBanner,
42        Item::YellowBanner,
43        Item::LimeBanner,
44        Item::PinkBanner,
45        Item::GrayBanner,
46        Item::LightGrayBanner,
47        Item::CyanBanner,
48        Item::PurpleBanner,
49        Item::BlueBanner,
50        Item::BrownBanner,
51        Item::GreenBanner,
52        Item::RedBanner,
53        Item::BlackBanner,
54    ])
55});
56pub static BARS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
57    HashSet::from_iter(vec![
58        Item::IronBars,
59        Item::CopperBars,
60        Item::WaxedCopperBars,
61        Item::ExposedCopperBars,
62        Item::WaxedExposedCopperBars,
63        Item::WeatheredCopperBars,
64        Item::WaxedWeatheredCopperBars,
65        Item::OxidizedCopperBars,
66        Item::WaxedOxidizedCopperBars,
67    ])
68});
69pub static BEACON_PAYMENT_ITEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
70    HashSet::from_iter(vec![
71        Item::NetheriteIngot,
72        Item::Emerald,
73        Item::Diamond,
74        Item::GoldIngot,
75        Item::IronIngot,
76    ])
77});
78pub static BEDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
79    HashSet::from_iter(vec![
80        Item::RedBed,
81        Item::BlackBed,
82        Item::BlueBed,
83        Item::BrownBed,
84        Item::CyanBed,
85        Item::GrayBed,
86        Item::GreenBed,
87        Item::LightBlueBed,
88        Item::LightGrayBed,
89        Item::LimeBed,
90        Item::MagentaBed,
91        Item::OrangeBed,
92        Item::PinkBed,
93        Item::PurpleBed,
94        Item::WhiteBed,
95        Item::YellowBed,
96    ])
97});
98pub static BEE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
99    HashSet::from_iter(vec![
100        Item::Dandelion,
101        Item::OpenEyeblossom,
102        Item::Poppy,
103        Item::BlueOrchid,
104        Item::Allium,
105        Item::AzureBluet,
106        Item::RedTulip,
107        Item::OrangeTulip,
108        Item::WhiteTulip,
109        Item::PinkTulip,
110        Item::OxeyeDaisy,
111        Item::Cornflower,
112        Item::LilyOfTheValley,
113        Item::WitherRose,
114        Item::Torchflower,
115        Item::Sunflower,
116        Item::Lilac,
117        Item::Peony,
118        Item::RoseBush,
119        Item::PitcherPlant,
120        Item::FloweringAzaleaLeaves,
121        Item::FloweringAzalea,
122        Item::MangrovePropagule,
123        Item::CherryLeaves,
124        Item::PinkPetals,
125        Item::Wildflowers,
126        Item::ChorusFlower,
127        Item::SporeBlossom,
128        Item::CactusFlower,
129    ])
130});
131pub static BIRCH_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
132    HashSet::from_iter(vec![
133        Item::BirchLog,
134        Item::BirchWood,
135        Item::StrippedBirchLog,
136        Item::StrippedBirchWood,
137    ])
138});
139pub static BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
140    HashSet::from_iter(vec![
141        Item::OakBoat,
142        Item::SpruceBoat,
143        Item::BirchBoat,
144        Item::JungleBoat,
145        Item::AcaciaBoat,
146        Item::DarkOakBoat,
147        Item::PaleOakBoat,
148        Item::MangroveBoat,
149        Item::BambooRaft,
150        Item::CherryBoat,
151        Item::OakChestBoat,
152        Item::SpruceChestBoat,
153        Item::BirchChestBoat,
154        Item::JungleChestBoat,
155        Item::AcaciaChestBoat,
156        Item::DarkOakChestBoat,
157        Item::PaleOakChestBoat,
158        Item::MangroveChestBoat,
159        Item::BambooChestRaft,
160        Item::CherryChestBoat,
161    ])
162});
163pub static BOOK_CLONING_TARGET: LazyLock<HashSet<Item>> =
164    LazyLock::new(|| HashSet::from_iter(vec![Item::WritableBook]));
165pub static BOOKSHELF_BOOKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
166    HashSet::from_iter(vec![
167        Item::Book,
168        Item::WrittenBook,
169        Item::EnchantedBook,
170        Item::WritableBook,
171        Item::KnowledgeBook,
172    ])
173});
174pub static BREAKS_DECORATED_POTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
175    HashSet::from_iter(vec![
176        Item::Trident,
177        Item::Mace,
178        Item::DiamondSword,
179        Item::StoneSword,
180        Item::GoldenSword,
181        Item::NetheriteSword,
182        Item::WoodenSword,
183        Item::IronSword,
184        Item::CopperSword,
185        Item::DiamondAxe,
186        Item::StoneAxe,
187        Item::GoldenAxe,
188        Item::NetheriteAxe,
189        Item::WoodenAxe,
190        Item::IronAxe,
191        Item::CopperAxe,
192        Item::DiamondPickaxe,
193        Item::StonePickaxe,
194        Item::GoldenPickaxe,
195        Item::NetheritePickaxe,
196        Item::WoodenPickaxe,
197        Item::IronPickaxe,
198        Item::CopperPickaxe,
199        Item::DiamondShovel,
200        Item::StoneShovel,
201        Item::GoldenShovel,
202        Item::NetheriteShovel,
203        Item::WoodenShovel,
204        Item::IronShovel,
205        Item::CopperShovel,
206        Item::DiamondHoe,
207        Item::StoneHoe,
208        Item::GoldenHoe,
209        Item::NetheriteHoe,
210        Item::WoodenHoe,
211        Item::IronHoe,
212        Item::CopperHoe,
213    ])
214});
215pub static BREWING_FUEL: LazyLock<HashSet<Item>> =
216    LazyLock::new(|| HashSet::from_iter(vec![Item::BlazePowder]));
217pub static BUNDLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
218    HashSet::from_iter(vec![
219        Item::Bundle,
220        Item::BlackBundle,
221        Item::BlueBundle,
222        Item::BrownBundle,
223        Item::CyanBundle,
224        Item::GrayBundle,
225        Item::GreenBundle,
226        Item::LightBlueBundle,
227        Item::LightGrayBundle,
228        Item::LimeBundle,
229        Item::MagentaBundle,
230        Item::OrangeBundle,
231        Item::PinkBundle,
232        Item::PurpleBundle,
233        Item::RedBundle,
234        Item::YellowBundle,
235        Item::WhiteBundle,
236    ])
237});
238pub static BUTTONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
239    HashSet::from_iter(vec![
240        Item::OakButton,
241        Item::SpruceButton,
242        Item::BirchButton,
243        Item::JungleButton,
244        Item::AcaciaButton,
245        Item::DarkOakButton,
246        Item::PaleOakButton,
247        Item::CrimsonButton,
248        Item::WarpedButton,
249        Item::MangroveButton,
250        Item::BambooButton,
251        Item::CherryButton,
252        Item::StoneButton,
253        Item::PolishedBlackstoneButton,
254    ])
255});
256pub static CAMEL_FOOD: LazyLock<HashSet<Item>> =
257    LazyLock::new(|| HashSet::from_iter(vec![Item::Cactus]));
258pub static CANDLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
259    HashSet::from_iter(vec![
260        Item::Candle,
261        Item::WhiteCandle,
262        Item::OrangeCandle,
263        Item::MagentaCandle,
264        Item::LightBlueCandle,
265        Item::YellowCandle,
266        Item::LimeCandle,
267        Item::PinkCandle,
268        Item::GrayCandle,
269        Item::LightGrayCandle,
270        Item::CyanCandle,
271        Item::PurpleCandle,
272        Item::BlueCandle,
273        Item::BrownCandle,
274        Item::GreenCandle,
275        Item::RedCandle,
276        Item::BlackCandle,
277    ])
278});
279pub static CAT_FOOD: LazyLock<HashSet<Item>> =
280    LazyLock::new(|| HashSet::from_iter(vec![Item::Cod, Item::Salmon]));
281pub static CHAINS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
282    HashSet::from_iter(vec![
283        Item::IronChain,
284        Item::CopperChain,
285        Item::WaxedCopperChain,
286        Item::ExposedCopperChain,
287        Item::WaxedExposedCopperChain,
288        Item::WeatheredCopperChain,
289        Item::WaxedWeatheredCopperChain,
290        Item::OxidizedCopperChain,
291        Item::WaxedOxidizedCopperChain,
292    ])
293});
294pub static CHERRY_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
295    HashSet::from_iter(vec![
296        Item::CherryLog,
297        Item::CherryWood,
298        Item::StrippedCherryLog,
299        Item::StrippedCherryWood,
300    ])
301});
302pub static CHEST_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
303    HashSet::from_iter(vec![
304        Item::LeatherChestplate,
305        Item::CopperChestplate,
306        Item::ChainmailChestplate,
307        Item::GoldenChestplate,
308        Item::IronChestplate,
309        Item::DiamondChestplate,
310        Item::NetheriteChestplate,
311    ])
312});
313pub static CHEST_BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
314    HashSet::from_iter(vec![
315        Item::OakChestBoat,
316        Item::SpruceChestBoat,
317        Item::BirchChestBoat,
318        Item::JungleChestBoat,
319        Item::AcaciaChestBoat,
320        Item::DarkOakChestBoat,
321        Item::PaleOakChestBoat,
322        Item::MangroveChestBoat,
323        Item::BambooChestRaft,
324        Item::CherryChestBoat,
325    ])
326});
327pub static CHICKEN_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
328    HashSet::from_iter(vec![
329        Item::WheatSeeds,
330        Item::MelonSeeds,
331        Item::PumpkinSeeds,
332        Item::BeetrootSeeds,
333        Item::TorchflowerSeeds,
334        Item::PitcherPod,
335    ])
336});
337pub static CLUSTER_MAX_HARVESTABLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
338    HashSet::from_iter(vec![
339        Item::DiamondPickaxe,
340        Item::GoldenPickaxe,
341        Item::IronPickaxe,
342        Item::NetheritePickaxe,
343        Item::StonePickaxe,
344        Item::WoodenPickaxe,
345        Item::CopperPickaxe,
346    ])
347});
348pub static COAL_ORES: LazyLock<HashSet<Item>> =
349    LazyLock::new(|| HashSet::from_iter(vec![Item::CoalOre, Item::DeepslateCoalOre]));
350pub static COALS: LazyLock<HashSet<Item>> =
351    LazyLock::new(|| HashSet::from_iter(vec![Item::Coal, Item::Charcoal]));
352pub static COMPASSES: LazyLock<HashSet<Item>> =
353    LazyLock::new(|| HashSet::from_iter(vec![Item::Compass, Item::RecoveryCompass]));
354pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Item>> = LazyLock::new(|| {
355    HashSet::from_iter(vec![
356        Item::JungleLeaves,
357        Item::OakLeaves,
358        Item::SpruceLeaves,
359        Item::PaleOakLeaves,
360        Item::DarkOakLeaves,
361        Item::AcaciaLeaves,
362        Item::BirchLeaves,
363        Item::AzaleaLeaves,
364        Item::FloweringAzaleaLeaves,
365        Item::MangroveLeaves,
366        Item::CherryLeaves,
367        Item::NetherWartBlock,
368        Item::WarpedWartBlock,
369        Item::CrimsonStem,
370        Item::StrippedCrimsonStem,
371        Item::CrimsonHyphae,
372        Item::StrippedCrimsonHyphae,
373        Item::WarpedStem,
374        Item::StrippedWarpedStem,
375        Item::WarpedHyphae,
376        Item::StrippedWarpedHyphae,
377        Item::DarkOakLog,
378        Item::DarkOakWood,
379        Item::StrippedDarkOakLog,
380        Item::StrippedDarkOakWood,
381        Item::PaleOakLog,
382        Item::PaleOakWood,
383        Item::StrippedPaleOakLog,
384        Item::StrippedPaleOakWood,
385        Item::OakLog,
386        Item::OakWood,
387        Item::StrippedOakLog,
388        Item::StrippedOakWood,
389        Item::AcaciaLog,
390        Item::AcaciaWood,
391        Item::StrippedAcaciaLog,
392        Item::StrippedAcaciaWood,
393        Item::BirchLog,
394        Item::BirchWood,
395        Item::StrippedBirchLog,
396        Item::StrippedBirchWood,
397        Item::JungleLog,
398        Item::JungleWood,
399        Item::StrippedJungleLog,
400        Item::StrippedJungleWood,
401        Item::SpruceLog,
402        Item::SpruceWood,
403        Item::StrippedSpruceLog,
404        Item::StrippedSpruceWood,
405        Item::MangroveLog,
406        Item::MangroveWood,
407        Item::StrippedMangroveLog,
408        Item::StrippedMangroveWood,
409        Item::CherryLog,
410        Item::CherryWood,
411        Item::StrippedCherryLog,
412        Item::StrippedCherryWood,
413    ])
414});
415pub static COPPER: LazyLock<HashSet<Item>> = LazyLock::new(|| {
416    HashSet::from_iter(vec![
417        Item::CopperBlock,
418        Item::ExposedCopper,
419        Item::WeatheredCopper,
420        Item::OxidizedCopper,
421        Item::WaxedCopperBlock,
422        Item::WaxedExposedCopper,
423        Item::WaxedWeatheredCopper,
424        Item::WaxedOxidizedCopper,
425    ])
426});
427pub static COPPER_CHESTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
428    HashSet::from_iter(vec![
429        Item::CopperChest,
430        Item::ExposedCopperChest,
431        Item::WeatheredCopperChest,
432        Item::OxidizedCopperChest,
433        Item::WaxedCopperChest,
434        Item::WaxedExposedCopperChest,
435        Item::WaxedWeatheredCopperChest,
436        Item::WaxedOxidizedCopperChest,
437    ])
438});
439pub static COPPER_GOLEM_STATUES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
440    HashSet::from_iter(vec![
441        Item::CopperGolemStatue,
442        Item::ExposedCopperGolemStatue,
443        Item::WeatheredCopperGolemStatue,
444        Item::OxidizedCopperGolemStatue,
445        Item::WaxedCopperGolemStatue,
446        Item::WaxedExposedCopperGolemStatue,
447        Item::WaxedWeatheredCopperGolemStatue,
448        Item::WaxedOxidizedCopperGolemStatue,
449    ])
450});
451pub static COPPER_ORES: LazyLock<HashSet<Item>> =
452    LazyLock::new(|| HashSet::from_iter(vec![Item::CopperOre, Item::DeepslateCopperOre]));
453pub static COPPER_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
454    LazyLock::new(|| HashSet::from_iter(vec![Item::CopperIngot]));
455pub static COW_FOOD: LazyLock<HashSet<Item>> =
456    LazyLock::new(|| HashSet::from_iter(vec![Item::Wheat]));
457pub static CREEPER_DROP_MUSIC_DISCS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
458    HashSet::from_iter(vec![
459        Item::MusicDisc13,
460        Item::MusicDiscCat,
461        Item::MusicDiscBlocks,
462        Item::MusicDiscChirp,
463        Item::MusicDiscFar,
464        Item::MusicDiscMall,
465        Item::MusicDiscMellohi,
466        Item::MusicDiscStal,
467        Item::MusicDiscStrad,
468        Item::MusicDiscWard,
469        Item::MusicDisc11,
470        Item::MusicDiscWait,
471    ])
472});
473pub static CREEPER_IGNITERS: LazyLock<HashSet<Item>> =
474    LazyLock::new(|| HashSet::from_iter(vec![Item::FlintAndSteel, Item::FireCharge]));
475pub static CRIMSON_STEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
476    HashSet::from_iter(vec![
477        Item::CrimsonStem,
478        Item::StrippedCrimsonStem,
479        Item::CrimsonHyphae,
480        Item::StrippedCrimsonHyphae,
481    ])
482});
483pub static DAMPENS_VIBRATIONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
484    HashSet::from_iter(vec![
485        Item::WhiteWool,
486        Item::OrangeWool,
487        Item::MagentaWool,
488        Item::LightBlueWool,
489        Item::YellowWool,
490        Item::LimeWool,
491        Item::PinkWool,
492        Item::GrayWool,
493        Item::LightGrayWool,
494        Item::CyanWool,
495        Item::PurpleWool,
496        Item::BlueWool,
497        Item::BrownWool,
498        Item::GreenWool,
499        Item::RedWool,
500        Item::BlackWool,
501        Item::WhiteCarpet,
502        Item::OrangeCarpet,
503        Item::MagentaCarpet,
504        Item::LightBlueCarpet,
505        Item::YellowCarpet,
506        Item::LimeCarpet,
507        Item::PinkCarpet,
508        Item::GrayCarpet,
509        Item::LightGrayCarpet,
510        Item::CyanCarpet,
511        Item::PurpleCarpet,
512        Item::BlueCarpet,
513        Item::BrownCarpet,
514        Item::GreenCarpet,
515        Item::RedCarpet,
516        Item::BlackCarpet,
517    ])
518});
519pub static DARK_OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
520    HashSet::from_iter(vec![
521        Item::DarkOakLog,
522        Item::DarkOakWood,
523        Item::StrippedDarkOakLog,
524        Item::StrippedDarkOakWood,
525    ])
526});
527pub static DECORATED_POT_INGREDIENTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
528    HashSet::from_iter(vec![
529        Item::Brick,
530        Item::AnglerPotterySherd,
531        Item::ArcherPotterySherd,
532        Item::ArmsUpPotterySherd,
533        Item::BladePotterySherd,
534        Item::BrewerPotterySherd,
535        Item::BurnPotterySherd,
536        Item::DangerPotterySherd,
537        Item::ExplorerPotterySherd,
538        Item::FriendPotterySherd,
539        Item::HeartPotterySherd,
540        Item::HeartbreakPotterySherd,
541        Item::HowlPotterySherd,
542        Item::MinerPotterySherd,
543        Item::MournerPotterySherd,
544        Item::PlentyPotterySherd,
545        Item::PrizePotterySherd,
546        Item::SheafPotterySherd,
547        Item::ShelterPotterySherd,
548        Item::SkullPotterySherd,
549        Item::SnortPotterySherd,
550        Item::FlowPotterySherd,
551        Item::GusterPotterySherd,
552        Item::ScrapePotterySherd,
553    ])
554});
555pub static DECORATED_POT_SHERDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
556    HashSet::from_iter(vec![
557        Item::AnglerPotterySherd,
558        Item::ArcherPotterySherd,
559        Item::ArmsUpPotterySherd,
560        Item::BladePotterySherd,
561        Item::BrewerPotterySherd,
562        Item::BurnPotterySherd,
563        Item::DangerPotterySherd,
564        Item::ExplorerPotterySherd,
565        Item::FriendPotterySherd,
566        Item::HeartPotterySherd,
567        Item::HeartbreakPotterySherd,
568        Item::HowlPotterySherd,
569        Item::MinerPotterySherd,
570        Item::MournerPotterySherd,
571        Item::PlentyPotterySherd,
572        Item::PrizePotterySherd,
573        Item::SheafPotterySherd,
574        Item::ShelterPotterySherd,
575        Item::SkullPotterySherd,
576        Item::SnortPotterySherd,
577        Item::FlowPotterySherd,
578        Item::GusterPotterySherd,
579        Item::ScrapePotterySherd,
580    ])
581});
582pub static DIAMOND_ORES: LazyLock<HashSet<Item>> =
583    LazyLock::new(|| HashSet::from_iter(vec![Item::DiamondOre, Item::DeepslateDiamondOre]));
584pub static DIAMOND_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
585    LazyLock::new(|| HashSet::from_iter(vec![Item::Diamond]));
586pub static DIRT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
587    HashSet::from_iter(vec![
588        Item::Dirt,
589        Item::GrassBlock,
590        Item::Podzol,
591        Item::CoarseDirt,
592        Item::Mycelium,
593        Item::RootedDirt,
594        Item::MossBlock,
595        Item::PaleMossBlock,
596        Item::Mud,
597        Item::MuddyMangroveRoots,
598    ])
599});
600pub static DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
601    HashSet::from_iter(vec![
602        Item::CopperDoor,
603        Item::ExposedCopperDoor,
604        Item::WeatheredCopperDoor,
605        Item::OxidizedCopperDoor,
606        Item::WaxedCopperDoor,
607        Item::WaxedExposedCopperDoor,
608        Item::WaxedWeatheredCopperDoor,
609        Item::WaxedOxidizedCopperDoor,
610        Item::IronDoor,
611        Item::OakDoor,
612        Item::SpruceDoor,
613        Item::BirchDoor,
614        Item::JungleDoor,
615        Item::AcaciaDoor,
616        Item::DarkOakDoor,
617        Item::PaleOakDoor,
618        Item::CrimsonDoor,
619        Item::WarpedDoor,
620        Item::MangroveDoor,
621        Item::BambooDoor,
622        Item::CherryDoor,
623    ])
624});
625pub static DROWNED_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
626    LazyLock::new(|| HashSet::from_iter(vec![Item::Trident]));
627pub static DUPLICATES_ALLAYS: LazyLock<HashSet<Item>> =
628    LazyLock::new(|| HashSet::from_iter(vec![Item::AmethystShard]));
629pub static DYEABLE: LazyLock<HashSet<Item>> = LazyLock::new(|| {
630    HashSet::from_iter(vec![
631        Item::LeatherHelmet,
632        Item::LeatherChestplate,
633        Item::LeatherLeggings,
634        Item::LeatherBoots,
635        Item::LeatherHorseArmor,
636        Item::WolfArmor,
637    ])
638});
639pub static EGGS: LazyLock<HashSet<Item>> =
640    LazyLock::new(|| HashSet::from_iter(vec![Item::Egg, Item::BlueEgg, Item::BrownEgg]));
641pub static EMERALD_ORES: LazyLock<HashSet<Item>> =
642    LazyLock::new(|| HashSet::from_iter(vec![Item::EmeraldOre, Item::DeepslateEmeraldOre]));
643pub static ENCHANTABLE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
644    HashSet::from_iter(vec![
645        Item::LeatherBoots,
646        Item::CopperBoots,
647        Item::ChainmailBoots,
648        Item::GoldenBoots,
649        Item::IronBoots,
650        Item::DiamondBoots,
651        Item::NetheriteBoots,
652        Item::LeatherLeggings,
653        Item::CopperLeggings,
654        Item::ChainmailLeggings,
655        Item::GoldenLeggings,
656        Item::IronLeggings,
657        Item::DiamondLeggings,
658        Item::NetheriteLeggings,
659        Item::LeatherChestplate,
660        Item::CopperChestplate,
661        Item::ChainmailChestplate,
662        Item::GoldenChestplate,
663        Item::IronChestplate,
664        Item::DiamondChestplate,
665        Item::NetheriteChestplate,
666        Item::LeatherHelmet,
667        Item::CopperHelmet,
668        Item::ChainmailHelmet,
669        Item::GoldenHelmet,
670        Item::IronHelmet,
671        Item::DiamondHelmet,
672        Item::NetheriteHelmet,
673        Item::TurtleHelmet,
674    ])
675});
676pub static ENCHANTABLE_BOW: LazyLock<HashSet<Item>> =
677    LazyLock::new(|| HashSet::from_iter(vec![Item::Bow]));
678pub static ENCHANTABLE_CHEST_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
679    HashSet::from_iter(vec![
680        Item::LeatherChestplate,
681        Item::CopperChestplate,
682        Item::ChainmailChestplate,
683        Item::GoldenChestplate,
684        Item::IronChestplate,
685        Item::DiamondChestplate,
686        Item::NetheriteChestplate,
687    ])
688});
689pub static ENCHANTABLE_CROSSBOW: LazyLock<HashSet<Item>> =
690    LazyLock::new(|| HashSet::from_iter(vec![Item::Crossbow]));
691pub static ENCHANTABLE_DURABILITY: LazyLock<HashSet<Item>> = LazyLock::new(|| {
692    HashSet::from_iter(vec![
693        Item::Elytra,
694        Item::Shield,
695        Item::Bow,
696        Item::Crossbow,
697        Item::Trident,
698        Item::FlintAndSteel,
699        Item::Shears,
700        Item::Brush,
701        Item::FishingRod,
702        Item::CarrotOnAStick,
703        Item::WarpedFungusOnAStick,
704        Item::Mace,
705        Item::LeatherBoots,
706        Item::CopperBoots,
707        Item::ChainmailBoots,
708        Item::GoldenBoots,
709        Item::IronBoots,
710        Item::DiamondBoots,
711        Item::NetheriteBoots,
712        Item::LeatherLeggings,
713        Item::CopperLeggings,
714        Item::ChainmailLeggings,
715        Item::GoldenLeggings,
716        Item::IronLeggings,
717        Item::DiamondLeggings,
718        Item::NetheriteLeggings,
719        Item::LeatherChestplate,
720        Item::CopperChestplate,
721        Item::ChainmailChestplate,
722        Item::GoldenChestplate,
723        Item::IronChestplate,
724        Item::DiamondChestplate,
725        Item::NetheriteChestplate,
726        Item::LeatherHelmet,
727        Item::CopperHelmet,
728        Item::ChainmailHelmet,
729        Item::GoldenHelmet,
730        Item::IronHelmet,
731        Item::DiamondHelmet,
732        Item::NetheriteHelmet,
733        Item::TurtleHelmet,
734        Item::DiamondSword,
735        Item::StoneSword,
736        Item::GoldenSword,
737        Item::NetheriteSword,
738        Item::WoodenSword,
739        Item::IronSword,
740        Item::CopperSword,
741        Item::DiamondAxe,
742        Item::StoneAxe,
743        Item::GoldenAxe,
744        Item::NetheriteAxe,
745        Item::WoodenAxe,
746        Item::IronAxe,
747        Item::CopperAxe,
748        Item::DiamondPickaxe,
749        Item::StonePickaxe,
750        Item::GoldenPickaxe,
751        Item::NetheritePickaxe,
752        Item::WoodenPickaxe,
753        Item::IronPickaxe,
754        Item::CopperPickaxe,
755        Item::DiamondShovel,
756        Item::StoneShovel,
757        Item::GoldenShovel,
758        Item::NetheriteShovel,
759        Item::WoodenShovel,
760        Item::IronShovel,
761        Item::CopperShovel,
762        Item::DiamondHoe,
763        Item::StoneHoe,
764        Item::GoldenHoe,
765        Item::NetheriteHoe,
766        Item::WoodenHoe,
767        Item::IronHoe,
768        Item::CopperHoe,
769    ])
770});
771pub static ENCHANTABLE_EQUIPPABLE: LazyLock<HashSet<Item>> = LazyLock::new(|| {
772    HashSet::from_iter(vec![
773        Item::Elytra,
774        Item::CarvedPumpkin,
775        Item::LeatherBoots,
776        Item::CopperBoots,
777        Item::ChainmailBoots,
778        Item::GoldenBoots,
779        Item::IronBoots,
780        Item::DiamondBoots,
781        Item::NetheriteBoots,
782        Item::LeatherLeggings,
783        Item::CopperLeggings,
784        Item::ChainmailLeggings,
785        Item::GoldenLeggings,
786        Item::IronLeggings,
787        Item::DiamondLeggings,
788        Item::NetheriteLeggings,
789        Item::LeatherChestplate,
790        Item::CopperChestplate,
791        Item::ChainmailChestplate,
792        Item::GoldenChestplate,
793        Item::IronChestplate,
794        Item::DiamondChestplate,
795        Item::NetheriteChestplate,
796        Item::LeatherHelmet,
797        Item::CopperHelmet,
798        Item::ChainmailHelmet,
799        Item::GoldenHelmet,
800        Item::IronHelmet,
801        Item::DiamondHelmet,
802        Item::NetheriteHelmet,
803        Item::TurtleHelmet,
804        Item::PlayerHead,
805        Item::CreeperHead,
806        Item::ZombieHead,
807        Item::SkeletonSkull,
808        Item::WitherSkeletonSkull,
809        Item::DragonHead,
810        Item::PiglinHead,
811    ])
812});
813pub static ENCHANTABLE_FIRE_ASPECT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
814    HashSet::from_iter(vec![
815        Item::Mace,
816        Item::DiamondSword,
817        Item::StoneSword,
818        Item::GoldenSword,
819        Item::NetheriteSword,
820        Item::WoodenSword,
821        Item::IronSword,
822        Item::CopperSword,
823    ])
824});
825pub static ENCHANTABLE_FISHING: LazyLock<HashSet<Item>> =
826    LazyLock::new(|| HashSet::from_iter(vec![Item::FishingRod]));
827pub static ENCHANTABLE_FOOT_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
828    HashSet::from_iter(vec![
829        Item::LeatherBoots,
830        Item::CopperBoots,
831        Item::ChainmailBoots,
832        Item::GoldenBoots,
833        Item::IronBoots,
834        Item::DiamondBoots,
835        Item::NetheriteBoots,
836    ])
837});
838pub static ENCHANTABLE_HEAD_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
839    HashSet::from_iter(vec![
840        Item::LeatherHelmet,
841        Item::CopperHelmet,
842        Item::ChainmailHelmet,
843        Item::GoldenHelmet,
844        Item::IronHelmet,
845        Item::DiamondHelmet,
846        Item::NetheriteHelmet,
847        Item::TurtleHelmet,
848    ])
849});
850pub static ENCHANTABLE_LEG_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
851    HashSet::from_iter(vec![
852        Item::LeatherLeggings,
853        Item::CopperLeggings,
854        Item::ChainmailLeggings,
855        Item::GoldenLeggings,
856        Item::IronLeggings,
857        Item::DiamondLeggings,
858        Item::NetheriteLeggings,
859    ])
860});
861pub static ENCHANTABLE_MACE: LazyLock<HashSet<Item>> =
862    LazyLock::new(|| HashSet::from_iter(vec![Item::Mace]));
863pub static ENCHANTABLE_MINING: LazyLock<HashSet<Item>> = LazyLock::new(|| {
864    HashSet::from_iter(vec![
865        Item::Shears,
866        Item::DiamondAxe,
867        Item::StoneAxe,
868        Item::GoldenAxe,
869        Item::NetheriteAxe,
870        Item::WoodenAxe,
871        Item::IronAxe,
872        Item::CopperAxe,
873        Item::DiamondPickaxe,
874        Item::StonePickaxe,
875        Item::GoldenPickaxe,
876        Item::NetheritePickaxe,
877        Item::WoodenPickaxe,
878        Item::IronPickaxe,
879        Item::CopperPickaxe,
880        Item::DiamondShovel,
881        Item::StoneShovel,
882        Item::GoldenShovel,
883        Item::NetheriteShovel,
884        Item::WoodenShovel,
885        Item::IronShovel,
886        Item::CopperShovel,
887        Item::DiamondHoe,
888        Item::StoneHoe,
889        Item::GoldenHoe,
890        Item::NetheriteHoe,
891        Item::WoodenHoe,
892        Item::IronHoe,
893        Item::CopperHoe,
894    ])
895});
896pub static ENCHANTABLE_MINING_LOOT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
897    HashSet::from_iter(vec![
898        Item::DiamondAxe,
899        Item::StoneAxe,
900        Item::GoldenAxe,
901        Item::NetheriteAxe,
902        Item::WoodenAxe,
903        Item::IronAxe,
904        Item::CopperAxe,
905        Item::DiamondPickaxe,
906        Item::StonePickaxe,
907        Item::GoldenPickaxe,
908        Item::NetheritePickaxe,
909        Item::WoodenPickaxe,
910        Item::IronPickaxe,
911        Item::CopperPickaxe,
912        Item::DiamondShovel,
913        Item::StoneShovel,
914        Item::GoldenShovel,
915        Item::NetheriteShovel,
916        Item::WoodenShovel,
917        Item::IronShovel,
918        Item::CopperShovel,
919        Item::DiamondHoe,
920        Item::StoneHoe,
921        Item::GoldenHoe,
922        Item::NetheriteHoe,
923        Item::WoodenHoe,
924        Item::IronHoe,
925        Item::CopperHoe,
926    ])
927});
928pub static ENCHANTABLE_SHARP_WEAPON: LazyLock<HashSet<Item>> = LazyLock::new(|| {
929    HashSet::from_iter(vec![
930        Item::DiamondSword,
931        Item::StoneSword,
932        Item::GoldenSword,
933        Item::NetheriteSword,
934        Item::WoodenSword,
935        Item::IronSword,
936        Item::CopperSword,
937        Item::DiamondAxe,
938        Item::StoneAxe,
939        Item::GoldenAxe,
940        Item::NetheriteAxe,
941        Item::WoodenAxe,
942        Item::IronAxe,
943        Item::CopperAxe,
944    ])
945});
946pub static ENCHANTABLE_SWORD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
947    HashSet::from_iter(vec![
948        Item::DiamondSword,
949        Item::StoneSword,
950        Item::GoldenSword,
951        Item::NetheriteSword,
952        Item::WoodenSword,
953        Item::IronSword,
954        Item::CopperSword,
955    ])
956});
957pub static ENCHANTABLE_TRIDENT: LazyLock<HashSet<Item>> =
958    LazyLock::new(|| HashSet::from_iter(vec![Item::Trident]));
959pub static ENCHANTABLE_VANISHING: LazyLock<HashSet<Item>> = LazyLock::new(|| {
960    HashSet::from_iter(vec![
961        Item::Compass,
962        Item::CarvedPumpkin,
963        Item::Elytra,
964        Item::Shield,
965        Item::Bow,
966        Item::Crossbow,
967        Item::Trident,
968        Item::FlintAndSteel,
969        Item::Shears,
970        Item::Brush,
971        Item::FishingRod,
972        Item::CarrotOnAStick,
973        Item::WarpedFungusOnAStick,
974        Item::Mace,
975        Item::PlayerHead,
976        Item::CreeperHead,
977        Item::ZombieHead,
978        Item::SkeletonSkull,
979        Item::WitherSkeletonSkull,
980        Item::DragonHead,
981        Item::PiglinHead,
982        Item::LeatherBoots,
983        Item::CopperBoots,
984        Item::ChainmailBoots,
985        Item::GoldenBoots,
986        Item::IronBoots,
987        Item::DiamondBoots,
988        Item::NetheriteBoots,
989        Item::LeatherLeggings,
990        Item::CopperLeggings,
991        Item::ChainmailLeggings,
992        Item::GoldenLeggings,
993        Item::IronLeggings,
994        Item::DiamondLeggings,
995        Item::NetheriteLeggings,
996        Item::LeatherChestplate,
997        Item::CopperChestplate,
998        Item::ChainmailChestplate,
999        Item::GoldenChestplate,
1000        Item::IronChestplate,
1001        Item::DiamondChestplate,
1002        Item::NetheriteChestplate,
1003        Item::LeatherHelmet,
1004        Item::CopperHelmet,
1005        Item::ChainmailHelmet,
1006        Item::GoldenHelmet,
1007        Item::IronHelmet,
1008        Item::DiamondHelmet,
1009        Item::NetheriteHelmet,
1010        Item::TurtleHelmet,
1011        Item::DiamondSword,
1012        Item::StoneSword,
1013        Item::GoldenSword,
1014        Item::NetheriteSword,
1015        Item::WoodenSword,
1016        Item::IronSword,
1017        Item::CopperSword,
1018        Item::DiamondAxe,
1019        Item::StoneAxe,
1020        Item::GoldenAxe,
1021        Item::NetheriteAxe,
1022        Item::WoodenAxe,
1023        Item::IronAxe,
1024        Item::CopperAxe,
1025        Item::DiamondPickaxe,
1026        Item::StonePickaxe,
1027        Item::GoldenPickaxe,
1028        Item::NetheritePickaxe,
1029        Item::WoodenPickaxe,
1030        Item::IronPickaxe,
1031        Item::CopperPickaxe,
1032        Item::DiamondShovel,
1033        Item::StoneShovel,
1034        Item::GoldenShovel,
1035        Item::NetheriteShovel,
1036        Item::WoodenShovel,
1037        Item::IronShovel,
1038        Item::CopperShovel,
1039        Item::DiamondHoe,
1040        Item::StoneHoe,
1041        Item::GoldenHoe,
1042        Item::NetheriteHoe,
1043        Item::WoodenHoe,
1044        Item::IronHoe,
1045        Item::CopperHoe,
1046    ])
1047});
1048pub static ENCHANTABLE_WEAPON: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1049    HashSet::from_iter(vec![
1050        Item::Mace,
1051        Item::DiamondSword,
1052        Item::StoneSword,
1053        Item::GoldenSword,
1054        Item::NetheriteSword,
1055        Item::WoodenSword,
1056        Item::IronSword,
1057        Item::CopperSword,
1058        Item::DiamondAxe,
1059        Item::StoneAxe,
1060        Item::GoldenAxe,
1061        Item::NetheriteAxe,
1062        Item::WoodenAxe,
1063        Item::IronAxe,
1064        Item::CopperAxe,
1065    ])
1066});
1067pub static FENCE_GATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1068    HashSet::from_iter(vec![
1069        Item::AcaciaFenceGate,
1070        Item::BirchFenceGate,
1071        Item::DarkOakFenceGate,
1072        Item::PaleOakFenceGate,
1073        Item::JungleFenceGate,
1074        Item::OakFenceGate,
1075        Item::SpruceFenceGate,
1076        Item::CrimsonFenceGate,
1077        Item::WarpedFenceGate,
1078        Item::MangroveFenceGate,
1079        Item::BambooFenceGate,
1080        Item::CherryFenceGate,
1081    ])
1082});
1083pub static FENCES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1084    HashSet::from_iter(vec![
1085        Item::NetherBrickFence,
1086        Item::OakFence,
1087        Item::AcaciaFence,
1088        Item::DarkOakFence,
1089        Item::PaleOakFence,
1090        Item::SpruceFence,
1091        Item::BirchFence,
1092        Item::JungleFence,
1093        Item::CrimsonFence,
1094        Item::WarpedFence,
1095        Item::MangroveFence,
1096        Item::BambooFence,
1097        Item::CherryFence,
1098    ])
1099});
1100pub static FISHES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1101    HashSet::from_iter(vec![
1102        Item::Cod,
1103        Item::CookedCod,
1104        Item::Salmon,
1105        Item::CookedSalmon,
1106        Item::Pufferfish,
1107        Item::TropicalFish,
1108    ])
1109});
1110pub static FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1111    HashSet::from_iter(vec![
1112        Item::Sunflower,
1113        Item::Lilac,
1114        Item::Peony,
1115        Item::RoseBush,
1116        Item::PitcherPlant,
1117        Item::FloweringAzaleaLeaves,
1118        Item::FloweringAzalea,
1119        Item::MangrovePropagule,
1120        Item::CherryLeaves,
1121        Item::PinkPetals,
1122        Item::Wildflowers,
1123        Item::ChorusFlower,
1124        Item::SporeBlossom,
1125        Item::CactusFlower,
1126        Item::Dandelion,
1127        Item::OpenEyeblossom,
1128        Item::Poppy,
1129        Item::BlueOrchid,
1130        Item::Allium,
1131        Item::AzureBluet,
1132        Item::RedTulip,
1133        Item::OrangeTulip,
1134        Item::WhiteTulip,
1135        Item::PinkTulip,
1136        Item::OxeyeDaisy,
1137        Item::Cornflower,
1138        Item::LilyOfTheValley,
1139        Item::WitherRose,
1140        Item::Torchflower,
1141        Item::ClosedEyeblossom,
1142    ])
1143});
1144pub static FOOT_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1145    HashSet::from_iter(vec![
1146        Item::LeatherBoots,
1147        Item::CopperBoots,
1148        Item::ChainmailBoots,
1149        Item::GoldenBoots,
1150        Item::IronBoots,
1151        Item::DiamondBoots,
1152        Item::NetheriteBoots,
1153    ])
1154});
1155pub static FOX_FOOD: LazyLock<HashSet<Item>> =
1156    LazyLock::new(|| HashSet::from_iter(vec![Item::SweetBerries, Item::GlowBerries]));
1157pub static FREEZE_IMMUNE_WEARABLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1158    HashSet::from_iter(vec![
1159        Item::LeatherBoots,
1160        Item::LeatherLeggings,
1161        Item::LeatherChestplate,
1162        Item::LeatherHelmet,
1163        Item::LeatherHorseArmor,
1164    ])
1165});
1166pub static FROG_FOOD: LazyLock<HashSet<Item>> =
1167    LazyLock::new(|| HashSet::from_iter(vec![Item::SlimeBall]));
1168pub static FURNACE_MINECART_FUEL: LazyLock<HashSet<Item>> =
1169    LazyLock::new(|| HashSet::from_iter(vec![Item::Coal, Item::Charcoal]));
1170pub static GAZE_DISGUISE_EQUIPMENT: LazyLock<HashSet<Item>> =
1171    LazyLock::new(|| HashSet::from_iter(vec![Item::CarvedPumpkin]));
1172pub static GOAT_FOOD: LazyLock<HashSet<Item>> =
1173    LazyLock::new(|| HashSet::from_iter(vec![Item::Wheat]));
1174pub static GOLD_ORES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1175    HashSet::from_iter(vec![
1176        Item::GoldOre,
1177        Item::NetherGoldOre,
1178        Item::DeepslateGoldOre,
1179    ])
1180});
1181pub static GOLD_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
1182    LazyLock::new(|| HashSet::from_iter(vec![Item::GoldIngot]));
1183pub static HANGING_SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1184    HashSet::from_iter(vec![
1185        Item::OakHangingSign,
1186        Item::SpruceHangingSign,
1187        Item::BirchHangingSign,
1188        Item::AcaciaHangingSign,
1189        Item::CherryHangingSign,
1190        Item::JungleHangingSign,
1191        Item::DarkOakHangingSign,
1192        Item::PaleOakHangingSign,
1193        Item::CrimsonHangingSign,
1194        Item::WarpedHangingSign,
1195        Item::MangroveHangingSign,
1196        Item::BambooHangingSign,
1197    ])
1198});
1199pub static HAPPY_GHAST_FOOD: LazyLock<HashSet<Item>> =
1200    LazyLock::new(|| HashSet::from_iter(vec![Item::Snowball]));
1201pub static HAPPY_GHAST_TEMPT_ITEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1202    HashSet::from_iter(vec![
1203        Item::Snowball,
1204        Item::WhiteHarness,
1205        Item::OrangeHarness,
1206        Item::MagentaHarness,
1207        Item::LightBlueHarness,
1208        Item::YellowHarness,
1209        Item::LimeHarness,
1210        Item::PinkHarness,
1211        Item::GrayHarness,
1212        Item::LightGrayHarness,
1213        Item::CyanHarness,
1214        Item::PurpleHarness,
1215        Item::BlueHarness,
1216        Item::BrownHarness,
1217        Item::GreenHarness,
1218        Item::RedHarness,
1219        Item::BlackHarness,
1220    ])
1221});
1222pub static HARNESSES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1223    HashSet::from_iter(vec![
1224        Item::WhiteHarness,
1225        Item::OrangeHarness,
1226        Item::MagentaHarness,
1227        Item::LightBlueHarness,
1228        Item::YellowHarness,
1229        Item::LimeHarness,
1230        Item::PinkHarness,
1231        Item::GrayHarness,
1232        Item::LightGrayHarness,
1233        Item::CyanHarness,
1234        Item::PurpleHarness,
1235        Item::BlueHarness,
1236        Item::BrownHarness,
1237        Item::GreenHarness,
1238        Item::RedHarness,
1239        Item::BlackHarness,
1240    ])
1241});
1242pub static HEAD_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1243    HashSet::from_iter(vec![
1244        Item::LeatherHelmet,
1245        Item::CopperHelmet,
1246        Item::ChainmailHelmet,
1247        Item::GoldenHelmet,
1248        Item::IronHelmet,
1249        Item::DiamondHelmet,
1250        Item::NetheriteHelmet,
1251        Item::TurtleHelmet,
1252    ])
1253});
1254pub static HOES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1255    HashSet::from_iter(vec![
1256        Item::DiamondHoe,
1257        Item::StoneHoe,
1258        Item::GoldenHoe,
1259        Item::NetheriteHoe,
1260        Item::WoodenHoe,
1261        Item::IronHoe,
1262        Item::CopperHoe,
1263    ])
1264});
1265pub static HOGLIN_FOOD: LazyLock<HashSet<Item>> =
1266    LazyLock::new(|| HashSet::from_iter(vec![Item::CrimsonFungus]));
1267pub static HORSE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1268    HashSet::from_iter(vec![
1269        Item::Wheat,
1270        Item::Sugar,
1271        Item::HayBlock,
1272        Item::Apple,
1273        Item::Carrot,
1274        Item::GoldenCarrot,
1275        Item::GoldenApple,
1276        Item::EnchantedGoldenApple,
1277    ])
1278});
1279pub static HORSE_TEMPT_ITEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1280    HashSet::from_iter(vec![
1281        Item::GoldenCarrot,
1282        Item::GoldenApple,
1283        Item::EnchantedGoldenApple,
1284    ])
1285});
1286pub static IGNORED_BY_PIGLIN_BABIES: LazyLock<HashSet<Item>> =
1287    LazyLock::new(|| HashSet::from_iter(vec![Item::Leather]));
1288pub static IRON_ORES: LazyLock<HashSet<Item>> =
1289    LazyLock::new(|| HashSet::from_iter(vec![Item::IronOre, Item::DeepslateIronOre]));
1290pub static IRON_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
1291    LazyLock::new(|| HashSet::from_iter(vec![Item::IronIngot]));
1292pub static JUNGLE_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1293    HashSet::from_iter(vec![
1294        Item::JungleLog,
1295        Item::JungleWood,
1296        Item::StrippedJungleLog,
1297        Item::StrippedJungleWood,
1298    ])
1299});
1300pub static LANTERNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1301    HashSet::from_iter(vec![
1302        Item::Lantern,
1303        Item::SoulLantern,
1304        Item::CopperLantern,
1305        Item::WaxedCopperLantern,
1306        Item::ExposedCopperLantern,
1307        Item::WaxedExposedCopperLantern,
1308        Item::WeatheredCopperLantern,
1309        Item::WaxedWeatheredCopperLantern,
1310        Item::OxidizedCopperLantern,
1311        Item::WaxedOxidizedCopperLantern,
1312    ])
1313});
1314pub static LAPIS_ORES: LazyLock<HashSet<Item>> =
1315    LazyLock::new(|| HashSet::from_iter(vec![Item::LapisOre, Item::DeepslateLapisOre]));
1316pub static LEAVES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1317    HashSet::from_iter(vec![
1318        Item::JungleLeaves,
1319        Item::OakLeaves,
1320        Item::SpruceLeaves,
1321        Item::PaleOakLeaves,
1322        Item::DarkOakLeaves,
1323        Item::AcaciaLeaves,
1324        Item::BirchLeaves,
1325        Item::AzaleaLeaves,
1326        Item::FloweringAzaleaLeaves,
1327        Item::MangroveLeaves,
1328        Item::CherryLeaves,
1329    ])
1330});
1331pub static LECTERN_BOOKS: LazyLock<HashSet<Item>> =
1332    LazyLock::new(|| HashSet::from_iter(vec![Item::WrittenBook, Item::WritableBook]));
1333pub static LEG_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1334    HashSet::from_iter(vec![
1335        Item::LeatherLeggings,
1336        Item::CopperLeggings,
1337        Item::ChainmailLeggings,
1338        Item::GoldenLeggings,
1339        Item::IronLeggings,
1340        Item::DiamondLeggings,
1341        Item::NetheriteLeggings,
1342    ])
1343});
1344pub static LIGHTNING_RODS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1345    HashSet::from_iter(vec![
1346        Item::LightningRod,
1347        Item::ExposedLightningRod,
1348        Item::WeatheredLightningRod,
1349        Item::OxidizedLightningRod,
1350        Item::WaxedLightningRod,
1351        Item::WaxedExposedLightningRod,
1352        Item::WaxedWeatheredLightningRod,
1353        Item::WaxedOxidizedLightningRod,
1354    ])
1355});
1356pub static LLAMA_FOOD: LazyLock<HashSet<Item>> =
1357    LazyLock::new(|| HashSet::from_iter(vec![Item::Wheat, Item::HayBlock]));
1358pub static LLAMA_TEMPT_ITEMS: LazyLock<HashSet<Item>> =
1359    LazyLock::new(|| HashSet::from_iter(vec![Item::HayBlock]));
1360pub static LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1361    HashSet::from_iter(vec![
1362        Item::CrimsonStem,
1363        Item::StrippedCrimsonStem,
1364        Item::CrimsonHyphae,
1365        Item::StrippedCrimsonHyphae,
1366        Item::WarpedStem,
1367        Item::StrippedWarpedStem,
1368        Item::WarpedHyphae,
1369        Item::StrippedWarpedHyphae,
1370        Item::DarkOakLog,
1371        Item::DarkOakWood,
1372        Item::StrippedDarkOakLog,
1373        Item::StrippedDarkOakWood,
1374        Item::PaleOakLog,
1375        Item::PaleOakWood,
1376        Item::StrippedPaleOakLog,
1377        Item::StrippedPaleOakWood,
1378        Item::OakLog,
1379        Item::OakWood,
1380        Item::StrippedOakLog,
1381        Item::StrippedOakWood,
1382        Item::AcaciaLog,
1383        Item::AcaciaWood,
1384        Item::StrippedAcaciaLog,
1385        Item::StrippedAcaciaWood,
1386        Item::BirchLog,
1387        Item::BirchWood,
1388        Item::StrippedBirchLog,
1389        Item::StrippedBirchWood,
1390        Item::JungleLog,
1391        Item::JungleWood,
1392        Item::StrippedJungleLog,
1393        Item::StrippedJungleWood,
1394        Item::SpruceLog,
1395        Item::SpruceWood,
1396        Item::StrippedSpruceLog,
1397        Item::StrippedSpruceWood,
1398        Item::MangroveLog,
1399        Item::MangroveWood,
1400        Item::StrippedMangroveLog,
1401        Item::StrippedMangroveWood,
1402        Item::CherryLog,
1403        Item::CherryWood,
1404        Item::StrippedCherryLog,
1405        Item::StrippedCherryWood,
1406    ])
1407});
1408pub static LOGS_THAT_BURN: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1409    HashSet::from_iter(vec![
1410        Item::DarkOakLog,
1411        Item::DarkOakWood,
1412        Item::StrippedDarkOakLog,
1413        Item::StrippedDarkOakWood,
1414        Item::PaleOakLog,
1415        Item::PaleOakWood,
1416        Item::StrippedPaleOakLog,
1417        Item::StrippedPaleOakWood,
1418        Item::OakLog,
1419        Item::OakWood,
1420        Item::StrippedOakLog,
1421        Item::StrippedOakWood,
1422        Item::AcaciaLog,
1423        Item::AcaciaWood,
1424        Item::StrippedAcaciaLog,
1425        Item::StrippedAcaciaWood,
1426        Item::BirchLog,
1427        Item::BirchWood,
1428        Item::StrippedBirchLog,
1429        Item::StrippedBirchWood,
1430        Item::JungleLog,
1431        Item::JungleWood,
1432        Item::StrippedJungleLog,
1433        Item::StrippedJungleWood,
1434        Item::SpruceLog,
1435        Item::SpruceWood,
1436        Item::StrippedSpruceLog,
1437        Item::StrippedSpruceWood,
1438        Item::MangroveLog,
1439        Item::MangroveWood,
1440        Item::StrippedMangroveLog,
1441        Item::StrippedMangroveWood,
1442        Item::CherryLog,
1443        Item::CherryWood,
1444        Item::StrippedCherryLog,
1445        Item::StrippedCherryWood,
1446    ])
1447});
1448pub static MANGROVE_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1449    HashSet::from_iter(vec![
1450        Item::MangroveLog,
1451        Item::MangroveWood,
1452        Item::StrippedMangroveLog,
1453        Item::StrippedMangroveWood,
1454    ])
1455});
1456pub static MAP_INVISIBILITY_EQUIPMENT: LazyLock<HashSet<Item>> =
1457    LazyLock::new(|| HashSet::from_iter(vec![Item::CarvedPumpkin]));
1458pub static MEAT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1459    HashSet::from_iter(vec![
1460        Item::Beef,
1461        Item::Chicken,
1462        Item::CookedBeef,
1463        Item::CookedChicken,
1464        Item::CookedMutton,
1465        Item::CookedPorkchop,
1466        Item::CookedRabbit,
1467        Item::Mutton,
1468        Item::Porkchop,
1469        Item::Rabbit,
1470        Item::RottenFlesh,
1471    ])
1472});
1473pub static NETHERITE_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
1474    LazyLock::new(|| HashSet::from_iter(vec![Item::NetheriteIngot]));
1475pub static NON_FLAMMABLE_WOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1476    HashSet::from_iter(vec![
1477        Item::WarpedStem,
1478        Item::StrippedWarpedStem,
1479        Item::WarpedHyphae,
1480        Item::StrippedWarpedHyphae,
1481        Item::CrimsonStem,
1482        Item::StrippedCrimsonStem,
1483        Item::CrimsonHyphae,
1484        Item::StrippedCrimsonHyphae,
1485        Item::CrimsonPlanks,
1486        Item::WarpedPlanks,
1487        Item::CrimsonSlab,
1488        Item::WarpedSlab,
1489        Item::CrimsonPressurePlate,
1490        Item::WarpedPressurePlate,
1491        Item::CrimsonFence,
1492        Item::WarpedFence,
1493        Item::CrimsonTrapdoor,
1494        Item::WarpedTrapdoor,
1495        Item::CrimsonFenceGate,
1496        Item::WarpedFenceGate,
1497        Item::CrimsonStairs,
1498        Item::WarpedStairs,
1499        Item::CrimsonButton,
1500        Item::WarpedButton,
1501        Item::CrimsonDoor,
1502        Item::WarpedDoor,
1503        Item::CrimsonSign,
1504        Item::WarpedSign,
1505        Item::WarpedHangingSign,
1506        Item::CrimsonHangingSign,
1507        Item::WarpedShelf,
1508        Item::CrimsonShelf,
1509    ])
1510});
1511pub static NOTEBLOCK_TOP_INSTRUMENTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1512    HashSet::from_iter(vec![
1513        Item::ZombieHead,
1514        Item::SkeletonSkull,
1515        Item::CreeperHead,
1516        Item::DragonHead,
1517        Item::WitherSkeletonSkull,
1518        Item::PiglinHead,
1519        Item::PlayerHead,
1520    ])
1521});
1522pub static OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1523    HashSet::from_iter(vec![
1524        Item::OakLog,
1525        Item::OakWood,
1526        Item::StrippedOakLog,
1527        Item::StrippedOakWood,
1528    ])
1529});
1530pub static OCELOT_FOOD: LazyLock<HashSet<Item>> =
1531    LazyLock::new(|| HashSet::from_iter(vec![Item::Cod, Item::Salmon]));
1532pub static PALE_OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1533    HashSet::from_iter(vec![
1534        Item::PaleOakLog,
1535        Item::PaleOakWood,
1536        Item::StrippedPaleOakLog,
1537        Item::StrippedPaleOakWood,
1538    ])
1539});
1540pub static PANDA_EATS_FROM_GROUND: LazyLock<HashSet<Item>> =
1541    LazyLock::new(|| HashSet::from_iter(vec![Item::Cake, Item::Bamboo]));
1542pub static PANDA_FOOD: LazyLock<HashSet<Item>> =
1543    LazyLock::new(|| HashSet::from_iter(vec![Item::Bamboo]));
1544pub static PARROT_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1545    HashSet::from_iter(vec![
1546        Item::WheatSeeds,
1547        Item::MelonSeeds,
1548        Item::PumpkinSeeds,
1549        Item::BeetrootSeeds,
1550        Item::TorchflowerSeeds,
1551        Item::PitcherPod,
1552    ])
1553});
1554pub static PARROT_POISONOUS_FOOD: LazyLock<HashSet<Item>> =
1555    LazyLock::new(|| HashSet::from_iter(vec![Item::Cookie]));
1556pub static PICKAXES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1557    HashSet::from_iter(vec![
1558        Item::DiamondPickaxe,
1559        Item::StonePickaxe,
1560        Item::GoldenPickaxe,
1561        Item::NetheritePickaxe,
1562        Item::WoodenPickaxe,
1563        Item::IronPickaxe,
1564        Item::CopperPickaxe,
1565    ])
1566});
1567pub static PIG_FOOD: LazyLock<HashSet<Item>> =
1568    LazyLock::new(|| HashSet::from_iter(vec![Item::Carrot, Item::Potato, Item::Beetroot]));
1569pub static PIGLIN_FOOD: LazyLock<HashSet<Item>> =
1570    LazyLock::new(|| HashSet::from_iter(vec![Item::Porkchop, Item::CookedPorkchop]));
1571pub static PIGLIN_LOVED: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1572    HashSet::from_iter(vec![
1573        Item::GoldBlock,
1574        Item::GildedBlackstone,
1575        Item::LightWeightedPressurePlate,
1576        Item::GoldIngot,
1577        Item::Bell,
1578        Item::Clock,
1579        Item::GoldenCarrot,
1580        Item::GlisteringMelonSlice,
1581        Item::GoldenApple,
1582        Item::EnchantedGoldenApple,
1583        Item::GoldenHelmet,
1584        Item::GoldenChestplate,
1585        Item::GoldenLeggings,
1586        Item::GoldenBoots,
1587        Item::GoldenHorseArmor,
1588        Item::GoldenSword,
1589        Item::GoldenPickaxe,
1590        Item::GoldenShovel,
1591        Item::GoldenAxe,
1592        Item::GoldenHoe,
1593        Item::RawGold,
1594        Item::RawGoldBlock,
1595        Item::GoldOre,
1596        Item::NetherGoldOre,
1597        Item::DeepslateGoldOre,
1598    ])
1599});
1600pub static PIGLIN_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
1601    LazyLock::new(|| HashSet::from_iter(vec![Item::Crossbow]));
1602pub static PIGLIN_REPELLENTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1603    HashSet::from_iter(vec![Item::SoulTorch, Item::SoulLantern, Item::SoulCampfire])
1604});
1605pub static PIGLIN_SAFE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1606    HashSet::from_iter(vec![
1607        Item::GoldenHelmet,
1608        Item::GoldenChestplate,
1609        Item::GoldenLeggings,
1610        Item::GoldenBoots,
1611    ])
1612});
1613pub static PILLAGER_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
1614    LazyLock::new(|| HashSet::from_iter(vec![Item::Crossbow]));
1615pub static PLANKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1616    HashSet::from_iter(vec![
1617        Item::OakPlanks,
1618        Item::SprucePlanks,
1619        Item::BirchPlanks,
1620        Item::JunglePlanks,
1621        Item::AcaciaPlanks,
1622        Item::DarkOakPlanks,
1623        Item::PaleOakPlanks,
1624        Item::CrimsonPlanks,
1625        Item::WarpedPlanks,
1626        Item::MangrovePlanks,
1627        Item::BambooPlanks,
1628        Item::CherryPlanks,
1629    ])
1630});
1631pub static RABBIT_FOOD: LazyLock<HashSet<Item>> =
1632    LazyLock::new(|| HashSet::from_iter(vec![Item::Carrot, Item::GoldenCarrot, Item::Dandelion]));
1633pub static RAILS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1634    HashSet::from_iter(vec![
1635        Item::Rail,
1636        Item::PoweredRail,
1637        Item::DetectorRail,
1638        Item::ActivatorRail,
1639    ])
1640});
1641pub static REDSTONE_ORES: LazyLock<HashSet<Item>> =
1642    LazyLock::new(|| HashSet::from_iter(vec![Item::RedstoneOre, Item::DeepslateRedstoneOre]));
1643pub static REPAIRS_CHAIN_ARMOR: LazyLock<HashSet<Item>> =
1644    LazyLock::new(|| HashSet::from_iter(vec![Item::IronIngot]));
1645pub static REPAIRS_COPPER_ARMOR: LazyLock<HashSet<Item>> =
1646    LazyLock::new(|| HashSet::from_iter(vec![Item::CopperIngot]));
1647pub static REPAIRS_DIAMOND_ARMOR: LazyLock<HashSet<Item>> =
1648    LazyLock::new(|| HashSet::from_iter(vec![Item::Diamond]));
1649pub static REPAIRS_GOLD_ARMOR: LazyLock<HashSet<Item>> =
1650    LazyLock::new(|| HashSet::from_iter(vec![Item::GoldIngot]));
1651pub static REPAIRS_IRON_ARMOR: LazyLock<HashSet<Item>> =
1652    LazyLock::new(|| HashSet::from_iter(vec![Item::IronIngot]));
1653pub static REPAIRS_LEATHER_ARMOR: LazyLock<HashSet<Item>> =
1654    LazyLock::new(|| HashSet::from_iter(vec![Item::Leather]));
1655pub static REPAIRS_NETHERITE_ARMOR: LazyLock<HashSet<Item>> =
1656    LazyLock::new(|| HashSet::from_iter(vec![Item::NetheriteIngot]));
1657pub static REPAIRS_TURTLE_HELMET: LazyLock<HashSet<Item>> =
1658    LazyLock::new(|| HashSet::from_iter(vec![Item::TurtleScute]));
1659pub static REPAIRS_WOLF_ARMOR: LazyLock<HashSet<Item>> =
1660    LazyLock::new(|| HashSet::from_iter(vec![Item::ArmadilloScute]));
1661pub static SAND: LazyLock<HashSet<Item>> =
1662    LazyLock::new(|| HashSet::from_iter(vec![Item::Sand, Item::RedSand, Item::SuspiciousSand]));
1663pub static SAPLINGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1664    HashSet::from_iter(vec![
1665        Item::OakSapling,
1666        Item::SpruceSapling,
1667        Item::BirchSapling,
1668        Item::JungleSapling,
1669        Item::AcaciaSapling,
1670        Item::DarkOakSapling,
1671        Item::PaleOakSapling,
1672        Item::Azalea,
1673        Item::FloweringAzalea,
1674        Item::MangrovePropagule,
1675        Item::CherrySapling,
1676    ])
1677});
1678pub static SHEARABLE_FROM_COPPER_GOLEM: LazyLock<HashSet<Item>> =
1679    LazyLock::new(|| HashSet::from_iter(vec![Item::Poppy]));
1680pub static SHEEP_FOOD: LazyLock<HashSet<Item>> =
1681    LazyLock::new(|| HashSet::from_iter(vec![Item::Wheat]));
1682pub static SHOVELS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1683    HashSet::from_iter(vec![
1684        Item::DiamondShovel,
1685        Item::StoneShovel,
1686        Item::GoldenShovel,
1687        Item::NetheriteShovel,
1688        Item::WoodenShovel,
1689        Item::IronShovel,
1690        Item::CopperShovel,
1691    ])
1692});
1693pub static SHULKER_BOXES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1694    HashSet::from_iter(vec![
1695        Item::ShulkerBox,
1696        Item::BlackShulkerBox,
1697        Item::BlueShulkerBox,
1698        Item::BrownShulkerBox,
1699        Item::CyanShulkerBox,
1700        Item::GrayShulkerBox,
1701        Item::GreenShulkerBox,
1702        Item::LightBlueShulkerBox,
1703        Item::LightGrayShulkerBox,
1704        Item::LimeShulkerBox,
1705        Item::MagentaShulkerBox,
1706        Item::OrangeShulkerBox,
1707        Item::PinkShulkerBox,
1708        Item::PurpleShulkerBox,
1709        Item::RedShulkerBox,
1710        Item::WhiteShulkerBox,
1711        Item::YellowShulkerBox,
1712    ])
1713});
1714pub static SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1715    HashSet::from_iter(vec![
1716        Item::OakSign,
1717        Item::SpruceSign,
1718        Item::BirchSign,
1719        Item::AcaciaSign,
1720        Item::JungleSign,
1721        Item::DarkOakSign,
1722        Item::PaleOakSign,
1723        Item::CrimsonSign,
1724        Item::WarpedSign,
1725        Item::MangroveSign,
1726        Item::BambooSign,
1727        Item::CherrySign,
1728    ])
1729});
1730pub static SKELETON_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
1731    LazyLock::new(|| HashSet::from_iter(vec![Item::Bow]));
1732pub static SKULLS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1733    HashSet::from_iter(vec![
1734        Item::PlayerHead,
1735        Item::CreeperHead,
1736        Item::ZombieHead,
1737        Item::SkeletonSkull,
1738        Item::WitherSkeletonSkull,
1739        Item::DragonHead,
1740        Item::PiglinHead,
1741    ])
1742});
1743pub static SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1744    HashSet::from_iter(vec![
1745        Item::BambooMosaicSlab,
1746        Item::StoneSlab,
1747        Item::SmoothStoneSlab,
1748        Item::StoneBrickSlab,
1749        Item::SandstoneSlab,
1750        Item::PurpurSlab,
1751        Item::QuartzSlab,
1752        Item::RedSandstoneSlab,
1753        Item::BrickSlab,
1754        Item::CobblestoneSlab,
1755        Item::NetherBrickSlab,
1756        Item::PetrifiedOakSlab,
1757        Item::PrismarineSlab,
1758        Item::PrismarineBrickSlab,
1759        Item::DarkPrismarineSlab,
1760        Item::PolishedGraniteSlab,
1761        Item::SmoothRedSandstoneSlab,
1762        Item::MossyStoneBrickSlab,
1763        Item::PolishedDioriteSlab,
1764        Item::MossyCobblestoneSlab,
1765        Item::EndStoneBrickSlab,
1766        Item::SmoothSandstoneSlab,
1767        Item::SmoothQuartzSlab,
1768        Item::GraniteSlab,
1769        Item::AndesiteSlab,
1770        Item::RedNetherBrickSlab,
1771        Item::PolishedAndesiteSlab,
1772        Item::DioriteSlab,
1773        Item::CutSandstoneSlab,
1774        Item::CutRedSandstoneSlab,
1775        Item::BlackstoneSlab,
1776        Item::PolishedBlackstoneBrickSlab,
1777        Item::PolishedBlackstoneSlab,
1778        Item::CobbledDeepslateSlab,
1779        Item::PolishedDeepslateSlab,
1780        Item::DeepslateTileSlab,
1781        Item::DeepslateBrickSlab,
1782        Item::WaxedWeatheredCutCopperSlab,
1783        Item::WaxedExposedCutCopperSlab,
1784        Item::WaxedCutCopperSlab,
1785        Item::OxidizedCutCopperSlab,
1786        Item::WeatheredCutCopperSlab,
1787        Item::ExposedCutCopperSlab,
1788        Item::CutCopperSlab,
1789        Item::WaxedOxidizedCutCopperSlab,
1790        Item::MudBrickSlab,
1791        Item::TuffSlab,
1792        Item::PolishedTuffSlab,
1793        Item::TuffBrickSlab,
1794        Item::ResinBrickSlab,
1795        Item::OakSlab,
1796        Item::SpruceSlab,
1797        Item::BirchSlab,
1798        Item::JungleSlab,
1799        Item::AcaciaSlab,
1800        Item::DarkOakSlab,
1801        Item::PaleOakSlab,
1802        Item::CrimsonSlab,
1803        Item::WarpedSlab,
1804        Item::MangroveSlab,
1805        Item::BambooSlab,
1806        Item::CherrySlab,
1807    ])
1808});
1809pub static SMALL_FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1810    HashSet::from_iter(vec![
1811        Item::Dandelion,
1812        Item::OpenEyeblossom,
1813        Item::Poppy,
1814        Item::BlueOrchid,
1815        Item::Allium,
1816        Item::AzureBluet,
1817        Item::RedTulip,
1818        Item::OrangeTulip,
1819        Item::WhiteTulip,
1820        Item::PinkTulip,
1821        Item::OxeyeDaisy,
1822        Item::Cornflower,
1823        Item::LilyOfTheValley,
1824        Item::WitherRose,
1825        Item::Torchflower,
1826        Item::ClosedEyeblossom,
1827    ])
1828});
1829pub static SMELTS_TO_GLASS: LazyLock<HashSet<Item>> =
1830    LazyLock::new(|| HashSet::from_iter(vec![Item::Sand, Item::RedSand]));
1831pub static SNIFFER_FOOD: LazyLock<HashSet<Item>> =
1832    LazyLock::new(|| HashSet::from_iter(vec![Item::TorchflowerSeeds]));
1833pub static SOUL_FIRE_BASE_BLOCKS: LazyLock<HashSet<Item>> =
1834    LazyLock::new(|| HashSet::from_iter(vec![Item::SoulSand, Item::SoulSoil]));
1835pub static SPRUCE_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1836    HashSet::from_iter(vec![
1837        Item::SpruceLog,
1838        Item::SpruceWood,
1839        Item::StrippedSpruceLog,
1840        Item::StrippedSpruceWood,
1841    ])
1842});
1843pub static STAIRS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1844    HashSet::from_iter(vec![
1845        Item::BambooMosaicStairs,
1846        Item::CobblestoneStairs,
1847        Item::SandstoneStairs,
1848        Item::NetherBrickStairs,
1849        Item::StoneBrickStairs,
1850        Item::BrickStairs,
1851        Item::PurpurStairs,
1852        Item::QuartzStairs,
1853        Item::RedSandstoneStairs,
1854        Item::PrismarineBrickStairs,
1855        Item::PrismarineStairs,
1856        Item::DarkPrismarineStairs,
1857        Item::PolishedGraniteStairs,
1858        Item::SmoothRedSandstoneStairs,
1859        Item::MossyStoneBrickStairs,
1860        Item::PolishedDioriteStairs,
1861        Item::MossyCobblestoneStairs,
1862        Item::EndStoneBrickStairs,
1863        Item::StoneStairs,
1864        Item::SmoothSandstoneStairs,
1865        Item::SmoothQuartzStairs,
1866        Item::GraniteStairs,
1867        Item::AndesiteStairs,
1868        Item::RedNetherBrickStairs,
1869        Item::PolishedAndesiteStairs,
1870        Item::DioriteStairs,
1871        Item::BlackstoneStairs,
1872        Item::PolishedBlackstoneBrickStairs,
1873        Item::PolishedBlackstoneStairs,
1874        Item::CobbledDeepslateStairs,
1875        Item::PolishedDeepslateStairs,
1876        Item::DeepslateTileStairs,
1877        Item::DeepslateBrickStairs,
1878        Item::OxidizedCutCopperStairs,
1879        Item::WeatheredCutCopperStairs,
1880        Item::ExposedCutCopperStairs,
1881        Item::CutCopperStairs,
1882        Item::WaxedWeatheredCutCopperStairs,
1883        Item::WaxedExposedCutCopperStairs,
1884        Item::WaxedCutCopperStairs,
1885        Item::WaxedOxidizedCutCopperStairs,
1886        Item::MudBrickStairs,
1887        Item::TuffStairs,
1888        Item::PolishedTuffStairs,
1889        Item::TuffBrickStairs,
1890        Item::ResinBrickStairs,
1891        Item::OakStairs,
1892        Item::SpruceStairs,
1893        Item::BirchStairs,
1894        Item::JungleStairs,
1895        Item::AcaciaStairs,
1896        Item::DarkOakStairs,
1897        Item::PaleOakStairs,
1898        Item::CrimsonStairs,
1899        Item::WarpedStairs,
1900        Item::MangroveStairs,
1901        Item::BambooStairs,
1902        Item::CherryStairs,
1903    ])
1904});
1905pub static STONE_BRICKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1906    HashSet::from_iter(vec![
1907        Item::StoneBricks,
1908        Item::MossyStoneBricks,
1909        Item::CrackedStoneBricks,
1910        Item::ChiseledStoneBricks,
1911    ])
1912});
1913pub static STONE_BUTTONS: LazyLock<HashSet<Item>> =
1914    LazyLock::new(|| HashSet::from_iter(vec![Item::StoneButton, Item::PolishedBlackstoneButton]));
1915pub static STONE_CRAFTING_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1916    HashSet::from_iter(vec![
1917        Item::Cobblestone,
1918        Item::Blackstone,
1919        Item::CobbledDeepslate,
1920    ])
1921});
1922pub static STONE_TOOL_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1923    HashSet::from_iter(vec![
1924        Item::Cobblestone,
1925        Item::Blackstone,
1926        Item::CobbledDeepslate,
1927    ])
1928});
1929pub static STRIDER_FOOD: LazyLock<HashSet<Item>> =
1930    LazyLock::new(|| HashSet::from_iter(vec![Item::WarpedFungus]));
1931pub static STRIDER_TEMPT_ITEMS: LazyLock<HashSet<Item>> =
1932    LazyLock::new(|| HashSet::from_iter(vec![Item::WarpedFungusOnAStick, Item::WarpedFungus]));
1933pub static SWORDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1934    HashSet::from_iter(vec![
1935        Item::DiamondSword,
1936        Item::StoneSword,
1937        Item::GoldenSword,
1938        Item::NetheriteSword,
1939        Item::WoodenSword,
1940        Item::IronSword,
1941        Item::CopperSword,
1942    ])
1943});
1944pub static TERRACOTTA: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1945    HashSet::from_iter(vec![
1946        Item::Terracotta,
1947        Item::WhiteTerracotta,
1948        Item::OrangeTerracotta,
1949        Item::MagentaTerracotta,
1950        Item::LightBlueTerracotta,
1951        Item::YellowTerracotta,
1952        Item::LimeTerracotta,
1953        Item::PinkTerracotta,
1954        Item::GrayTerracotta,
1955        Item::LightGrayTerracotta,
1956        Item::CyanTerracotta,
1957        Item::PurpleTerracotta,
1958        Item::BlueTerracotta,
1959        Item::BrownTerracotta,
1960        Item::GreenTerracotta,
1961        Item::RedTerracotta,
1962        Item::BlackTerracotta,
1963    ])
1964});
1965pub static TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1966    HashSet::from_iter(vec![
1967        Item::IronTrapdoor,
1968        Item::CopperTrapdoor,
1969        Item::ExposedCopperTrapdoor,
1970        Item::WeatheredCopperTrapdoor,
1971        Item::OxidizedCopperTrapdoor,
1972        Item::WaxedCopperTrapdoor,
1973        Item::WaxedExposedCopperTrapdoor,
1974        Item::WaxedWeatheredCopperTrapdoor,
1975        Item::WaxedOxidizedCopperTrapdoor,
1976        Item::AcaciaTrapdoor,
1977        Item::BirchTrapdoor,
1978        Item::DarkOakTrapdoor,
1979        Item::PaleOakTrapdoor,
1980        Item::JungleTrapdoor,
1981        Item::OakTrapdoor,
1982        Item::SpruceTrapdoor,
1983        Item::CrimsonTrapdoor,
1984        Item::WarpedTrapdoor,
1985        Item::MangroveTrapdoor,
1986        Item::BambooTrapdoor,
1987        Item::CherryTrapdoor,
1988    ])
1989});
1990pub static TRIM_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
1991    HashSet::from_iter(vec![
1992        Item::AmethystShard,
1993        Item::CopperIngot,
1994        Item::Diamond,
1995        Item::Emerald,
1996        Item::GoldIngot,
1997        Item::IronIngot,
1998        Item::LapisLazuli,
1999        Item::NetheriteIngot,
2000        Item::Quartz,
2001        Item::Redstone,
2002        Item::ResinBrick,
2003    ])
2004});
2005pub static TRIMMABLE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2006    HashSet::from_iter(vec![
2007        Item::LeatherBoots,
2008        Item::CopperBoots,
2009        Item::ChainmailBoots,
2010        Item::GoldenBoots,
2011        Item::IronBoots,
2012        Item::DiamondBoots,
2013        Item::NetheriteBoots,
2014        Item::LeatherLeggings,
2015        Item::CopperLeggings,
2016        Item::ChainmailLeggings,
2017        Item::GoldenLeggings,
2018        Item::IronLeggings,
2019        Item::DiamondLeggings,
2020        Item::NetheriteLeggings,
2021        Item::LeatherChestplate,
2022        Item::CopperChestplate,
2023        Item::ChainmailChestplate,
2024        Item::GoldenChestplate,
2025        Item::IronChestplate,
2026        Item::DiamondChestplate,
2027        Item::NetheriteChestplate,
2028        Item::LeatherHelmet,
2029        Item::CopperHelmet,
2030        Item::ChainmailHelmet,
2031        Item::GoldenHelmet,
2032        Item::IronHelmet,
2033        Item::DiamondHelmet,
2034        Item::NetheriteHelmet,
2035        Item::TurtleHelmet,
2036    ])
2037});
2038pub static TURTLE_FOOD: LazyLock<HashSet<Item>> =
2039    LazyLock::new(|| HashSet::from_iter(vec![Item::Seagrass]));
2040pub static VILLAGER_PICKS_UP: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2041    HashSet::from_iter(vec![
2042        Item::Bread,
2043        Item::Wheat,
2044        Item::Beetroot,
2045        Item::WheatSeeds,
2046        Item::Potato,
2047        Item::Carrot,
2048        Item::BeetrootSeeds,
2049        Item::TorchflowerSeeds,
2050        Item::PitcherPod,
2051    ])
2052});
2053pub static VILLAGER_PLANTABLE_SEEDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2054    HashSet::from_iter(vec![
2055        Item::WheatSeeds,
2056        Item::Potato,
2057        Item::Carrot,
2058        Item::BeetrootSeeds,
2059        Item::TorchflowerSeeds,
2060        Item::PitcherPod,
2061    ])
2062});
2063pub static WALLS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2064    HashSet::from_iter(vec![
2065        Item::CobblestoneWall,
2066        Item::MossyCobblestoneWall,
2067        Item::BrickWall,
2068        Item::PrismarineWall,
2069        Item::RedSandstoneWall,
2070        Item::MossyStoneBrickWall,
2071        Item::GraniteWall,
2072        Item::StoneBrickWall,
2073        Item::NetherBrickWall,
2074        Item::AndesiteWall,
2075        Item::RedNetherBrickWall,
2076        Item::SandstoneWall,
2077        Item::EndStoneBrickWall,
2078        Item::DioriteWall,
2079        Item::BlackstoneWall,
2080        Item::PolishedBlackstoneBrickWall,
2081        Item::PolishedBlackstoneWall,
2082        Item::CobbledDeepslateWall,
2083        Item::PolishedDeepslateWall,
2084        Item::DeepslateTileWall,
2085        Item::DeepslateBrickWall,
2086        Item::MudBrickWall,
2087        Item::TuffWall,
2088        Item::PolishedTuffWall,
2089        Item::TuffBrickWall,
2090        Item::ResinBrickWall,
2091    ])
2092});
2093pub static WARPED_STEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2094    HashSet::from_iter(vec![
2095        Item::WarpedStem,
2096        Item::StrippedWarpedStem,
2097        Item::WarpedHyphae,
2098        Item::StrippedWarpedHyphae,
2099    ])
2100});
2101pub static WART_BLOCKS: LazyLock<HashSet<Item>> =
2102    LazyLock::new(|| HashSet::from_iter(vec![Item::NetherWartBlock, Item::WarpedWartBlock]));
2103pub static WITHER_SKELETON_DISLIKED_WEAPONS: LazyLock<HashSet<Item>> =
2104    LazyLock::new(|| HashSet::from_iter(vec![Item::Bow, Item::Crossbow]));
2105pub static WOLF_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2106    HashSet::from_iter(vec![
2107        Item::Cod,
2108        Item::CookedCod,
2109        Item::Salmon,
2110        Item::CookedSalmon,
2111        Item::TropicalFish,
2112        Item::Pufferfish,
2113        Item::RabbitStew,
2114        Item::Beef,
2115        Item::Chicken,
2116        Item::CookedBeef,
2117        Item::CookedChicken,
2118        Item::CookedMutton,
2119        Item::CookedPorkchop,
2120        Item::CookedRabbit,
2121        Item::Mutton,
2122        Item::Porkchop,
2123        Item::Rabbit,
2124        Item::RottenFlesh,
2125    ])
2126});
2127pub static WOODEN_BUTTONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2128    HashSet::from_iter(vec![
2129        Item::OakButton,
2130        Item::SpruceButton,
2131        Item::BirchButton,
2132        Item::JungleButton,
2133        Item::AcaciaButton,
2134        Item::DarkOakButton,
2135        Item::PaleOakButton,
2136        Item::CrimsonButton,
2137        Item::WarpedButton,
2138        Item::MangroveButton,
2139        Item::BambooButton,
2140        Item::CherryButton,
2141    ])
2142});
2143pub static WOODEN_DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2144    HashSet::from_iter(vec![
2145        Item::OakDoor,
2146        Item::SpruceDoor,
2147        Item::BirchDoor,
2148        Item::JungleDoor,
2149        Item::AcaciaDoor,
2150        Item::DarkOakDoor,
2151        Item::PaleOakDoor,
2152        Item::CrimsonDoor,
2153        Item::WarpedDoor,
2154        Item::MangroveDoor,
2155        Item::BambooDoor,
2156        Item::CherryDoor,
2157    ])
2158});
2159pub static WOODEN_FENCES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2160    HashSet::from_iter(vec![
2161        Item::OakFence,
2162        Item::AcaciaFence,
2163        Item::DarkOakFence,
2164        Item::PaleOakFence,
2165        Item::SpruceFence,
2166        Item::BirchFence,
2167        Item::JungleFence,
2168        Item::CrimsonFence,
2169        Item::WarpedFence,
2170        Item::MangroveFence,
2171        Item::BambooFence,
2172        Item::CherryFence,
2173    ])
2174});
2175pub static WOODEN_PRESSURE_PLATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2176    HashSet::from_iter(vec![
2177        Item::OakPressurePlate,
2178        Item::SprucePressurePlate,
2179        Item::BirchPressurePlate,
2180        Item::JunglePressurePlate,
2181        Item::AcaciaPressurePlate,
2182        Item::DarkOakPressurePlate,
2183        Item::PaleOakPressurePlate,
2184        Item::CrimsonPressurePlate,
2185        Item::WarpedPressurePlate,
2186        Item::MangrovePressurePlate,
2187        Item::BambooPressurePlate,
2188        Item::CherryPressurePlate,
2189    ])
2190});
2191pub static WOODEN_SHELVES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2192    HashSet::from_iter(vec![
2193        Item::AcaciaShelf,
2194        Item::BambooShelf,
2195        Item::BirchShelf,
2196        Item::CherryShelf,
2197        Item::CrimsonShelf,
2198        Item::DarkOakShelf,
2199        Item::JungleShelf,
2200        Item::MangroveShelf,
2201        Item::OakShelf,
2202        Item::PaleOakShelf,
2203        Item::SpruceShelf,
2204        Item::WarpedShelf,
2205    ])
2206});
2207pub static WOODEN_SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2208    HashSet::from_iter(vec![
2209        Item::OakSlab,
2210        Item::SpruceSlab,
2211        Item::BirchSlab,
2212        Item::JungleSlab,
2213        Item::AcaciaSlab,
2214        Item::DarkOakSlab,
2215        Item::PaleOakSlab,
2216        Item::CrimsonSlab,
2217        Item::WarpedSlab,
2218        Item::MangroveSlab,
2219        Item::BambooSlab,
2220        Item::CherrySlab,
2221    ])
2222});
2223pub static WOODEN_STAIRS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2224    HashSet::from_iter(vec![
2225        Item::OakStairs,
2226        Item::SpruceStairs,
2227        Item::BirchStairs,
2228        Item::JungleStairs,
2229        Item::AcaciaStairs,
2230        Item::DarkOakStairs,
2231        Item::PaleOakStairs,
2232        Item::CrimsonStairs,
2233        Item::WarpedStairs,
2234        Item::MangroveStairs,
2235        Item::BambooStairs,
2236        Item::CherryStairs,
2237    ])
2238});
2239pub static WOODEN_TOOL_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2240    HashSet::from_iter(vec![
2241        Item::OakPlanks,
2242        Item::SprucePlanks,
2243        Item::BirchPlanks,
2244        Item::JunglePlanks,
2245        Item::AcaciaPlanks,
2246        Item::DarkOakPlanks,
2247        Item::PaleOakPlanks,
2248        Item::CrimsonPlanks,
2249        Item::WarpedPlanks,
2250        Item::MangrovePlanks,
2251        Item::BambooPlanks,
2252        Item::CherryPlanks,
2253    ])
2254});
2255pub static WOODEN_TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2256    HashSet::from_iter(vec![
2257        Item::AcaciaTrapdoor,
2258        Item::BirchTrapdoor,
2259        Item::DarkOakTrapdoor,
2260        Item::PaleOakTrapdoor,
2261        Item::JungleTrapdoor,
2262        Item::OakTrapdoor,
2263        Item::SpruceTrapdoor,
2264        Item::CrimsonTrapdoor,
2265        Item::WarpedTrapdoor,
2266        Item::MangroveTrapdoor,
2267        Item::BambooTrapdoor,
2268        Item::CherryTrapdoor,
2269    ])
2270});
2271pub static WOOL: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2272    HashSet::from_iter(vec![
2273        Item::WhiteWool,
2274        Item::OrangeWool,
2275        Item::MagentaWool,
2276        Item::LightBlueWool,
2277        Item::YellowWool,
2278        Item::LimeWool,
2279        Item::PinkWool,
2280        Item::GrayWool,
2281        Item::LightGrayWool,
2282        Item::CyanWool,
2283        Item::PurpleWool,
2284        Item::BlueWool,
2285        Item::BrownWool,
2286        Item::GreenWool,
2287        Item::RedWool,
2288        Item::BlackWool,
2289    ])
2290});
2291pub static WOOL_CARPETS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
2292    HashSet::from_iter(vec![
2293        Item::WhiteCarpet,
2294        Item::OrangeCarpet,
2295        Item::MagentaCarpet,
2296        Item::LightBlueCarpet,
2297        Item::YellowCarpet,
2298        Item::LimeCarpet,
2299        Item::PinkCarpet,
2300        Item::GrayCarpet,
2301        Item::LightGrayCarpet,
2302        Item::CyanCarpet,
2303        Item::PurpleCarpet,
2304        Item::BlueCarpet,
2305        Item::BrownCarpet,
2306        Item::GreenCarpet,
2307        Item::RedCarpet,
2308        Item::BlackCarpet,
2309    ])
2310});