Skip to main content

azalea_registry/tags/
blocks.rs

1// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
2
3use std::sync::LazyLock;
4
5use crate::{builtin::BlockKind, tags::RegistryTag};
6
7pub static ACACIA_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
8    RegistryTag::new(vec![
9        BlockKind::AcaciaLog,
10        BlockKind::StrippedAcaciaLog,
11        BlockKind::AcaciaWood,
12        BlockKind::StrippedAcaciaWood,
13    ])
14});
15pub static AIR: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
16    RegistryTag::new(vec![BlockKind::Air, BlockKind::VoidAir, BlockKind::CaveAir])
17});
18pub static ALL_HANGING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
19    RegistryTag::new(vec![
20        BlockKind::OakHangingSign,
21        BlockKind::SpruceHangingSign,
22        BlockKind::BirchHangingSign,
23        BlockKind::AcaciaHangingSign,
24        BlockKind::CherryHangingSign,
25        BlockKind::JungleHangingSign,
26        BlockKind::DarkOakHangingSign,
27        BlockKind::PaleOakHangingSign,
28        BlockKind::CrimsonHangingSign,
29        BlockKind::WarpedHangingSign,
30        BlockKind::MangroveHangingSign,
31        BlockKind::BambooHangingSign,
32        BlockKind::OakWallHangingSign,
33        BlockKind::SpruceWallHangingSign,
34        BlockKind::BirchWallHangingSign,
35        BlockKind::AcaciaWallHangingSign,
36        BlockKind::CherryWallHangingSign,
37        BlockKind::JungleWallHangingSign,
38        BlockKind::DarkOakWallHangingSign,
39        BlockKind::PaleOakWallHangingSign,
40        BlockKind::MangroveWallHangingSign,
41        BlockKind::CrimsonWallHangingSign,
42        BlockKind::WarpedWallHangingSign,
43        BlockKind::BambooWallHangingSign,
44    ])
45});
46pub static ALL_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
47    RegistryTag::new(vec![
48        BlockKind::OakSign,
49        BlockKind::SpruceSign,
50        BlockKind::BirchSign,
51        BlockKind::AcaciaSign,
52        BlockKind::CherrySign,
53        BlockKind::JungleSign,
54        BlockKind::DarkOakSign,
55        BlockKind::PaleOakSign,
56        BlockKind::MangroveSign,
57        BlockKind::BambooSign,
58        BlockKind::OakWallSign,
59        BlockKind::SpruceWallSign,
60        BlockKind::BirchWallSign,
61        BlockKind::AcaciaWallSign,
62        BlockKind::CherryWallSign,
63        BlockKind::JungleWallSign,
64        BlockKind::DarkOakWallSign,
65        BlockKind::PaleOakWallSign,
66        BlockKind::MangroveWallSign,
67        BlockKind::BambooWallSign,
68        BlockKind::OakHangingSign,
69        BlockKind::SpruceHangingSign,
70        BlockKind::BirchHangingSign,
71        BlockKind::AcaciaHangingSign,
72        BlockKind::CherryHangingSign,
73        BlockKind::JungleHangingSign,
74        BlockKind::DarkOakHangingSign,
75        BlockKind::PaleOakHangingSign,
76        BlockKind::CrimsonHangingSign,
77        BlockKind::WarpedHangingSign,
78        BlockKind::MangroveHangingSign,
79        BlockKind::BambooHangingSign,
80        BlockKind::OakWallHangingSign,
81        BlockKind::SpruceWallHangingSign,
82        BlockKind::BirchWallHangingSign,
83        BlockKind::AcaciaWallHangingSign,
84        BlockKind::CherryWallHangingSign,
85        BlockKind::JungleWallHangingSign,
86        BlockKind::DarkOakWallHangingSign,
87        BlockKind::PaleOakWallHangingSign,
88        BlockKind::MangroveWallHangingSign,
89        BlockKind::CrimsonWallHangingSign,
90        BlockKind::WarpedWallHangingSign,
91        BlockKind::BambooWallHangingSign,
92        BlockKind::CrimsonSign,
93        BlockKind::WarpedSign,
94        BlockKind::CrimsonWallSign,
95        BlockKind::WarpedWallSign,
96    ])
97});
98pub static ANCIENT_CITY_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
99    RegistryTag::new(vec![
100        BlockKind::GrayWool,
101        BlockKind::Deepslate,
102        BlockKind::CobbledDeepslate,
103        BlockKind::DeepslateTiles,
104        BlockKind::DeepslateTileSlab,
105        BlockKind::DeepslateTileWall,
106        BlockKind::DeepslateBricks,
107        BlockKind::DeepslateBrickStairs,
108        BlockKind::DeepslateBrickSlab,
109        BlockKind::DeepslateBrickWall,
110        BlockKind::CrackedDeepslateBricks,
111        BlockKind::CrackedDeepslateTiles,
112    ])
113});
114pub static ANIMALS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> =
115    LazyLock::new(|| RegistryTag::new(vec![BlockKind::GrassBlock]));
116pub static ANVIL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
117    RegistryTag::new(vec![
118        BlockKind::Anvil,
119        BlockKind::ChippedAnvil,
120        BlockKind::DamagedAnvil,
121    ])
122});
123pub static ARMADILLO_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
124    RegistryTag::new(vec![
125        BlockKind::GrassBlock,
126        BlockKind::CoarseDirt,
127        BlockKind::RedSand,
128        BlockKind::WhiteTerracotta,
129        BlockKind::OrangeTerracotta,
130        BlockKind::YellowTerracotta,
131        BlockKind::LightGrayTerracotta,
132        BlockKind::BrownTerracotta,
133        BlockKind::RedTerracotta,
134        BlockKind::Terracotta,
135    ])
136});
137pub static AXOLOTLS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> =
138    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Clay]));
139pub static AZALEA_GROWS_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
140    RegistryTag::new(vec![
141        BlockKind::GrassBlock,
142        BlockKind::Dirt,
143        BlockKind::CoarseDirt,
144        BlockKind::Podzol,
145        BlockKind::Sand,
146        BlockKind::SuspiciousSand,
147        BlockKind::RedSand,
148        BlockKind::MuddyMangroveRoots,
149        BlockKind::SnowBlock,
150        BlockKind::Mycelium,
151        BlockKind::WhiteTerracotta,
152        BlockKind::OrangeTerracotta,
153        BlockKind::MagentaTerracotta,
154        BlockKind::LightBlueTerracotta,
155        BlockKind::YellowTerracotta,
156        BlockKind::LimeTerracotta,
157        BlockKind::PinkTerracotta,
158        BlockKind::GrayTerracotta,
159        BlockKind::LightGrayTerracotta,
160        BlockKind::CyanTerracotta,
161        BlockKind::PurpleTerracotta,
162        BlockKind::BlueTerracotta,
163        BlockKind::BrownTerracotta,
164        BlockKind::GreenTerracotta,
165        BlockKind::RedTerracotta,
166        BlockKind::BlackTerracotta,
167        BlockKind::Terracotta,
168        BlockKind::PowderSnow,
169        BlockKind::MossBlock,
170        BlockKind::RootedDirt,
171        BlockKind::Mud,
172        BlockKind::PaleMossBlock,
173    ])
174});
175pub static AZALEA_ROOT_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
176    RegistryTag::new(vec![
177        BlockKind::Stone,
178        BlockKind::Granite,
179        BlockKind::Diorite,
180        BlockKind::Andesite,
181        BlockKind::GrassBlock,
182        BlockKind::Dirt,
183        BlockKind::CoarseDirt,
184        BlockKind::Podzol,
185        BlockKind::Sand,
186        BlockKind::RedSand,
187        BlockKind::Gravel,
188        BlockKind::MuddyMangroveRoots,
189        BlockKind::SnowBlock,
190        BlockKind::Clay,
191        BlockKind::Mycelium,
192        BlockKind::WhiteTerracotta,
193        BlockKind::OrangeTerracotta,
194        BlockKind::MagentaTerracotta,
195        BlockKind::LightBlueTerracotta,
196        BlockKind::YellowTerracotta,
197        BlockKind::LimeTerracotta,
198        BlockKind::PinkTerracotta,
199        BlockKind::GrayTerracotta,
200        BlockKind::LightGrayTerracotta,
201        BlockKind::CyanTerracotta,
202        BlockKind::PurpleTerracotta,
203        BlockKind::BlueTerracotta,
204        BlockKind::BrownTerracotta,
205        BlockKind::GreenTerracotta,
206        BlockKind::RedTerracotta,
207        BlockKind::BlackTerracotta,
208        BlockKind::Terracotta,
209        BlockKind::Tuff,
210        BlockKind::PowderSnow,
211        BlockKind::MossBlock,
212        BlockKind::RootedDirt,
213        BlockKind::Mud,
214        BlockKind::Deepslate,
215        BlockKind::PaleMossBlock,
216    ])
217});
218pub static BADLANDS_TERRACOTTA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
219    RegistryTag::new(vec![
220        BlockKind::WhiteTerracotta,
221        BlockKind::OrangeTerracotta,
222        BlockKind::YellowTerracotta,
223        BlockKind::LightGrayTerracotta,
224        BlockKind::BrownTerracotta,
225        BlockKind::RedTerracotta,
226        BlockKind::Terracotta,
227    ])
228});
229pub static BAMBOO_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
230    RegistryTag::new(vec![BlockKind::BambooBlock, BlockKind::StrippedBambooBlock])
231});
232pub static BANNERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
233    RegistryTag::new(vec![
234        BlockKind::WhiteBanner,
235        BlockKind::OrangeBanner,
236        BlockKind::MagentaBanner,
237        BlockKind::LightBlueBanner,
238        BlockKind::YellowBanner,
239        BlockKind::LimeBanner,
240        BlockKind::PinkBanner,
241        BlockKind::GrayBanner,
242        BlockKind::LightGrayBanner,
243        BlockKind::CyanBanner,
244        BlockKind::PurpleBanner,
245        BlockKind::BlueBanner,
246        BlockKind::BrownBanner,
247        BlockKind::GreenBanner,
248        BlockKind::RedBanner,
249        BlockKind::BlackBanner,
250        BlockKind::WhiteWallBanner,
251        BlockKind::OrangeWallBanner,
252        BlockKind::MagentaWallBanner,
253        BlockKind::LightBlueWallBanner,
254        BlockKind::YellowWallBanner,
255        BlockKind::LimeWallBanner,
256        BlockKind::PinkWallBanner,
257        BlockKind::GrayWallBanner,
258        BlockKind::LightGrayWallBanner,
259        BlockKind::CyanWallBanner,
260        BlockKind::PurpleWallBanner,
261        BlockKind::BlueWallBanner,
262        BlockKind::BrownWallBanner,
263        BlockKind::GreenWallBanner,
264        BlockKind::RedWallBanner,
265        BlockKind::BlackWallBanner,
266    ])
267});
268pub static BARS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
269    RegistryTag::new(vec![
270        BlockKind::IronBars,
271        BlockKind::CopperBars,
272        BlockKind::ExposedCopperBars,
273        BlockKind::WeatheredCopperBars,
274        BlockKind::OxidizedCopperBars,
275        BlockKind::WaxedCopperBars,
276        BlockKind::WaxedExposedCopperBars,
277        BlockKind::WaxedWeatheredCopperBars,
278        BlockKind::WaxedOxidizedCopperBars,
279    ])
280});
281pub static BASE_STONE_NETHER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
282    RegistryTag::new(vec![
283        BlockKind::Netherrack,
284        BlockKind::Basalt,
285        BlockKind::Blackstone,
286    ])
287});
288pub static BASE_STONE_OVERWORLD: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
289    RegistryTag::new(vec![
290        BlockKind::Stone,
291        BlockKind::Granite,
292        BlockKind::Diorite,
293        BlockKind::Andesite,
294        BlockKind::Tuff,
295        BlockKind::Deepslate,
296    ])
297});
298pub static BATS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
299    RegistryTag::new(vec![
300        BlockKind::Stone,
301        BlockKind::Granite,
302        BlockKind::Diorite,
303        BlockKind::Andesite,
304        BlockKind::Tuff,
305        BlockKind::Deepslate,
306    ])
307});
308pub static BEACON_BASE_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
309    RegistryTag::new(vec![
310        BlockKind::GoldBlock,
311        BlockKind::IronBlock,
312        BlockKind::DiamondBlock,
313        BlockKind::EmeraldBlock,
314        BlockKind::NetheriteBlock,
315    ])
316});
317pub static BEDS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
318    RegistryTag::new(vec![
319        BlockKind::WhiteBed,
320        BlockKind::OrangeBed,
321        BlockKind::MagentaBed,
322        BlockKind::LightBlueBed,
323        BlockKind::YellowBed,
324        BlockKind::LimeBed,
325        BlockKind::PinkBed,
326        BlockKind::GrayBed,
327        BlockKind::LightGrayBed,
328        BlockKind::CyanBed,
329        BlockKind::PurpleBed,
330        BlockKind::BlueBed,
331        BlockKind::BrownBed,
332        BlockKind::GreenBed,
333        BlockKind::RedBed,
334        BlockKind::BlackBed,
335    ])
336});
337pub static BEE_ATTRACTIVE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
338    RegistryTag::new(vec![
339        BlockKind::MangrovePropagule,
340        BlockKind::CherryLeaves,
341        BlockKind::FloweringAzaleaLeaves,
342        BlockKind::Dandelion,
343        BlockKind::Torchflower,
344        BlockKind::Poppy,
345        BlockKind::BlueOrchid,
346        BlockKind::Allium,
347        BlockKind::AzureBluet,
348        BlockKind::RedTulip,
349        BlockKind::OrangeTulip,
350        BlockKind::WhiteTulip,
351        BlockKind::PinkTulip,
352        BlockKind::OxeyeDaisy,
353        BlockKind::Cornflower,
354        BlockKind::WitherRose,
355        BlockKind::LilyOfTheValley,
356        BlockKind::CactusFlower,
357        BlockKind::Sunflower,
358        BlockKind::Lilac,
359        BlockKind::RoseBush,
360        BlockKind::Peony,
361        BlockKind::ChorusFlower,
362        BlockKind::PitcherPlant,
363        BlockKind::SporeBlossom,
364        BlockKind::FloweringAzalea,
365        BlockKind::PinkPetals,
366        BlockKind::Wildflowers,
367        BlockKind::OpenEyeblossom,
368    ])
369});
370pub static BEE_GROWABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
371    RegistryTag::new(vec![
372        BlockKind::Wheat,
373        BlockKind::PumpkinStem,
374        BlockKind::MelonStem,
375        BlockKind::Carrots,
376        BlockKind::Potatoes,
377        BlockKind::TorchflowerCrop,
378        BlockKind::PitcherCrop,
379        BlockKind::Beetroots,
380        BlockKind::SweetBerryBush,
381        BlockKind::CaveVines,
382        BlockKind::CaveVinesPlant,
383    ])
384});
385pub static BEEHIVES: LazyLock<RegistryTag<BlockKind>> =
386    LazyLock::new(|| RegistryTag::new(vec![BlockKind::BeeNest, BlockKind::Beehive]));
387pub static BENEATH_BAMBOO_PODZOL_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> =
388    LazyLock::new(|| {
389        RegistryTag::new(vec![
390            BlockKind::GrassBlock,
391            BlockKind::Dirt,
392            BlockKind::CoarseDirt,
393            BlockKind::Podzol,
394            BlockKind::MuddyMangroveRoots,
395            BlockKind::Mycelium,
396            BlockKind::MossBlock,
397            BlockKind::RootedDirt,
398            BlockKind::Mud,
399            BlockKind::PaleMossBlock,
400        ])
401    });
402pub static BENEATH_TREE_PODZOL_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> =
403    LazyLock::new(|| {
404        RegistryTag::new(vec![
405            BlockKind::GrassBlock,
406            BlockKind::Dirt,
407            BlockKind::CoarseDirt,
408            BlockKind::Podzol,
409            BlockKind::MuddyMangroveRoots,
410            BlockKind::Mycelium,
411            BlockKind::MossBlock,
412            BlockKind::RootedDirt,
413            BlockKind::Mud,
414            BlockKind::PaleMossBlock,
415        ])
416    });
417pub static BIRCH_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
418    RegistryTag::new(vec![
419        BlockKind::BirchLog,
420        BlockKind::StrippedBirchLog,
421        BlockKind::BirchWood,
422        BlockKind::StrippedBirchWood,
423    ])
424});
425pub static BLOCKS_WIND_CHARGE_EXPLOSIONS: LazyLock<RegistryTag<BlockKind>> =
426    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Bedrock, BlockKind::Barrier]));
427pub static BUTTONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
428    RegistryTag::new(vec![
429        BlockKind::StoneButton,
430        BlockKind::OakButton,
431        BlockKind::SpruceButton,
432        BlockKind::BirchButton,
433        BlockKind::JungleButton,
434        BlockKind::AcaciaButton,
435        BlockKind::CherryButton,
436        BlockKind::DarkOakButton,
437        BlockKind::PaleOakButton,
438        BlockKind::MangroveButton,
439        BlockKind::BambooButton,
440        BlockKind::CrimsonButton,
441        BlockKind::WarpedButton,
442        BlockKind::PolishedBlackstoneButton,
443    ])
444});
445pub static CAMEL_SAND_STEP_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
446    RegistryTag::new(vec![
447        BlockKind::Sand,
448        BlockKind::SuspiciousSand,
449        BlockKind::RedSand,
450        BlockKind::WhiteConcretePowder,
451        BlockKind::OrangeConcretePowder,
452        BlockKind::MagentaConcretePowder,
453        BlockKind::LightBlueConcretePowder,
454        BlockKind::YellowConcretePowder,
455        BlockKind::LimeConcretePowder,
456        BlockKind::PinkConcretePowder,
457        BlockKind::GrayConcretePowder,
458        BlockKind::LightGrayConcretePowder,
459        BlockKind::CyanConcretePowder,
460        BlockKind::PurpleConcretePowder,
461        BlockKind::BlueConcretePowder,
462        BlockKind::BrownConcretePowder,
463        BlockKind::GreenConcretePowder,
464        BlockKind::RedConcretePowder,
465        BlockKind::BlackConcretePowder,
466    ])
467});
468pub static CAMELS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
469    RegistryTag::new(vec![
470        BlockKind::Sand,
471        BlockKind::SuspiciousSand,
472        BlockKind::RedSand,
473    ])
474});
475pub static CAMPFIRES: LazyLock<RegistryTag<BlockKind>> =
476    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Campfire, BlockKind::SoulCampfire]));
477pub static CAN_GLIDE_THROUGH: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
478    RegistryTag::new(vec![
479        BlockKind::Vine,
480        BlockKind::WeepingVines,
481        BlockKind::WeepingVinesPlant,
482        BlockKind::TwistingVines,
483        BlockKind::TwistingVinesPlant,
484        BlockKind::CaveVines,
485        BlockKind::CaveVinesPlant,
486    ])
487});
488pub static CANDLE_CAKES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
489    RegistryTag::new(vec![
490        BlockKind::CandleCake,
491        BlockKind::WhiteCandleCake,
492        BlockKind::OrangeCandleCake,
493        BlockKind::MagentaCandleCake,
494        BlockKind::LightBlueCandleCake,
495        BlockKind::YellowCandleCake,
496        BlockKind::LimeCandleCake,
497        BlockKind::PinkCandleCake,
498        BlockKind::GrayCandleCake,
499        BlockKind::LightGrayCandleCake,
500        BlockKind::CyanCandleCake,
501        BlockKind::PurpleCandleCake,
502        BlockKind::BlueCandleCake,
503        BlockKind::BrownCandleCake,
504        BlockKind::GreenCandleCake,
505        BlockKind::RedCandleCake,
506        BlockKind::BlackCandleCake,
507    ])
508});
509pub static CANDLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
510    RegistryTag::new(vec![
511        BlockKind::Candle,
512        BlockKind::WhiteCandle,
513        BlockKind::OrangeCandle,
514        BlockKind::MagentaCandle,
515        BlockKind::LightBlueCandle,
516        BlockKind::YellowCandle,
517        BlockKind::LimeCandle,
518        BlockKind::PinkCandle,
519        BlockKind::GrayCandle,
520        BlockKind::LightGrayCandle,
521        BlockKind::CyanCandle,
522        BlockKind::PurpleCandle,
523        BlockKind::BlueCandle,
524        BlockKind::BrownCandle,
525        BlockKind::GreenCandle,
526        BlockKind::RedCandle,
527        BlockKind::BlackCandle,
528    ])
529});
530pub static CANNOT_REPLACE_BELOW_TREE_TRUNK: LazyLock<RegistryTag<BlockKind>> =
531    LazyLock::new(|| {
532        RegistryTag::new(vec![
533            BlockKind::Dirt,
534            BlockKind::CoarseDirt,
535            BlockKind::Podzol,
536            BlockKind::MuddyMangroveRoots,
537            BlockKind::MossBlock,
538            BlockKind::RootedDirt,
539            BlockKind::Mud,
540            BlockKind::PaleMossBlock,
541        ])
542    });
543pub static CANNOT_SUPPORT_KELP: LazyLock<RegistryTag<BlockKind>> =
544    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MagmaBlock]));
545pub static CANNOT_SUPPORT_SEAGRASS: LazyLock<RegistryTag<BlockKind>> =
546    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MagmaBlock]));
547pub static CANNOT_SUPPORT_SNOW_LAYER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
548    RegistryTag::new(vec![
549        BlockKind::Ice,
550        BlockKind::Barrier,
551        BlockKind::PackedIce,
552    ])
553});
554pub static CAULDRONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
555    RegistryTag::new(vec![
556        BlockKind::Cauldron,
557        BlockKind::WaterCauldron,
558        BlockKind::LavaCauldron,
559        BlockKind::PowderSnowCauldron,
560    ])
561});
562pub static CAUSES_CONTINUOUS_GEYSER_ERUPTIONS: LazyLock<RegistryTag<BlockKind>> =
563    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Lava]));
564pub static CAUSES_PERIODIC_GEYSER_ERUPTIONS: LazyLock<RegistryTag<BlockKind>> =
565    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MagmaBlock]));
566pub static CAVE_VINES: LazyLock<RegistryTag<BlockKind>> =
567    LazyLock::new(|| RegistryTag::new(vec![BlockKind::CaveVines, BlockKind::CaveVinesPlant]));
568pub static CEILING_HANGING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
569    RegistryTag::new(vec![
570        BlockKind::OakHangingSign,
571        BlockKind::SpruceHangingSign,
572        BlockKind::BirchHangingSign,
573        BlockKind::AcaciaHangingSign,
574        BlockKind::CherryHangingSign,
575        BlockKind::JungleHangingSign,
576        BlockKind::DarkOakHangingSign,
577        BlockKind::PaleOakHangingSign,
578        BlockKind::CrimsonHangingSign,
579        BlockKind::WarpedHangingSign,
580        BlockKind::MangroveHangingSign,
581        BlockKind::BambooHangingSign,
582    ])
583});
584pub static CHAINS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
585    RegistryTag::new(vec![
586        BlockKind::IronChain,
587        BlockKind::CopperChain,
588        BlockKind::ExposedCopperChain,
589        BlockKind::WeatheredCopperChain,
590        BlockKind::OxidizedCopperChain,
591        BlockKind::WaxedCopperChain,
592        BlockKind::WaxedExposedCopperChain,
593        BlockKind::WaxedWeatheredCopperChain,
594        BlockKind::WaxedOxidizedCopperChain,
595    ])
596});
597pub static CHERRY_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
598    RegistryTag::new(vec![
599        BlockKind::CherryLog,
600        BlockKind::StrippedCherryLog,
601        BlockKind::CherryWood,
602        BlockKind::StrippedCherryWood,
603    ])
604});
605pub static CLIMBABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
606    RegistryTag::new(vec![
607        BlockKind::Ladder,
608        BlockKind::Vine,
609        BlockKind::Scaffolding,
610        BlockKind::WeepingVines,
611        BlockKind::WeepingVinesPlant,
612        BlockKind::TwistingVines,
613        BlockKind::TwistingVinesPlant,
614        BlockKind::CaveVines,
615        BlockKind::CaveVinesPlant,
616    ])
617});
618pub static COAL_ORES: LazyLock<RegistryTag<BlockKind>> =
619    LazyLock::new(|| RegistryTag::new(vec![BlockKind::CoalOre, BlockKind::DeepslateCoalOre]));
620pub static COMBINATION_STEP_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
621    RegistryTag::new(vec![
622        BlockKind::Snow,
623        BlockKind::ResinClump,
624        BlockKind::WhiteCarpet,
625        BlockKind::OrangeCarpet,
626        BlockKind::MagentaCarpet,
627        BlockKind::LightBlueCarpet,
628        BlockKind::YellowCarpet,
629        BlockKind::LimeCarpet,
630        BlockKind::PinkCarpet,
631        BlockKind::GrayCarpet,
632        BlockKind::LightGrayCarpet,
633        BlockKind::CyanCarpet,
634        BlockKind::PurpleCarpet,
635        BlockKind::BlueCarpet,
636        BlockKind::BrownCarpet,
637        BlockKind::GreenCarpet,
638        BlockKind::RedCarpet,
639        BlockKind::BlackCarpet,
640        BlockKind::WarpedRoots,
641        BlockKind::NetherSprouts,
642        BlockKind::CrimsonRoots,
643        BlockKind::MossCarpet,
644        BlockKind::PaleMossCarpet,
645    ])
646});
647pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
648    RegistryTag::new(vec![
649        BlockKind::PaleOakWood,
650        BlockKind::OakLog,
651        BlockKind::SpruceLog,
652        BlockKind::BirchLog,
653        BlockKind::JungleLog,
654        BlockKind::AcaciaLog,
655        BlockKind::CherryLog,
656        BlockKind::DarkOakLog,
657        BlockKind::PaleOakLog,
658        BlockKind::MangroveLog,
659        BlockKind::StrippedSpruceLog,
660        BlockKind::StrippedBirchLog,
661        BlockKind::StrippedJungleLog,
662        BlockKind::StrippedAcaciaLog,
663        BlockKind::StrippedCherryLog,
664        BlockKind::StrippedDarkOakLog,
665        BlockKind::StrippedPaleOakLog,
666        BlockKind::StrippedOakLog,
667        BlockKind::StrippedMangroveLog,
668        BlockKind::OakWood,
669        BlockKind::SpruceWood,
670        BlockKind::BirchWood,
671        BlockKind::JungleWood,
672        BlockKind::AcaciaWood,
673        BlockKind::CherryWood,
674        BlockKind::DarkOakWood,
675        BlockKind::MangroveWood,
676        BlockKind::StrippedOakWood,
677        BlockKind::StrippedSpruceWood,
678        BlockKind::StrippedBirchWood,
679        BlockKind::StrippedJungleWood,
680        BlockKind::StrippedAcaciaWood,
681        BlockKind::StrippedCherryWood,
682        BlockKind::StrippedDarkOakWood,
683        BlockKind::StrippedPaleOakWood,
684        BlockKind::StrippedMangroveWood,
685        BlockKind::OakLeaves,
686        BlockKind::SpruceLeaves,
687        BlockKind::BirchLeaves,
688        BlockKind::JungleLeaves,
689        BlockKind::AcaciaLeaves,
690        BlockKind::CherryLeaves,
691        BlockKind::DarkOakLeaves,
692        BlockKind::PaleOakLeaves,
693        BlockKind::MangroveLeaves,
694        BlockKind::AzaleaLeaves,
695        BlockKind::FloweringAzaleaLeaves,
696        BlockKind::NetherWartBlock,
697        BlockKind::WarpedStem,
698        BlockKind::StrippedWarpedStem,
699        BlockKind::WarpedHyphae,
700        BlockKind::StrippedWarpedHyphae,
701        BlockKind::WarpedWartBlock,
702        BlockKind::CrimsonStem,
703        BlockKind::StrippedCrimsonStem,
704        BlockKind::CrimsonHyphae,
705        BlockKind::StrippedCrimsonHyphae,
706    ])
707});
708pub static CONCRETE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
709    RegistryTag::new(vec![
710        BlockKind::WhiteConcrete,
711        BlockKind::OrangeConcrete,
712        BlockKind::MagentaConcrete,
713        BlockKind::LightBlueConcrete,
714        BlockKind::YellowConcrete,
715        BlockKind::LimeConcrete,
716        BlockKind::PinkConcrete,
717        BlockKind::GrayConcrete,
718        BlockKind::LightGrayConcrete,
719        BlockKind::CyanConcrete,
720        BlockKind::PurpleConcrete,
721        BlockKind::BlueConcrete,
722        BlockKind::BrownConcrete,
723        BlockKind::GreenConcrete,
724        BlockKind::RedConcrete,
725        BlockKind::BlackConcrete,
726    ])
727});
728pub static CONCRETE_POWDERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
729    RegistryTag::new(vec![
730        BlockKind::WhiteConcretePowder,
731        BlockKind::OrangeConcretePowder,
732        BlockKind::MagentaConcretePowder,
733        BlockKind::LightBlueConcretePowder,
734        BlockKind::YellowConcretePowder,
735        BlockKind::LimeConcretePowder,
736        BlockKind::PinkConcretePowder,
737        BlockKind::GrayConcretePowder,
738        BlockKind::LightGrayConcretePowder,
739        BlockKind::CyanConcretePowder,
740        BlockKind::PurpleConcretePowder,
741        BlockKind::BlueConcretePowder,
742        BlockKind::BrownConcretePowder,
743        BlockKind::GreenConcretePowder,
744        BlockKind::RedConcretePowder,
745        BlockKind::BlackConcretePowder,
746    ])
747});
748pub static CONVERTIBLE_TO_MUD: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
749    RegistryTag::new(vec![
750        BlockKind::Dirt,
751        BlockKind::CoarseDirt,
752        BlockKind::RootedDirt,
753    ])
754});
755pub static COPPER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
756    RegistryTag::new(vec![
757        BlockKind::CopperBlock,
758        BlockKind::ExposedCopper,
759        BlockKind::WeatheredCopper,
760        BlockKind::OxidizedCopper,
761        BlockKind::WaxedCopperBlock,
762        BlockKind::WaxedExposedCopper,
763        BlockKind::WaxedWeatheredCopper,
764        BlockKind::WaxedOxidizedCopper,
765    ])
766});
767pub static COPPER_CHESTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
768    RegistryTag::new(vec![
769        BlockKind::CopperChest,
770        BlockKind::ExposedCopperChest,
771        BlockKind::WeatheredCopperChest,
772        BlockKind::OxidizedCopperChest,
773        BlockKind::WaxedCopperChest,
774        BlockKind::WaxedExposedCopperChest,
775        BlockKind::WaxedWeatheredCopperChest,
776        BlockKind::WaxedOxidizedCopperChest,
777    ])
778});
779pub static COPPER_GOLEM_STATUES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
780    RegistryTag::new(vec![
781        BlockKind::CopperGolemStatue,
782        BlockKind::ExposedCopperGolemStatue,
783        BlockKind::WeatheredCopperGolemStatue,
784        BlockKind::OxidizedCopperGolemStatue,
785        BlockKind::WaxedCopperGolemStatue,
786        BlockKind::WaxedExposedCopperGolemStatue,
787        BlockKind::WaxedWeatheredCopperGolemStatue,
788        BlockKind::WaxedOxidizedCopperGolemStatue,
789    ])
790});
791pub static COPPER_ORES: LazyLock<RegistryTag<BlockKind>> =
792    LazyLock::new(|| RegistryTag::new(vec![BlockKind::CopperOre, BlockKind::DeepslateCopperOre]));
793pub static CORAL_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
794    RegistryTag::new(vec![
795        BlockKind::TubeCoralBlock,
796        BlockKind::BrainCoralBlock,
797        BlockKind::BubbleCoralBlock,
798        BlockKind::FireCoralBlock,
799        BlockKind::HornCoralBlock,
800    ])
801});
802pub static CORAL_PLANTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
803    RegistryTag::new(vec![
804        BlockKind::TubeCoral,
805        BlockKind::BrainCoral,
806        BlockKind::BubbleCoral,
807        BlockKind::FireCoral,
808        BlockKind::HornCoral,
809    ])
810});
811pub static CORALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
812    RegistryTag::new(vec![
813        BlockKind::TubeCoral,
814        BlockKind::BrainCoral,
815        BlockKind::BubbleCoral,
816        BlockKind::FireCoral,
817        BlockKind::HornCoral,
818        BlockKind::TubeCoralFan,
819        BlockKind::BrainCoralFan,
820        BlockKind::BubbleCoralFan,
821        BlockKind::FireCoralFan,
822        BlockKind::HornCoralFan,
823    ])
824});
825pub static CRIMSON_STEMS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
826    RegistryTag::new(vec![
827        BlockKind::CrimsonStem,
828        BlockKind::StrippedCrimsonStem,
829        BlockKind::CrimsonHyphae,
830        BlockKind::StrippedCrimsonHyphae,
831    ])
832});
833pub static CROPS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
834    RegistryTag::new(vec![
835        BlockKind::Wheat,
836        BlockKind::PumpkinStem,
837        BlockKind::MelonStem,
838        BlockKind::Carrots,
839        BlockKind::Potatoes,
840        BlockKind::TorchflowerCrop,
841        BlockKind::PitcherCrop,
842        BlockKind::Beetroots,
843    ])
844});
845pub static CRYSTAL_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
846    LazyLock::new(|| RegistryTag::new(vec![BlockKind::AmethystBlock, BlockKind::BuddingAmethyst]));
847pub static DAMPENS_VIBRATIONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
848    RegistryTag::new(vec![
849        BlockKind::WhiteWool,
850        BlockKind::OrangeWool,
851        BlockKind::MagentaWool,
852        BlockKind::LightBlueWool,
853        BlockKind::YellowWool,
854        BlockKind::LimeWool,
855        BlockKind::PinkWool,
856        BlockKind::GrayWool,
857        BlockKind::LightGrayWool,
858        BlockKind::CyanWool,
859        BlockKind::PurpleWool,
860        BlockKind::BlueWool,
861        BlockKind::BrownWool,
862        BlockKind::GreenWool,
863        BlockKind::RedWool,
864        BlockKind::BlackWool,
865        BlockKind::WhiteCarpet,
866        BlockKind::OrangeCarpet,
867        BlockKind::MagentaCarpet,
868        BlockKind::LightBlueCarpet,
869        BlockKind::YellowCarpet,
870        BlockKind::LimeCarpet,
871        BlockKind::PinkCarpet,
872        BlockKind::GrayCarpet,
873        BlockKind::LightGrayCarpet,
874        BlockKind::CyanCarpet,
875        BlockKind::PurpleCarpet,
876        BlockKind::BlueCarpet,
877        BlockKind::BrownCarpet,
878        BlockKind::GreenCarpet,
879        BlockKind::RedCarpet,
880        BlockKind::BlackCarpet,
881    ])
882});
883pub static DARK_OAK_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
884    RegistryTag::new(vec![
885        BlockKind::DarkOakLog,
886        BlockKind::StrippedDarkOakLog,
887        BlockKind::DarkOakWood,
888        BlockKind::StrippedDarkOakWood,
889    ])
890});
891pub static DEEPSLATE_ORE_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> =
892    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Tuff, BlockKind::Deepslate]));
893pub static DEFAULT_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
894    LazyLock::new(|| RegistryTag::new(vec![]));
895pub static DIAMOND_ORES: LazyLock<RegistryTag<BlockKind>> =
896    LazyLock::new(|| RegistryTag::new(vec![BlockKind::DiamondOre, BlockKind::DeepslateDiamondOre]));
897pub static DIRT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
898    RegistryTag::new(vec![
899        BlockKind::Dirt,
900        BlockKind::CoarseDirt,
901        BlockKind::RootedDirt,
902    ])
903});
904pub static DOES_NOT_BLOCK_HOPPERS: LazyLock<RegistryTag<BlockKind>> =
905    LazyLock::new(|| RegistryTag::new(vec![BlockKind::BeeNest, BlockKind::Beehive]));
906pub static DOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
907    RegistryTag::new(vec![
908        BlockKind::OakDoor,
909        BlockKind::IronDoor,
910        BlockKind::SpruceDoor,
911        BlockKind::BirchDoor,
912        BlockKind::JungleDoor,
913        BlockKind::AcaciaDoor,
914        BlockKind::CherryDoor,
915        BlockKind::DarkOakDoor,
916        BlockKind::PaleOakDoor,
917        BlockKind::MangroveDoor,
918        BlockKind::BambooDoor,
919        BlockKind::CrimsonDoor,
920        BlockKind::WarpedDoor,
921        BlockKind::CopperDoor,
922        BlockKind::ExposedCopperDoor,
923        BlockKind::WeatheredCopperDoor,
924        BlockKind::OxidizedCopperDoor,
925        BlockKind::WaxedCopperDoor,
926        BlockKind::WaxedExposedCopperDoor,
927        BlockKind::WaxedWeatheredCopperDoor,
928        BlockKind::WaxedOxidizedCopperDoor,
929    ])
930});
931pub static DRAGON_IMMUNE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
932    RegistryTag::new(vec![
933        BlockKind::Bedrock,
934        BlockKind::MovingPiston,
935        BlockKind::Obsidian,
936        BlockKind::IronBars,
937        BlockKind::EndPortal,
938        BlockKind::EndPortalFrame,
939        BlockKind::EndStone,
940        BlockKind::CommandBlock,
941        BlockKind::Barrier,
942        BlockKind::EndGateway,
943        BlockKind::RepeatingCommandBlock,
944        BlockKind::ChainCommandBlock,
945        BlockKind::StructureBlock,
946        BlockKind::Jigsaw,
947        BlockKind::TestBlock,
948        BlockKind::TestInstanceBlock,
949        BlockKind::CryingObsidian,
950        BlockKind::RespawnAnchor,
951        BlockKind::ReinforcedDeepslate,
952    ])
953});
954pub static DRAGON_TRANSPARENT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
955    RegistryTag::new(vec![BlockKind::Fire, BlockKind::SoulFire, BlockKind::Light])
956});
957pub static DRIPSTONE_REPLACEABLE_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
958    RegistryTag::new(vec![
959        BlockKind::Stone,
960        BlockKind::Granite,
961        BlockKind::Diorite,
962        BlockKind::Andesite,
963        BlockKind::Tuff,
964        BlockKind::Deepslate,
965    ])
966});
967pub static EDIBLE_FOR_SHEEP: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
968    RegistryTag::new(vec![
969        BlockKind::ShortGrass,
970        BlockKind::Fern,
971        BlockKind::ShortDryGrass,
972        BlockKind::TallDryGrass,
973    ])
974});
975pub static EMERALD_ORES: LazyLock<RegistryTag<BlockKind>> =
976    LazyLock::new(|| RegistryTag::new(vec![BlockKind::EmeraldOre, BlockKind::DeepslateEmeraldOre]));
977pub static ENABLES_BUBBLE_COLUMN_DRAG_DOWN: LazyLock<RegistryTag<BlockKind>> =
978    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MagmaBlock]));
979pub static ENABLES_BUBBLE_COLUMN_PUSH_UP: LazyLock<RegistryTag<BlockKind>> =
980    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand]));
981pub static ENCHANTMENT_POWER_PROVIDER: LazyLock<RegistryTag<BlockKind>> =
982    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Bookshelf]));
983pub static ENCHANTMENT_POWER_TRANSMITTER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
984    RegistryTag::new(vec![
985        BlockKind::Air,
986        BlockKind::Water,
987        BlockKind::Lava,
988        BlockKind::ShortGrass,
989        BlockKind::Fern,
990        BlockKind::DeadBush,
991        BlockKind::Bush,
992        BlockKind::ShortDryGrass,
993        BlockKind::TallDryGrass,
994        BlockKind::Seagrass,
995        BlockKind::TallSeagrass,
996        BlockKind::Fire,
997        BlockKind::SoulFire,
998        BlockKind::Snow,
999        BlockKind::Vine,
1000        BlockKind::GlowLichen,
1001        BlockKind::ResinClump,
1002        BlockKind::Light,
1003        BlockKind::TallGrass,
1004        BlockKind::LargeFern,
1005        BlockKind::StructureVoid,
1006        BlockKind::VoidAir,
1007        BlockKind::CaveAir,
1008        BlockKind::BubbleColumn,
1009        BlockKind::WarpedRoots,
1010        BlockKind::NetherSprouts,
1011        BlockKind::CrimsonRoots,
1012        BlockKind::LeafLitter,
1013        BlockKind::HangingRoots,
1014    ])
1015});
1016pub static ENDERMAN_HOLDABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1017    RegistryTag::new(vec![
1018        BlockKind::GrassBlock,
1019        BlockKind::Dirt,
1020        BlockKind::CoarseDirt,
1021        BlockKind::Podzol,
1022        BlockKind::Sand,
1023        BlockKind::RedSand,
1024        BlockKind::Gravel,
1025        BlockKind::MuddyMangroveRoots,
1026        BlockKind::Dandelion,
1027        BlockKind::GoldenDandelion,
1028        BlockKind::Torchflower,
1029        BlockKind::Poppy,
1030        BlockKind::BlueOrchid,
1031        BlockKind::Allium,
1032        BlockKind::AzureBluet,
1033        BlockKind::RedTulip,
1034        BlockKind::OrangeTulip,
1035        BlockKind::WhiteTulip,
1036        BlockKind::PinkTulip,
1037        BlockKind::OxeyeDaisy,
1038        BlockKind::Cornflower,
1039        BlockKind::WitherRose,
1040        BlockKind::LilyOfTheValley,
1041        BlockKind::BrownMushroom,
1042        BlockKind::RedMushroom,
1043        BlockKind::Tnt,
1044        BlockKind::Cactus,
1045        BlockKind::CactusFlower,
1046        BlockKind::Clay,
1047        BlockKind::CarvedPumpkin,
1048        BlockKind::Pumpkin,
1049        BlockKind::Melon,
1050        BlockKind::Mycelium,
1051        BlockKind::WarpedNylium,
1052        BlockKind::WarpedFungus,
1053        BlockKind::WarpedRoots,
1054        BlockKind::CrimsonNylium,
1055        BlockKind::CrimsonFungus,
1056        BlockKind::CrimsonRoots,
1057        BlockKind::MossBlock,
1058        BlockKind::RootedDirt,
1059        BlockKind::Mud,
1060        BlockKind::PaleMossBlock,
1061        BlockKind::OpenEyeblossom,
1062        BlockKind::ClosedEyeblossom,
1063    ])
1064});
1065pub static FALL_DAMAGE_RESETTING: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1066    RegistryTag::new(vec![
1067        BlockKind::Cobweb,
1068        BlockKind::Ladder,
1069        BlockKind::Vine,
1070        BlockKind::Scaffolding,
1071        BlockKind::SweetBerryBush,
1072        BlockKind::WeepingVines,
1073        BlockKind::WeepingVinesPlant,
1074        BlockKind::TwistingVines,
1075        BlockKind::TwistingVinesPlant,
1076        BlockKind::CaveVines,
1077        BlockKind::CaveVinesPlant,
1078    ])
1079});
1080pub static FEATURES_CANNOT_REPLACE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1081    RegistryTag::new(vec![
1082        BlockKind::Bedrock,
1083        BlockKind::Spawner,
1084        BlockKind::Chest,
1085        BlockKind::EndPortalFrame,
1086        BlockKind::ReinforcedDeepslate,
1087        BlockKind::TrialSpawner,
1088        BlockKind::Vault,
1089    ])
1090});
1091pub static FENCE_GATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1092    RegistryTag::new(vec![
1093        BlockKind::OakFenceGate,
1094        BlockKind::SpruceFenceGate,
1095        BlockKind::BirchFenceGate,
1096        BlockKind::JungleFenceGate,
1097        BlockKind::AcaciaFenceGate,
1098        BlockKind::CherryFenceGate,
1099        BlockKind::DarkOakFenceGate,
1100        BlockKind::PaleOakFenceGate,
1101        BlockKind::MangroveFenceGate,
1102        BlockKind::BambooFenceGate,
1103        BlockKind::CrimsonFenceGate,
1104        BlockKind::WarpedFenceGate,
1105    ])
1106});
1107pub static FENCES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1108    RegistryTag::new(vec![
1109        BlockKind::OakFence,
1110        BlockKind::NetherBrickFence,
1111        BlockKind::SpruceFence,
1112        BlockKind::BirchFence,
1113        BlockKind::JungleFence,
1114        BlockKind::AcaciaFence,
1115        BlockKind::CherryFence,
1116        BlockKind::DarkOakFence,
1117        BlockKind::PaleOakFence,
1118        BlockKind::MangroveFence,
1119        BlockKind::BambooFence,
1120        BlockKind::CrimsonFence,
1121        BlockKind::WarpedFence,
1122    ])
1123});
1124pub static FIRE: LazyLock<RegistryTag<BlockKind>> =
1125    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Fire, BlockKind::SoulFire]));
1126pub static FLOWER_POTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1127    RegistryTag::new(vec![
1128        BlockKind::FlowerPot,
1129        BlockKind::PottedTorchflower,
1130        BlockKind::PottedOakSapling,
1131        BlockKind::PottedSpruceSapling,
1132        BlockKind::PottedBirchSapling,
1133        BlockKind::PottedJungleSapling,
1134        BlockKind::PottedAcaciaSapling,
1135        BlockKind::PottedCherrySapling,
1136        BlockKind::PottedDarkOakSapling,
1137        BlockKind::PottedPaleOakSapling,
1138        BlockKind::PottedMangrovePropagule,
1139        BlockKind::PottedFern,
1140        BlockKind::PottedDandelion,
1141        BlockKind::PottedGoldenDandelion,
1142        BlockKind::PottedPoppy,
1143        BlockKind::PottedBlueOrchid,
1144        BlockKind::PottedAllium,
1145        BlockKind::PottedAzureBluet,
1146        BlockKind::PottedRedTulip,
1147        BlockKind::PottedOrangeTulip,
1148        BlockKind::PottedWhiteTulip,
1149        BlockKind::PottedPinkTulip,
1150        BlockKind::PottedOxeyeDaisy,
1151        BlockKind::PottedCornflower,
1152        BlockKind::PottedLilyOfTheValley,
1153        BlockKind::PottedWitherRose,
1154        BlockKind::PottedRedMushroom,
1155        BlockKind::PottedBrownMushroom,
1156        BlockKind::PottedDeadBush,
1157        BlockKind::PottedCactus,
1158        BlockKind::PottedBamboo,
1159        BlockKind::PottedCrimsonFungus,
1160        BlockKind::PottedWarpedFungus,
1161        BlockKind::PottedCrimsonRoots,
1162        BlockKind::PottedWarpedRoots,
1163        BlockKind::PottedAzaleaBush,
1164        BlockKind::PottedFloweringAzaleaBush,
1165        BlockKind::PottedOpenEyeblossom,
1166        BlockKind::PottedClosedEyeblossom,
1167    ])
1168});
1169pub static FLOWERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1170    RegistryTag::new(vec![
1171        BlockKind::MangrovePropagule,
1172        BlockKind::CherryLeaves,
1173        BlockKind::FloweringAzaleaLeaves,
1174        BlockKind::Dandelion,
1175        BlockKind::GoldenDandelion,
1176        BlockKind::Torchflower,
1177        BlockKind::Poppy,
1178        BlockKind::BlueOrchid,
1179        BlockKind::Allium,
1180        BlockKind::AzureBluet,
1181        BlockKind::RedTulip,
1182        BlockKind::OrangeTulip,
1183        BlockKind::WhiteTulip,
1184        BlockKind::PinkTulip,
1185        BlockKind::OxeyeDaisy,
1186        BlockKind::Cornflower,
1187        BlockKind::WitherRose,
1188        BlockKind::LilyOfTheValley,
1189        BlockKind::CactusFlower,
1190        BlockKind::Sunflower,
1191        BlockKind::Lilac,
1192        BlockKind::RoseBush,
1193        BlockKind::Peony,
1194        BlockKind::ChorusFlower,
1195        BlockKind::PitcherPlant,
1196        BlockKind::SporeBlossom,
1197        BlockKind::FloweringAzalea,
1198        BlockKind::PinkPetals,
1199        BlockKind::Wildflowers,
1200        BlockKind::OpenEyeblossom,
1201        BlockKind::ClosedEyeblossom,
1202    ])
1203});
1204pub static FOREST_ROCK_CAN_PLACE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1205    RegistryTag::new(vec![
1206        BlockKind::Stone,
1207        BlockKind::Granite,
1208        BlockKind::Diorite,
1209        BlockKind::Andesite,
1210        BlockKind::GrassBlock,
1211        BlockKind::Dirt,
1212        BlockKind::CoarseDirt,
1213        BlockKind::Podzol,
1214        BlockKind::MuddyMangroveRoots,
1215        BlockKind::Mycelium,
1216        BlockKind::Tuff,
1217        BlockKind::MossBlock,
1218        BlockKind::RootedDirt,
1219        BlockKind::Mud,
1220        BlockKind::Deepslate,
1221        BlockKind::PaleMossBlock,
1222    ])
1223});
1224pub static FOX_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
1225    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SweetBerryBush]));
1226pub static FOXES_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1227    RegistryTag::new(vec![
1228        BlockKind::GrassBlock,
1229        BlockKind::CoarseDirt,
1230        BlockKind::Podzol,
1231        BlockKind::Snow,
1232        BlockKind::SnowBlock,
1233    ])
1234});
1235pub static FROG_PREFER_JUMP_TO: LazyLock<RegistryTag<BlockKind>> =
1236    LazyLock::new(|| RegistryTag::new(vec![BlockKind::LilyPad, BlockKind::BigDripleaf]));
1237pub static FROGS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1238    RegistryTag::new(vec![
1239        BlockKind::GrassBlock,
1240        BlockKind::MangroveRoots,
1241        BlockKind::MuddyMangroveRoots,
1242        BlockKind::Mud,
1243    ])
1244});
1245pub static GEODE_INVALID_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1246    RegistryTag::new(vec![
1247        BlockKind::Bedrock,
1248        BlockKind::Water,
1249        BlockKind::Lava,
1250        BlockKind::Ice,
1251        BlockKind::PackedIce,
1252        BlockKind::BlueIce,
1253    ])
1254});
1255pub static GLAZED_TERRACOTTA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1256    RegistryTag::new(vec![
1257        BlockKind::WhiteGlazedTerracotta,
1258        BlockKind::OrangeGlazedTerracotta,
1259        BlockKind::MagentaGlazedTerracotta,
1260        BlockKind::LightBlueGlazedTerracotta,
1261        BlockKind::YellowGlazedTerracotta,
1262        BlockKind::LimeGlazedTerracotta,
1263        BlockKind::PinkGlazedTerracotta,
1264        BlockKind::GrayGlazedTerracotta,
1265        BlockKind::LightGrayGlazedTerracotta,
1266        BlockKind::CyanGlazedTerracotta,
1267        BlockKind::PurpleGlazedTerracotta,
1268        BlockKind::BlueGlazedTerracotta,
1269        BlockKind::BrownGlazedTerracotta,
1270        BlockKind::GreenGlazedTerracotta,
1271        BlockKind::RedGlazedTerracotta,
1272        BlockKind::BlackGlazedTerracotta,
1273    ])
1274});
1275pub static GOATS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1276    RegistryTag::new(vec![
1277        BlockKind::Stone,
1278        BlockKind::GrassBlock,
1279        BlockKind::Gravel,
1280        BlockKind::Snow,
1281        BlockKind::SnowBlock,
1282        BlockKind::PackedIce,
1283    ])
1284});
1285pub static GOLD_ORES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1286    RegistryTag::new(vec![
1287        BlockKind::GoldOre,
1288        BlockKind::DeepslateGoldOre,
1289        BlockKind::NetherGoldOre,
1290    ])
1291});
1292pub static GRASS_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1293    RegistryTag::new(vec![
1294        BlockKind::GrassBlock,
1295        BlockKind::Podzol,
1296        BlockKind::Mycelium,
1297    ])
1298});
1299pub static GROWS_CROPS: LazyLock<RegistryTag<BlockKind>> =
1300    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Farmland]));
1301pub static GUARDED_BY_PIGLINS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1302    RegistryTag::new(vec![
1303        BlockKind::GoldOre,
1304        BlockKind::DeepslateGoldOre,
1305        BlockKind::NetherGoldOre,
1306        BlockKind::GoldBlock,
1307        BlockKind::Chest,
1308        BlockKind::EnderChest,
1309        BlockKind::TrappedChest,
1310        BlockKind::ShulkerBox,
1311        BlockKind::WhiteShulkerBox,
1312        BlockKind::OrangeShulkerBox,
1313        BlockKind::MagentaShulkerBox,
1314        BlockKind::LightBlueShulkerBox,
1315        BlockKind::YellowShulkerBox,
1316        BlockKind::LimeShulkerBox,
1317        BlockKind::PinkShulkerBox,
1318        BlockKind::GrayShulkerBox,
1319        BlockKind::LightGrayShulkerBox,
1320        BlockKind::CyanShulkerBox,
1321        BlockKind::PurpleShulkerBox,
1322        BlockKind::BlueShulkerBox,
1323        BlockKind::BrownShulkerBox,
1324        BlockKind::GreenShulkerBox,
1325        BlockKind::RedShulkerBox,
1326        BlockKind::BlackShulkerBox,
1327        BlockKind::Barrel,
1328        BlockKind::GildedBlackstone,
1329        BlockKind::CopperChest,
1330        BlockKind::ExposedCopperChest,
1331        BlockKind::WeatheredCopperChest,
1332        BlockKind::OxidizedCopperChest,
1333        BlockKind::WaxedCopperChest,
1334        BlockKind::WaxedExposedCopperChest,
1335        BlockKind::WaxedWeatheredCopperChest,
1336        BlockKind::WaxedOxidizedCopperChest,
1337        BlockKind::RawGoldBlock,
1338    ])
1339});
1340pub static HAPPY_GHAST_AVOIDS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1341    RegistryTag::new(vec![
1342        BlockKind::WitherRose,
1343        BlockKind::Fire,
1344        BlockKind::Cactus,
1345        BlockKind::MagmaBlock,
1346        BlockKind::SweetBerryBush,
1347        BlockKind::PointedDripstone,
1348        BlockKind::SulfurSpike,
1349    ])
1350});
1351pub static HOGLIN_REPELLENTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1352    RegistryTag::new(vec![
1353        BlockKind::NetherPortal,
1354        BlockKind::WarpedFungus,
1355        BlockKind::RespawnAnchor,
1356        BlockKind::PottedWarpedFungus,
1357    ])
1358});
1359pub static HUGE_BROWN_MUSHROOM_CAN_PLACE_ON: LazyLock<RegistryTag<BlockKind>> =
1360    LazyLock::new(|| {
1361        RegistryTag::new(vec![
1362            BlockKind::GrassBlock,
1363            BlockKind::Dirt,
1364            BlockKind::CoarseDirt,
1365            BlockKind::Podzol,
1366            BlockKind::Podzol,
1367            BlockKind::MuddyMangroveRoots,
1368            BlockKind::Mycelium,
1369            BlockKind::Mycelium,
1370            BlockKind::WarpedNylium,
1371            BlockKind::CrimsonNylium,
1372            BlockKind::MossBlock,
1373            BlockKind::RootedDirt,
1374            BlockKind::Mud,
1375            BlockKind::PaleMossBlock,
1376        ])
1377    });
1378pub static HUGE_RED_MUSHROOM_CAN_PLACE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1379    RegistryTag::new(vec![
1380        BlockKind::GrassBlock,
1381        BlockKind::Dirt,
1382        BlockKind::CoarseDirt,
1383        BlockKind::Podzol,
1384        BlockKind::Podzol,
1385        BlockKind::MuddyMangroveRoots,
1386        BlockKind::Mycelium,
1387        BlockKind::Mycelium,
1388        BlockKind::WarpedNylium,
1389        BlockKind::CrimsonNylium,
1390        BlockKind::MossBlock,
1391        BlockKind::RootedDirt,
1392        BlockKind::Mud,
1393        BlockKind::PaleMossBlock,
1394    ])
1395});
1396pub static ICE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1397    RegistryTag::new(vec![
1398        BlockKind::Ice,
1399        BlockKind::PackedIce,
1400        BlockKind::FrostedIce,
1401        BlockKind::BlueIce,
1402    ])
1403});
1404pub static ICE_SPIKE_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1405    RegistryTag::new(vec![
1406        BlockKind::GrassBlock,
1407        BlockKind::Dirt,
1408        BlockKind::CoarseDirt,
1409        BlockKind::Podzol,
1410        BlockKind::MuddyMangroveRoots,
1411        BlockKind::Ice,
1412        BlockKind::SnowBlock,
1413        BlockKind::Mycelium,
1414        BlockKind::MossBlock,
1415        BlockKind::RootedDirt,
1416        BlockKind::Mud,
1417        BlockKind::PaleMossBlock,
1418    ])
1419});
1420pub static IMPERMEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1421    RegistryTag::new(vec![
1422        BlockKind::Glass,
1423        BlockKind::WhiteStainedGlass,
1424        BlockKind::OrangeStainedGlass,
1425        BlockKind::MagentaStainedGlass,
1426        BlockKind::LightBlueStainedGlass,
1427        BlockKind::YellowStainedGlass,
1428        BlockKind::LimeStainedGlass,
1429        BlockKind::PinkStainedGlass,
1430        BlockKind::GrayStainedGlass,
1431        BlockKind::LightGrayStainedGlass,
1432        BlockKind::CyanStainedGlass,
1433        BlockKind::PurpleStainedGlass,
1434        BlockKind::BlueStainedGlass,
1435        BlockKind::BrownStainedGlass,
1436        BlockKind::GreenStainedGlass,
1437        BlockKind::RedStainedGlass,
1438        BlockKind::BlackStainedGlass,
1439        BlockKind::Barrier,
1440        BlockKind::TintedGlass,
1441    ])
1442});
1443pub static INCORRECT_FOR_COPPER_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1444    RegistryTag::new(vec![
1445        BlockKind::GoldOre,
1446        BlockKind::DeepslateGoldOre,
1447        BlockKind::GoldBlock,
1448        BlockKind::Obsidian,
1449        BlockKind::DiamondOre,
1450        BlockKind::DeepslateDiamondOre,
1451        BlockKind::DiamondBlock,
1452        BlockKind::RedstoneOre,
1453        BlockKind::DeepslateRedstoneOre,
1454        BlockKind::EmeraldOre,
1455        BlockKind::DeepslateEmeraldOre,
1456        BlockKind::EmeraldBlock,
1457        BlockKind::NetheriteBlock,
1458        BlockKind::AncientDebris,
1459        BlockKind::CryingObsidian,
1460        BlockKind::RespawnAnchor,
1461        BlockKind::RawGoldBlock,
1462    ])
1463});
1464pub static INCORRECT_FOR_DIAMOND_TOOL: LazyLock<RegistryTag<BlockKind>> =
1465    LazyLock::new(|| RegistryTag::new(vec![]));
1466pub static INCORRECT_FOR_GOLD_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1467    RegistryTag::new(vec![
1468        BlockKind::GoldOre,
1469        BlockKind::DeepslateGoldOre,
1470        BlockKind::IronOre,
1471        BlockKind::DeepslateIronOre,
1472        BlockKind::LapisOre,
1473        BlockKind::DeepslateLapisOre,
1474        BlockKind::LapisBlock,
1475        BlockKind::GoldBlock,
1476        BlockKind::IronBlock,
1477        BlockKind::Obsidian,
1478        BlockKind::DiamondOre,
1479        BlockKind::DeepslateDiamondOre,
1480        BlockKind::DiamondBlock,
1481        BlockKind::RedstoneOre,
1482        BlockKind::DeepslateRedstoneOre,
1483        BlockKind::EmeraldOre,
1484        BlockKind::DeepslateEmeraldOre,
1485        BlockKind::EmeraldBlock,
1486        BlockKind::NetheriteBlock,
1487        BlockKind::AncientDebris,
1488        BlockKind::CryingObsidian,
1489        BlockKind::RespawnAnchor,
1490        BlockKind::CopperBlock,
1491        BlockKind::ExposedCopper,
1492        BlockKind::WeatheredCopper,
1493        BlockKind::OxidizedCopper,
1494        BlockKind::WaxedCopperBlock,
1495        BlockKind::WaxedExposedCopper,
1496        BlockKind::WaxedWeatheredCopper,
1497        BlockKind::WaxedOxidizedCopper,
1498        BlockKind::CopperOre,
1499        BlockKind::DeepslateCopperOre,
1500        BlockKind::CutCopper,
1501        BlockKind::ExposedCutCopper,
1502        BlockKind::WeatheredCutCopper,
1503        BlockKind::OxidizedCutCopper,
1504        BlockKind::WaxedCutCopper,
1505        BlockKind::WaxedExposedCutCopper,
1506        BlockKind::WaxedWeatheredCutCopper,
1507        BlockKind::WaxedOxidizedCutCopper,
1508        BlockKind::ChiseledCopper,
1509        BlockKind::ExposedChiseledCopper,
1510        BlockKind::WeatheredChiseledCopper,
1511        BlockKind::OxidizedChiseledCopper,
1512        BlockKind::WaxedChiseledCopper,
1513        BlockKind::WaxedExposedChiseledCopper,
1514        BlockKind::WaxedWeatheredChiseledCopper,
1515        BlockKind::WaxedOxidizedChiseledCopper,
1516        BlockKind::CutCopperStairs,
1517        BlockKind::ExposedCutCopperStairs,
1518        BlockKind::WeatheredCutCopperStairs,
1519        BlockKind::OxidizedCutCopperStairs,
1520        BlockKind::WaxedCutCopperStairs,
1521        BlockKind::WaxedExposedCutCopperStairs,
1522        BlockKind::WaxedWeatheredCutCopperStairs,
1523        BlockKind::WaxedOxidizedCutCopperStairs,
1524        BlockKind::CutCopperSlab,
1525        BlockKind::ExposedCutCopperSlab,
1526        BlockKind::WeatheredCutCopperSlab,
1527        BlockKind::OxidizedCutCopperSlab,
1528        BlockKind::WaxedCutCopperSlab,
1529        BlockKind::WaxedExposedCutCopperSlab,
1530        BlockKind::WaxedWeatheredCutCopperSlab,
1531        BlockKind::WaxedOxidizedCutCopperSlab,
1532        BlockKind::CopperTrapdoor,
1533        BlockKind::ExposedCopperTrapdoor,
1534        BlockKind::WeatheredCopperTrapdoor,
1535        BlockKind::OxidizedCopperTrapdoor,
1536        BlockKind::WaxedCopperTrapdoor,
1537        BlockKind::WaxedExposedCopperTrapdoor,
1538        BlockKind::WaxedWeatheredCopperTrapdoor,
1539        BlockKind::WaxedOxidizedCopperTrapdoor,
1540        BlockKind::CopperGrate,
1541        BlockKind::ExposedCopperGrate,
1542        BlockKind::WeatheredCopperGrate,
1543        BlockKind::OxidizedCopperGrate,
1544        BlockKind::WaxedCopperGrate,
1545        BlockKind::WaxedExposedCopperGrate,
1546        BlockKind::WaxedWeatheredCopperGrate,
1547        BlockKind::WaxedOxidizedCopperGrate,
1548        BlockKind::CopperBulb,
1549        BlockKind::ExposedCopperBulb,
1550        BlockKind::WeatheredCopperBulb,
1551        BlockKind::OxidizedCopperBulb,
1552        BlockKind::WaxedCopperBulb,
1553        BlockKind::WaxedExposedCopperBulb,
1554        BlockKind::WaxedWeatheredCopperBulb,
1555        BlockKind::WaxedOxidizedCopperBulb,
1556        BlockKind::CopperChest,
1557        BlockKind::ExposedCopperChest,
1558        BlockKind::WeatheredCopperChest,
1559        BlockKind::OxidizedCopperChest,
1560        BlockKind::WaxedCopperChest,
1561        BlockKind::WaxedExposedCopperChest,
1562        BlockKind::WaxedWeatheredCopperChest,
1563        BlockKind::WaxedOxidizedCopperChest,
1564        BlockKind::LightningRod,
1565        BlockKind::ExposedLightningRod,
1566        BlockKind::WeatheredLightningRod,
1567        BlockKind::OxidizedLightningRod,
1568        BlockKind::WaxedLightningRod,
1569        BlockKind::WaxedExposedLightningRod,
1570        BlockKind::WaxedWeatheredLightningRod,
1571        BlockKind::WaxedOxidizedLightningRod,
1572        BlockKind::RawIronBlock,
1573        BlockKind::RawCopperBlock,
1574        BlockKind::RawGoldBlock,
1575        BlockKind::Crafter,
1576    ])
1577});
1578pub static INCORRECT_FOR_IRON_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1579    RegistryTag::new(vec![
1580        BlockKind::Obsidian,
1581        BlockKind::NetheriteBlock,
1582        BlockKind::AncientDebris,
1583        BlockKind::CryingObsidian,
1584        BlockKind::RespawnAnchor,
1585    ])
1586});
1587pub static INCORRECT_FOR_NETHERITE_TOOL: LazyLock<RegistryTag<BlockKind>> =
1588    LazyLock::new(|| RegistryTag::new(vec![]));
1589pub static INCORRECT_FOR_STONE_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1590    RegistryTag::new(vec![
1591        BlockKind::GoldOre,
1592        BlockKind::DeepslateGoldOre,
1593        BlockKind::GoldBlock,
1594        BlockKind::Obsidian,
1595        BlockKind::DiamondOre,
1596        BlockKind::DeepslateDiamondOre,
1597        BlockKind::DiamondBlock,
1598        BlockKind::RedstoneOre,
1599        BlockKind::DeepslateRedstoneOre,
1600        BlockKind::EmeraldOre,
1601        BlockKind::DeepslateEmeraldOre,
1602        BlockKind::EmeraldBlock,
1603        BlockKind::NetheriteBlock,
1604        BlockKind::AncientDebris,
1605        BlockKind::CryingObsidian,
1606        BlockKind::RespawnAnchor,
1607        BlockKind::RawGoldBlock,
1608    ])
1609});
1610pub static INCORRECT_FOR_WOODEN_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1611    RegistryTag::new(vec![
1612        BlockKind::GoldOre,
1613        BlockKind::DeepslateGoldOre,
1614        BlockKind::IronOre,
1615        BlockKind::DeepslateIronOre,
1616        BlockKind::LapisOre,
1617        BlockKind::DeepslateLapisOre,
1618        BlockKind::LapisBlock,
1619        BlockKind::GoldBlock,
1620        BlockKind::IronBlock,
1621        BlockKind::Obsidian,
1622        BlockKind::DiamondOre,
1623        BlockKind::DeepslateDiamondOre,
1624        BlockKind::DiamondBlock,
1625        BlockKind::RedstoneOre,
1626        BlockKind::DeepslateRedstoneOre,
1627        BlockKind::EmeraldOre,
1628        BlockKind::DeepslateEmeraldOre,
1629        BlockKind::EmeraldBlock,
1630        BlockKind::NetheriteBlock,
1631        BlockKind::AncientDebris,
1632        BlockKind::CryingObsidian,
1633        BlockKind::RespawnAnchor,
1634        BlockKind::CopperBlock,
1635        BlockKind::ExposedCopper,
1636        BlockKind::WeatheredCopper,
1637        BlockKind::OxidizedCopper,
1638        BlockKind::WaxedCopperBlock,
1639        BlockKind::WaxedExposedCopper,
1640        BlockKind::WaxedWeatheredCopper,
1641        BlockKind::WaxedOxidizedCopper,
1642        BlockKind::CopperOre,
1643        BlockKind::DeepslateCopperOre,
1644        BlockKind::CutCopper,
1645        BlockKind::ExposedCutCopper,
1646        BlockKind::WeatheredCutCopper,
1647        BlockKind::OxidizedCutCopper,
1648        BlockKind::WaxedCutCopper,
1649        BlockKind::WaxedExposedCutCopper,
1650        BlockKind::WaxedWeatheredCutCopper,
1651        BlockKind::WaxedOxidizedCutCopper,
1652        BlockKind::ChiseledCopper,
1653        BlockKind::ExposedChiseledCopper,
1654        BlockKind::WeatheredChiseledCopper,
1655        BlockKind::OxidizedChiseledCopper,
1656        BlockKind::WaxedChiseledCopper,
1657        BlockKind::WaxedExposedChiseledCopper,
1658        BlockKind::WaxedWeatheredChiseledCopper,
1659        BlockKind::WaxedOxidizedChiseledCopper,
1660        BlockKind::CutCopperStairs,
1661        BlockKind::ExposedCutCopperStairs,
1662        BlockKind::WeatheredCutCopperStairs,
1663        BlockKind::OxidizedCutCopperStairs,
1664        BlockKind::WaxedCutCopperStairs,
1665        BlockKind::WaxedExposedCutCopperStairs,
1666        BlockKind::WaxedWeatheredCutCopperStairs,
1667        BlockKind::WaxedOxidizedCutCopperStairs,
1668        BlockKind::CutCopperSlab,
1669        BlockKind::ExposedCutCopperSlab,
1670        BlockKind::WeatheredCutCopperSlab,
1671        BlockKind::OxidizedCutCopperSlab,
1672        BlockKind::WaxedCutCopperSlab,
1673        BlockKind::WaxedExposedCutCopperSlab,
1674        BlockKind::WaxedWeatheredCutCopperSlab,
1675        BlockKind::WaxedOxidizedCutCopperSlab,
1676        BlockKind::CopperTrapdoor,
1677        BlockKind::ExposedCopperTrapdoor,
1678        BlockKind::WeatheredCopperTrapdoor,
1679        BlockKind::OxidizedCopperTrapdoor,
1680        BlockKind::WaxedCopperTrapdoor,
1681        BlockKind::WaxedExposedCopperTrapdoor,
1682        BlockKind::WaxedWeatheredCopperTrapdoor,
1683        BlockKind::WaxedOxidizedCopperTrapdoor,
1684        BlockKind::CopperGrate,
1685        BlockKind::ExposedCopperGrate,
1686        BlockKind::WeatheredCopperGrate,
1687        BlockKind::OxidizedCopperGrate,
1688        BlockKind::WaxedCopperGrate,
1689        BlockKind::WaxedExposedCopperGrate,
1690        BlockKind::WaxedWeatheredCopperGrate,
1691        BlockKind::WaxedOxidizedCopperGrate,
1692        BlockKind::CopperBulb,
1693        BlockKind::ExposedCopperBulb,
1694        BlockKind::WeatheredCopperBulb,
1695        BlockKind::OxidizedCopperBulb,
1696        BlockKind::WaxedCopperBulb,
1697        BlockKind::WaxedExposedCopperBulb,
1698        BlockKind::WaxedWeatheredCopperBulb,
1699        BlockKind::WaxedOxidizedCopperBulb,
1700        BlockKind::CopperChest,
1701        BlockKind::ExposedCopperChest,
1702        BlockKind::WeatheredCopperChest,
1703        BlockKind::OxidizedCopperChest,
1704        BlockKind::WaxedCopperChest,
1705        BlockKind::WaxedExposedCopperChest,
1706        BlockKind::WaxedWeatheredCopperChest,
1707        BlockKind::WaxedOxidizedCopperChest,
1708        BlockKind::LightningRod,
1709        BlockKind::ExposedLightningRod,
1710        BlockKind::WeatheredLightningRod,
1711        BlockKind::OxidizedLightningRod,
1712        BlockKind::WaxedLightningRod,
1713        BlockKind::WaxedExposedLightningRod,
1714        BlockKind::WaxedWeatheredLightningRod,
1715        BlockKind::WaxedOxidizedLightningRod,
1716        BlockKind::RawIronBlock,
1717        BlockKind::RawCopperBlock,
1718        BlockKind::RawGoldBlock,
1719        BlockKind::Crafter,
1720    ])
1721});
1722pub static INFINIBURN_END: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1723    RegistryTag::new(vec![
1724        BlockKind::Bedrock,
1725        BlockKind::Netherrack,
1726        BlockKind::MagmaBlock,
1727    ])
1728});
1729pub static INFINIBURN_NETHER: LazyLock<RegistryTag<BlockKind>> =
1730    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Netherrack, BlockKind::MagmaBlock]));
1731pub static INFINIBURN_OVERWORLD: LazyLock<RegistryTag<BlockKind>> =
1732    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Netherrack, BlockKind::MagmaBlock]));
1733pub static INSIDE_STEP_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1734    RegistryTag::new(vec![
1735        BlockKind::GlowLichen,
1736        BlockKind::LilyPad,
1737        BlockKind::SmallAmethystBud,
1738        BlockKind::PowderSnow,
1739        BlockKind::SculkVein,
1740        BlockKind::PinkPetals,
1741        BlockKind::Wildflowers,
1742        BlockKind::LeafLitter,
1743    ])
1744});
1745pub static INVALID_SPAWN_INSIDE: LazyLock<RegistryTag<BlockKind>> =
1746    LazyLock::new(|| RegistryTag::new(vec![BlockKind::EndPortal, BlockKind::EndGateway]));
1747pub static IRON_ORES: LazyLock<RegistryTag<BlockKind>> =
1748    LazyLock::new(|| RegistryTag::new(vec![BlockKind::IronOre, BlockKind::DeepslateIronOre]));
1749pub static JUNGLE_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1750    RegistryTag::new(vec![
1751        BlockKind::JungleLog,
1752        BlockKind::StrippedJungleLog,
1753        BlockKind::JungleWood,
1754        BlockKind::StrippedJungleWood,
1755    ])
1756});
1757pub static LANTERNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1758    RegistryTag::new(vec![
1759        BlockKind::Lantern,
1760        BlockKind::SoulLantern,
1761        BlockKind::CopperLantern,
1762        BlockKind::ExposedCopperLantern,
1763        BlockKind::WeatheredCopperLantern,
1764        BlockKind::OxidizedCopperLantern,
1765        BlockKind::WaxedCopperLantern,
1766        BlockKind::WaxedExposedCopperLantern,
1767        BlockKind::WaxedWeatheredCopperLantern,
1768        BlockKind::WaxedOxidizedCopperLantern,
1769    ])
1770});
1771pub static LAPIS_ORES: LazyLock<RegistryTag<BlockKind>> =
1772    LazyLock::new(|| RegistryTag::new(vec![BlockKind::LapisOre, BlockKind::DeepslateLapisOre]));
1773pub static LAVA_POOL_STONE_CANNOT_REPLACE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1774    RegistryTag::new(vec![
1775        BlockKind::PaleOakWood,
1776        BlockKind::Bedrock,
1777        BlockKind::OakLog,
1778        BlockKind::SpruceLog,
1779        BlockKind::BirchLog,
1780        BlockKind::JungleLog,
1781        BlockKind::AcaciaLog,
1782        BlockKind::CherryLog,
1783        BlockKind::DarkOakLog,
1784        BlockKind::PaleOakLog,
1785        BlockKind::MangroveLog,
1786        BlockKind::StrippedSpruceLog,
1787        BlockKind::StrippedBirchLog,
1788        BlockKind::StrippedJungleLog,
1789        BlockKind::StrippedAcaciaLog,
1790        BlockKind::StrippedCherryLog,
1791        BlockKind::StrippedDarkOakLog,
1792        BlockKind::StrippedPaleOakLog,
1793        BlockKind::StrippedOakLog,
1794        BlockKind::StrippedMangroveLog,
1795        BlockKind::OakWood,
1796        BlockKind::SpruceWood,
1797        BlockKind::BirchWood,
1798        BlockKind::JungleWood,
1799        BlockKind::AcaciaWood,
1800        BlockKind::CherryWood,
1801        BlockKind::DarkOakWood,
1802        BlockKind::MangroveWood,
1803        BlockKind::StrippedOakWood,
1804        BlockKind::StrippedSpruceWood,
1805        BlockKind::StrippedBirchWood,
1806        BlockKind::StrippedJungleWood,
1807        BlockKind::StrippedAcaciaWood,
1808        BlockKind::StrippedCherryWood,
1809        BlockKind::StrippedDarkOakWood,
1810        BlockKind::StrippedPaleOakWood,
1811        BlockKind::StrippedMangroveWood,
1812        BlockKind::OakLeaves,
1813        BlockKind::SpruceLeaves,
1814        BlockKind::BirchLeaves,
1815        BlockKind::JungleLeaves,
1816        BlockKind::AcaciaLeaves,
1817        BlockKind::CherryLeaves,
1818        BlockKind::DarkOakLeaves,
1819        BlockKind::PaleOakLeaves,
1820        BlockKind::MangroveLeaves,
1821        BlockKind::AzaleaLeaves,
1822        BlockKind::FloweringAzaleaLeaves,
1823        BlockKind::Spawner,
1824        BlockKind::Chest,
1825        BlockKind::EndPortalFrame,
1826        BlockKind::WarpedStem,
1827        BlockKind::StrippedWarpedStem,
1828        BlockKind::WarpedHyphae,
1829        BlockKind::StrippedWarpedHyphae,
1830        BlockKind::CrimsonStem,
1831        BlockKind::StrippedCrimsonStem,
1832        BlockKind::CrimsonHyphae,
1833        BlockKind::StrippedCrimsonHyphae,
1834        BlockKind::ReinforcedDeepslate,
1835        BlockKind::TrialSpawner,
1836        BlockKind::Vault,
1837    ])
1838});
1839pub static LEAVES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1840    RegistryTag::new(vec![
1841        BlockKind::OakLeaves,
1842        BlockKind::SpruceLeaves,
1843        BlockKind::BirchLeaves,
1844        BlockKind::JungleLeaves,
1845        BlockKind::AcaciaLeaves,
1846        BlockKind::CherryLeaves,
1847        BlockKind::DarkOakLeaves,
1848        BlockKind::PaleOakLeaves,
1849        BlockKind::MangroveLeaves,
1850        BlockKind::AzaleaLeaves,
1851        BlockKind::FloweringAzaleaLeaves,
1852    ])
1853});
1854pub static LIGHTNING_RODS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1855    RegistryTag::new(vec![
1856        BlockKind::LightningRod,
1857        BlockKind::ExposedLightningRod,
1858        BlockKind::WeatheredLightningRod,
1859        BlockKind::OxidizedLightningRod,
1860        BlockKind::WaxedLightningRod,
1861        BlockKind::WaxedExposedLightningRod,
1862        BlockKind::WaxedWeatheredLightningRod,
1863        BlockKind::WaxedOxidizedLightningRod,
1864    ])
1865});
1866pub static LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1867    RegistryTag::new(vec![
1868        BlockKind::PaleOakWood,
1869        BlockKind::OakLog,
1870        BlockKind::SpruceLog,
1871        BlockKind::BirchLog,
1872        BlockKind::JungleLog,
1873        BlockKind::AcaciaLog,
1874        BlockKind::CherryLog,
1875        BlockKind::DarkOakLog,
1876        BlockKind::PaleOakLog,
1877        BlockKind::MangroveLog,
1878        BlockKind::StrippedSpruceLog,
1879        BlockKind::StrippedBirchLog,
1880        BlockKind::StrippedJungleLog,
1881        BlockKind::StrippedAcaciaLog,
1882        BlockKind::StrippedCherryLog,
1883        BlockKind::StrippedDarkOakLog,
1884        BlockKind::StrippedPaleOakLog,
1885        BlockKind::StrippedOakLog,
1886        BlockKind::StrippedMangroveLog,
1887        BlockKind::OakWood,
1888        BlockKind::SpruceWood,
1889        BlockKind::BirchWood,
1890        BlockKind::JungleWood,
1891        BlockKind::AcaciaWood,
1892        BlockKind::CherryWood,
1893        BlockKind::DarkOakWood,
1894        BlockKind::MangroveWood,
1895        BlockKind::StrippedOakWood,
1896        BlockKind::StrippedSpruceWood,
1897        BlockKind::StrippedBirchWood,
1898        BlockKind::StrippedJungleWood,
1899        BlockKind::StrippedAcaciaWood,
1900        BlockKind::StrippedCherryWood,
1901        BlockKind::StrippedDarkOakWood,
1902        BlockKind::StrippedPaleOakWood,
1903        BlockKind::StrippedMangroveWood,
1904        BlockKind::WarpedStem,
1905        BlockKind::StrippedWarpedStem,
1906        BlockKind::WarpedHyphae,
1907        BlockKind::StrippedWarpedHyphae,
1908        BlockKind::CrimsonStem,
1909        BlockKind::StrippedCrimsonStem,
1910        BlockKind::CrimsonHyphae,
1911        BlockKind::StrippedCrimsonHyphae,
1912    ])
1913});
1914pub static LOGS_THAT_BURN: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1915    RegistryTag::new(vec![
1916        BlockKind::PaleOakWood,
1917        BlockKind::OakLog,
1918        BlockKind::SpruceLog,
1919        BlockKind::BirchLog,
1920        BlockKind::JungleLog,
1921        BlockKind::AcaciaLog,
1922        BlockKind::CherryLog,
1923        BlockKind::DarkOakLog,
1924        BlockKind::PaleOakLog,
1925        BlockKind::MangroveLog,
1926        BlockKind::StrippedSpruceLog,
1927        BlockKind::StrippedBirchLog,
1928        BlockKind::StrippedJungleLog,
1929        BlockKind::StrippedAcaciaLog,
1930        BlockKind::StrippedCherryLog,
1931        BlockKind::StrippedDarkOakLog,
1932        BlockKind::StrippedPaleOakLog,
1933        BlockKind::StrippedOakLog,
1934        BlockKind::StrippedMangroveLog,
1935        BlockKind::OakWood,
1936        BlockKind::SpruceWood,
1937        BlockKind::BirchWood,
1938        BlockKind::JungleWood,
1939        BlockKind::AcaciaWood,
1940        BlockKind::CherryWood,
1941        BlockKind::DarkOakWood,
1942        BlockKind::MangroveWood,
1943        BlockKind::StrippedOakWood,
1944        BlockKind::StrippedSpruceWood,
1945        BlockKind::StrippedBirchWood,
1946        BlockKind::StrippedJungleWood,
1947        BlockKind::StrippedAcaciaWood,
1948        BlockKind::StrippedCherryWood,
1949        BlockKind::StrippedDarkOakWood,
1950        BlockKind::StrippedPaleOakWood,
1951        BlockKind::StrippedMangroveWood,
1952    ])
1953});
1954pub static LUSH_GROUND_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1955    RegistryTag::new(vec![
1956        BlockKind::Stone,
1957        BlockKind::Granite,
1958        BlockKind::Diorite,
1959        BlockKind::Andesite,
1960        BlockKind::GrassBlock,
1961        BlockKind::Dirt,
1962        BlockKind::CoarseDirt,
1963        BlockKind::Podzol,
1964        BlockKind::Sand,
1965        BlockKind::Gravel,
1966        BlockKind::MuddyMangroveRoots,
1967        BlockKind::Clay,
1968        BlockKind::Mycelium,
1969        BlockKind::Tuff,
1970        BlockKind::CaveVines,
1971        BlockKind::CaveVinesPlant,
1972        BlockKind::MossBlock,
1973        BlockKind::RootedDirt,
1974        BlockKind::Mud,
1975        BlockKind::Deepslate,
1976        BlockKind::PaleMossBlock,
1977    ])
1978});
1979pub static MAINTAINS_FARMLAND: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
1980    RegistryTag::new(vec![
1981        BlockKind::MovingPiston,
1982        BlockKind::Torchflower,
1983        BlockKind::Wheat,
1984        BlockKind::AttachedPumpkinStem,
1985        BlockKind::AttachedMelonStem,
1986        BlockKind::PumpkinStem,
1987        BlockKind::MelonStem,
1988        BlockKind::OakFenceGate,
1989        BlockKind::Carrots,
1990        BlockKind::Potatoes,
1991        BlockKind::SpruceFenceGate,
1992        BlockKind::BirchFenceGate,
1993        BlockKind::JungleFenceGate,
1994        BlockKind::AcaciaFenceGate,
1995        BlockKind::CherryFenceGate,
1996        BlockKind::DarkOakFenceGate,
1997        BlockKind::PaleOakFenceGate,
1998        BlockKind::MangroveFenceGate,
1999        BlockKind::BambooFenceGate,
2000        BlockKind::TorchflowerCrop,
2001        BlockKind::PitcherCrop,
2002        BlockKind::Beetroots,
2003        BlockKind::CrimsonFenceGate,
2004        BlockKind::WarpedFenceGate,
2005    ])
2006});
2007pub static MANGROVE_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2008    RegistryTag::new(vec![
2009        BlockKind::MangroveLog,
2010        BlockKind::StrippedMangroveLog,
2011        BlockKind::MangroveWood,
2012        BlockKind::StrippedMangroveWood,
2013    ])
2014});
2015pub static MANGROVE_LOGS_CAN_GROW_THROUGH: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2016    RegistryTag::new(vec![
2017        BlockKind::MangrovePropagule,
2018        BlockKind::MangroveLog,
2019        BlockKind::MangroveRoots,
2020        BlockKind::MuddyMangroveRoots,
2021        BlockKind::MangroveLeaves,
2022        BlockKind::Vine,
2023        BlockKind::MossCarpet,
2024        BlockKind::Mud,
2025    ])
2026});
2027pub static MANGROVE_ROOTS_CAN_GROW_THROUGH: LazyLock<RegistryTag<BlockKind>> =
2028    LazyLock::new(|| {
2029        RegistryTag::new(vec![
2030            BlockKind::MangrovePropagule,
2031            BlockKind::MangroveRoots,
2032            BlockKind::MuddyMangroveRoots,
2033            BlockKind::Snow,
2034            BlockKind::Vine,
2035            BlockKind::MossCarpet,
2036            BlockKind::Mud,
2037        ])
2038    });
2039pub static MINEABLE_AXE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2040    RegistryTag::new(vec![
2041        BlockKind::OakPlanks,
2042        BlockKind::SprucePlanks,
2043        BlockKind::BirchPlanks,
2044        BlockKind::JunglePlanks,
2045        BlockKind::AcaciaPlanks,
2046        BlockKind::CherryPlanks,
2047        BlockKind::DarkOakPlanks,
2048        BlockKind::PaleOakWood,
2049        BlockKind::PaleOakPlanks,
2050        BlockKind::MangrovePlanks,
2051        BlockKind::BambooPlanks,
2052        BlockKind::BambooMosaic,
2053        BlockKind::OakLog,
2054        BlockKind::SpruceLog,
2055        BlockKind::BirchLog,
2056        BlockKind::JungleLog,
2057        BlockKind::AcaciaLog,
2058        BlockKind::CherryLog,
2059        BlockKind::DarkOakLog,
2060        BlockKind::PaleOakLog,
2061        BlockKind::MangroveLog,
2062        BlockKind::MangroveRoots,
2063        BlockKind::BambooBlock,
2064        BlockKind::StrippedSpruceLog,
2065        BlockKind::StrippedBirchLog,
2066        BlockKind::StrippedJungleLog,
2067        BlockKind::StrippedAcaciaLog,
2068        BlockKind::StrippedCherryLog,
2069        BlockKind::StrippedDarkOakLog,
2070        BlockKind::StrippedPaleOakLog,
2071        BlockKind::StrippedOakLog,
2072        BlockKind::StrippedMangroveLog,
2073        BlockKind::StrippedBambooBlock,
2074        BlockKind::OakWood,
2075        BlockKind::SpruceWood,
2076        BlockKind::BirchWood,
2077        BlockKind::JungleWood,
2078        BlockKind::AcaciaWood,
2079        BlockKind::CherryWood,
2080        BlockKind::DarkOakWood,
2081        BlockKind::MangroveWood,
2082        BlockKind::StrippedOakWood,
2083        BlockKind::StrippedSpruceWood,
2084        BlockKind::StrippedBirchWood,
2085        BlockKind::StrippedJungleWood,
2086        BlockKind::StrippedAcaciaWood,
2087        BlockKind::StrippedCherryWood,
2088        BlockKind::StrippedDarkOakWood,
2089        BlockKind::StrippedPaleOakWood,
2090        BlockKind::StrippedMangroveWood,
2091        BlockKind::NoteBlock,
2092        BlockKind::Bookshelf,
2093        BlockKind::ChiseledBookshelf,
2094        BlockKind::AcaciaShelf,
2095        BlockKind::BambooShelf,
2096        BlockKind::BirchShelf,
2097        BlockKind::CherryShelf,
2098        BlockKind::CrimsonShelf,
2099        BlockKind::DarkOakShelf,
2100        BlockKind::JungleShelf,
2101        BlockKind::MangroveShelf,
2102        BlockKind::OakShelf,
2103        BlockKind::PaleOakShelf,
2104        BlockKind::SpruceShelf,
2105        BlockKind::WarpedShelf,
2106        BlockKind::CreakingHeart,
2107        BlockKind::OakStairs,
2108        BlockKind::Chest,
2109        BlockKind::CraftingTable,
2110        BlockKind::OakSign,
2111        BlockKind::SpruceSign,
2112        BlockKind::BirchSign,
2113        BlockKind::AcaciaSign,
2114        BlockKind::CherrySign,
2115        BlockKind::JungleSign,
2116        BlockKind::DarkOakSign,
2117        BlockKind::PaleOakSign,
2118        BlockKind::MangroveSign,
2119        BlockKind::BambooSign,
2120        BlockKind::OakDoor,
2121        BlockKind::Ladder,
2122        BlockKind::OakWallSign,
2123        BlockKind::SpruceWallSign,
2124        BlockKind::BirchWallSign,
2125        BlockKind::AcaciaWallSign,
2126        BlockKind::CherryWallSign,
2127        BlockKind::JungleWallSign,
2128        BlockKind::DarkOakWallSign,
2129        BlockKind::PaleOakWallSign,
2130        BlockKind::MangroveWallSign,
2131        BlockKind::BambooWallSign,
2132        BlockKind::OakHangingSign,
2133        BlockKind::SpruceHangingSign,
2134        BlockKind::BirchHangingSign,
2135        BlockKind::AcaciaHangingSign,
2136        BlockKind::CherryHangingSign,
2137        BlockKind::JungleHangingSign,
2138        BlockKind::DarkOakHangingSign,
2139        BlockKind::PaleOakHangingSign,
2140        BlockKind::CrimsonHangingSign,
2141        BlockKind::WarpedHangingSign,
2142        BlockKind::MangroveHangingSign,
2143        BlockKind::BambooHangingSign,
2144        BlockKind::OakWallHangingSign,
2145        BlockKind::SpruceWallHangingSign,
2146        BlockKind::BirchWallHangingSign,
2147        BlockKind::AcaciaWallHangingSign,
2148        BlockKind::CherryWallHangingSign,
2149        BlockKind::JungleWallHangingSign,
2150        BlockKind::DarkOakWallHangingSign,
2151        BlockKind::PaleOakWallHangingSign,
2152        BlockKind::MangroveWallHangingSign,
2153        BlockKind::CrimsonWallHangingSign,
2154        BlockKind::WarpedWallHangingSign,
2155        BlockKind::BambooWallHangingSign,
2156        BlockKind::OakPressurePlate,
2157        BlockKind::SprucePressurePlate,
2158        BlockKind::BirchPressurePlate,
2159        BlockKind::JunglePressurePlate,
2160        BlockKind::AcaciaPressurePlate,
2161        BlockKind::CherryPressurePlate,
2162        BlockKind::DarkOakPressurePlate,
2163        BlockKind::PaleOakPressurePlate,
2164        BlockKind::MangrovePressurePlate,
2165        BlockKind::BambooPressurePlate,
2166        BlockKind::Jukebox,
2167        BlockKind::OakFence,
2168        BlockKind::CarvedPumpkin,
2169        BlockKind::JackOLantern,
2170        BlockKind::OakTrapdoor,
2171        BlockKind::SpruceTrapdoor,
2172        BlockKind::BirchTrapdoor,
2173        BlockKind::JungleTrapdoor,
2174        BlockKind::AcaciaTrapdoor,
2175        BlockKind::CherryTrapdoor,
2176        BlockKind::DarkOakTrapdoor,
2177        BlockKind::PaleOakTrapdoor,
2178        BlockKind::MangroveTrapdoor,
2179        BlockKind::BambooTrapdoor,
2180        BlockKind::BrownMushroomBlock,
2181        BlockKind::RedMushroomBlock,
2182        BlockKind::MushroomStem,
2183        BlockKind::Pumpkin,
2184        BlockKind::Melon,
2185        BlockKind::Vine,
2186        BlockKind::GlowLichen,
2187        BlockKind::OakFenceGate,
2188        BlockKind::Cocoa,
2189        BlockKind::SpruceStairs,
2190        BlockKind::BirchStairs,
2191        BlockKind::JungleStairs,
2192        BlockKind::OakButton,
2193        BlockKind::SpruceButton,
2194        BlockKind::BirchButton,
2195        BlockKind::JungleButton,
2196        BlockKind::AcaciaButton,
2197        BlockKind::CherryButton,
2198        BlockKind::DarkOakButton,
2199        BlockKind::PaleOakButton,
2200        BlockKind::MangroveButton,
2201        BlockKind::BambooButton,
2202        BlockKind::TrappedChest,
2203        BlockKind::DaylightDetector,
2204        BlockKind::AcaciaStairs,
2205        BlockKind::CherryStairs,
2206        BlockKind::DarkOakStairs,
2207        BlockKind::PaleOakStairs,
2208        BlockKind::MangroveStairs,
2209        BlockKind::BambooStairs,
2210        BlockKind::BambooMosaicStairs,
2211        BlockKind::WhiteBanner,
2212        BlockKind::OrangeBanner,
2213        BlockKind::MagentaBanner,
2214        BlockKind::LightBlueBanner,
2215        BlockKind::YellowBanner,
2216        BlockKind::LimeBanner,
2217        BlockKind::PinkBanner,
2218        BlockKind::GrayBanner,
2219        BlockKind::LightGrayBanner,
2220        BlockKind::CyanBanner,
2221        BlockKind::PurpleBanner,
2222        BlockKind::BlueBanner,
2223        BlockKind::BrownBanner,
2224        BlockKind::GreenBanner,
2225        BlockKind::RedBanner,
2226        BlockKind::BlackBanner,
2227        BlockKind::WhiteWallBanner,
2228        BlockKind::OrangeWallBanner,
2229        BlockKind::MagentaWallBanner,
2230        BlockKind::LightBlueWallBanner,
2231        BlockKind::YellowWallBanner,
2232        BlockKind::LimeWallBanner,
2233        BlockKind::PinkWallBanner,
2234        BlockKind::GrayWallBanner,
2235        BlockKind::LightGrayWallBanner,
2236        BlockKind::CyanWallBanner,
2237        BlockKind::PurpleWallBanner,
2238        BlockKind::BlueWallBanner,
2239        BlockKind::BrownWallBanner,
2240        BlockKind::GreenWallBanner,
2241        BlockKind::RedWallBanner,
2242        BlockKind::BlackWallBanner,
2243        BlockKind::OakSlab,
2244        BlockKind::SpruceSlab,
2245        BlockKind::BirchSlab,
2246        BlockKind::JungleSlab,
2247        BlockKind::AcaciaSlab,
2248        BlockKind::CherrySlab,
2249        BlockKind::DarkOakSlab,
2250        BlockKind::PaleOakSlab,
2251        BlockKind::MangroveSlab,
2252        BlockKind::BambooSlab,
2253        BlockKind::BambooMosaicSlab,
2254        BlockKind::SpruceFenceGate,
2255        BlockKind::BirchFenceGate,
2256        BlockKind::JungleFenceGate,
2257        BlockKind::AcaciaFenceGate,
2258        BlockKind::CherryFenceGate,
2259        BlockKind::DarkOakFenceGate,
2260        BlockKind::PaleOakFenceGate,
2261        BlockKind::MangroveFenceGate,
2262        BlockKind::BambooFenceGate,
2263        BlockKind::SpruceFence,
2264        BlockKind::BirchFence,
2265        BlockKind::JungleFence,
2266        BlockKind::AcaciaFence,
2267        BlockKind::CherryFence,
2268        BlockKind::DarkOakFence,
2269        BlockKind::PaleOakFence,
2270        BlockKind::MangroveFence,
2271        BlockKind::BambooFence,
2272        BlockKind::SpruceDoor,
2273        BlockKind::BirchDoor,
2274        BlockKind::JungleDoor,
2275        BlockKind::AcaciaDoor,
2276        BlockKind::CherryDoor,
2277        BlockKind::DarkOakDoor,
2278        BlockKind::PaleOakDoor,
2279        BlockKind::MangroveDoor,
2280        BlockKind::BambooDoor,
2281        BlockKind::ChorusPlant,
2282        BlockKind::ChorusFlower,
2283        BlockKind::Bamboo,
2284        BlockKind::Loom,
2285        BlockKind::Barrel,
2286        BlockKind::CartographyTable,
2287        BlockKind::FletchingTable,
2288        BlockKind::Lectern,
2289        BlockKind::SmithingTable,
2290        BlockKind::Campfire,
2291        BlockKind::SoulCampfire,
2292        BlockKind::WarpedStem,
2293        BlockKind::StrippedWarpedStem,
2294        BlockKind::WarpedHyphae,
2295        BlockKind::StrippedWarpedHyphae,
2296        BlockKind::CrimsonStem,
2297        BlockKind::StrippedCrimsonStem,
2298        BlockKind::CrimsonHyphae,
2299        BlockKind::StrippedCrimsonHyphae,
2300        BlockKind::CrimsonPlanks,
2301        BlockKind::WarpedPlanks,
2302        BlockKind::CrimsonSlab,
2303        BlockKind::WarpedSlab,
2304        BlockKind::CrimsonPressurePlate,
2305        BlockKind::WarpedPressurePlate,
2306        BlockKind::CrimsonFence,
2307        BlockKind::WarpedFence,
2308        BlockKind::CrimsonTrapdoor,
2309        BlockKind::WarpedTrapdoor,
2310        BlockKind::CrimsonFenceGate,
2311        BlockKind::WarpedFenceGate,
2312        BlockKind::CrimsonStairs,
2313        BlockKind::WarpedStairs,
2314        BlockKind::CrimsonButton,
2315        BlockKind::WarpedButton,
2316        BlockKind::CrimsonDoor,
2317        BlockKind::WarpedDoor,
2318        BlockKind::CrimsonSign,
2319        BlockKind::WarpedSign,
2320        BlockKind::CrimsonWallSign,
2321        BlockKind::WarpedWallSign,
2322        BlockKind::Composter,
2323        BlockKind::BeeNest,
2324        BlockKind::Beehive,
2325        BlockKind::BigDripleaf,
2326        BlockKind::BigDripleafStem,
2327    ])
2328});
2329pub static MINEABLE_HOE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2330    RegistryTag::new(vec![
2331        BlockKind::OakLeaves,
2332        BlockKind::SpruceLeaves,
2333        BlockKind::BirchLeaves,
2334        BlockKind::JungleLeaves,
2335        BlockKind::AcaciaLeaves,
2336        BlockKind::CherryLeaves,
2337        BlockKind::DarkOakLeaves,
2338        BlockKind::PaleOakLeaves,
2339        BlockKind::MangroveLeaves,
2340        BlockKind::AzaleaLeaves,
2341        BlockKind::FloweringAzaleaLeaves,
2342        BlockKind::Sponge,
2343        BlockKind::WetSponge,
2344        BlockKind::HayBlock,
2345        BlockKind::NetherWartBlock,
2346        BlockKind::DriedKelpBlock,
2347        BlockKind::WarpedWartBlock,
2348        BlockKind::Shroomlight,
2349        BlockKind::Target,
2350        BlockKind::SculkSensor,
2351        BlockKind::CalibratedSculkSensor,
2352        BlockKind::Sculk,
2353        BlockKind::SculkVein,
2354        BlockKind::SculkCatalyst,
2355        BlockKind::SculkShrieker,
2356        BlockKind::MossCarpet,
2357        BlockKind::MossBlock,
2358        BlockKind::PaleMossBlock,
2359        BlockKind::PaleMossCarpet,
2360    ])
2361});
2362pub static MINEABLE_PICKAXE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2363    RegistryTag::new(vec![
2364        BlockKind::Stone,
2365        BlockKind::Granite,
2366        BlockKind::PolishedGranite,
2367        BlockKind::Diorite,
2368        BlockKind::PolishedDiorite,
2369        BlockKind::Andesite,
2370        BlockKind::PolishedAndesite,
2371        BlockKind::Cobblestone,
2372        BlockKind::GoldOre,
2373        BlockKind::DeepslateGoldOre,
2374        BlockKind::IronOre,
2375        BlockKind::DeepslateIronOre,
2376        BlockKind::CoalOre,
2377        BlockKind::DeepslateCoalOre,
2378        BlockKind::NetherGoldOre,
2379        BlockKind::LapisOre,
2380        BlockKind::DeepslateLapisOre,
2381        BlockKind::LapisBlock,
2382        BlockKind::Dispenser,
2383        BlockKind::Sandstone,
2384        BlockKind::ChiseledSandstone,
2385        BlockKind::CutSandstone,
2386        BlockKind::PoweredRail,
2387        BlockKind::DetectorRail,
2388        BlockKind::StickyPiston,
2389        BlockKind::Piston,
2390        BlockKind::PistonHead,
2391        BlockKind::GoldBlock,
2392        BlockKind::IronBlock,
2393        BlockKind::Bricks,
2394        BlockKind::MossyCobblestone,
2395        BlockKind::Obsidian,
2396        BlockKind::Spawner,
2397        BlockKind::DiamondOre,
2398        BlockKind::DeepslateDiamondOre,
2399        BlockKind::DiamondBlock,
2400        BlockKind::Furnace,
2401        BlockKind::Rail,
2402        BlockKind::CobblestoneStairs,
2403        BlockKind::StonePressurePlate,
2404        BlockKind::IronDoor,
2405        BlockKind::RedstoneOre,
2406        BlockKind::DeepslateRedstoneOre,
2407        BlockKind::StoneButton,
2408        BlockKind::Ice,
2409        BlockKind::Netherrack,
2410        BlockKind::Basalt,
2411        BlockKind::PolishedBasalt,
2412        BlockKind::StoneBricks,
2413        BlockKind::MossyStoneBricks,
2414        BlockKind::CrackedStoneBricks,
2415        BlockKind::ChiseledStoneBricks,
2416        BlockKind::PackedMud,
2417        BlockKind::MudBricks,
2418        BlockKind::InfestedStone,
2419        BlockKind::InfestedCobblestone,
2420        BlockKind::InfestedStoneBricks,
2421        BlockKind::InfestedMossyStoneBricks,
2422        BlockKind::InfestedCrackedStoneBricks,
2423        BlockKind::InfestedChiseledStoneBricks,
2424        BlockKind::IronBars,
2425        BlockKind::CopperBars,
2426        BlockKind::ExposedCopperBars,
2427        BlockKind::WeatheredCopperBars,
2428        BlockKind::OxidizedCopperBars,
2429        BlockKind::WaxedCopperBars,
2430        BlockKind::WaxedExposedCopperBars,
2431        BlockKind::WaxedWeatheredCopperBars,
2432        BlockKind::WaxedOxidizedCopperBars,
2433        BlockKind::IronChain,
2434        BlockKind::CopperChain,
2435        BlockKind::ExposedCopperChain,
2436        BlockKind::WeatheredCopperChain,
2437        BlockKind::OxidizedCopperChain,
2438        BlockKind::WaxedCopperChain,
2439        BlockKind::WaxedExposedCopperChain,
2440        BlockKind::WaxedWeatheredCopperChain,
2441        BlockKind::WaxedOxidizedCopperChain,
2442        BlockKind::BrickStairs,
2443        BlockKind::StoneBrickStairs,
2444        BlockKind::MudBrickStairs,
2445        BlockKind::ResinBricks,
2446        BlockKind::ResinBrickStairs,
2447        BlockKind::ResinBrickSlab,
2448        BlockKind::ResinBrickWall,
2449        BlockKind::ResinBrickWall,
2450        BlockKind::ChiseledResinBricks,
2451        BlockKind::NetherBricks,
2452        BlockKind::NetherBrickFence,
2453        BlockKind::NetherBrickStairs,
2454        BlockKind::EnchantingTable,
2455        BlockKind::BrewingStand,
2456        BlockKind::Cauldron,
2457        BlockKind::WaterCauldron,
2458        BlockKind::LavaCauldron,
2459        BlockKind::PowderSnowCauldron,
2460        BlockKind::EndStone,
2461        BlockKind::SandstoneStairs,
2462        BlockKind::EmeraldOre,
2463        BlockKind::DeepslateEmeraldOre,
2464        BlockKind::EnderChest,
2465        BlockKind::EmeraldBlock,
2466        BlockKind::CobblestoneWall,
2467        BlockKind::MossyCobblestoneWall,
2468        BlockKind::Anvil,
2469        BlockKind::ChippedAnvil,
2470        BlockKind::DamagedAnvil,
2471        BlockKind::LightWeightedPressurePlate,
2472        BlockKind::HeavyWeightedPressurePlate,
2473        BlockKind::RedstoneBlock,
2474        BlockKind::NetherQuartzOre,
2475        BlockKind::Hopper,
2476        BlockKind::QuartzBlock,
2477        BlockKind::ChiseledQuartzBlock,
2478        BlockKind::QuartzPillar,
2479        BlockKind::QuartzStairs,
2480        BlockKind::ActivatorRail,
2481        BlockKind::Dropper,
2482        BlockKind::WhiteTerracotta,
2483        BlockKind::OrangeTerracotta,
2484        BlockKind::MagentaTerracotta,
2485        BlockKind::LightBlueTerracotta,
2486        BlockKind::YellowTerracotta,
2487        BlockKind::LimeTerracotta,
2488        BlockKind::PinkTerracotta,
2489        BlockKind::GrayTerracotta,
2490        BlockKind::LightGrayTerracotta,
2491        BlockKind::CyanTerracotta,
2492        BlockKind::PurpleTerracotta,
2493        BlockKind::BlueTerracotta,
2494        BlockKind::BrownTerracotta,
2495        BlockKind::GreenTerracotta,
2496        BlockKind::RedTerracotta,
2497        BlockKind::BlackTerracotta,
2498        BlockKind::IronTrapdoor,
2499        BlockKind::Prismarine,
2500        BlockKind::PrismarineBricks,
2501        BlockKind::DarkPrismarine,
2502        BlockKind::PrismarineStairs,
2503        BlockKind::PrismarineBrickStairs,
2504        BlockKind::DarkPrismarineStairs,
2505        BlockKind::PrismarineSlab,
2506        BlockKind::PrismarineBrickSlab,
2507        BlockKind::DarkPrismarineSlab,
2508        BlockKind::Terracotta,
2509        BlockKind::CoalBlock,
2510        BlockKind::PackedIce,
2511        BlockKind::RedSandstone,
2512        BlockKind::ChiseledRedSandstone,
2513        BlockKind::CutRedSandstone,
2514        BlockKind::RedSandstoneStairs,
2515        BlockKind::StoneSlab,
2516        BlockKind::SmoothStoneSlab,
2517        BlockKind::SandstoneSlab,
2518        BlockKind::CutSandstoneSlab,
2519        BlockKind::PetrifiedOakSlab,
2520        BlockKind::CobblestoneSlab,
2521        BlockKind::BrickSlab,
2522        BlockKind::StoneBrickSlab,
2523        BlockKind::MudBrickSlab,
2524        BlockKind::NetherBrickSlab,
2525        BlockKind::QuartzSlab,
2526        BlockKind::RedSandstoneSlab,
2527        BlockKind::CutRedSandstoneSlab,
2528        BlockKind::PurpurSlab,
2529        BlockKind::SmoothStone,
2530        BlockKind::SmoothSandstone,
2531        BlockKind::SmoothQuartz,
2532        BlockKind::SmoothRedSandstone,
2533        BlockKind::PurpurBlock,
2534        BlockKind::PurpurPillar,
2535        BlockKind::PurpurStairs,
2536        BlockKind::EndStoneBricks,
2537        BlockKind::MagmaBlock,
2538        BlockKind::RedNetherBricks,
2539        BlockKind::BoneBlock,
2540        BlockKind::Observer,
2541        BlockKind::ShulkerBox,
2542        BlockKind::WhiteShulkerBox,
2543        BlockKind::OrangeShulkerBox,
2544        BlockKind::MagentaShulkerBox,
2545        BlockKind::LightBlueShulkerBox,
2546        BlockKind::YellowShulkerBox,
2547        BlockKind::LimeShulkerBox,
2548        BlockKind::PinkShulkerBox,
2549        BlockKind::GrayShulkerBox,
2550        BlockKind::LightGrayShulkerBox,
2551        BlockKind::CyanShulkerBox,
2552        BlockKind::PurpleShulkerBox,
2553        BlockKind::BlueShulkerBox,
2554        BlockKind::BrownShulkerBox,
2555        BlockKind::GreenShulkerBox,
2556        BlockKind::RedShulkerBox,
2557        BlockKind::BlackShulkerBox,
2558        BlockKind::WhiteGlazedTerracotta,
2559        BlockKind::OrangeGlazedTerracotta,
2560        BlockKind::MagentaGlazedTerracotta,
2561        BlockKind::LightBlueGlazedTerracotta,
2562        BlockKind::YellowGlazedTerracotta,
2563        BlockKind::LimeGlazedTerracotta,
2564        BlockKind::PinkGlazedTerracotta,
2565        BlockKind::GrayGlazedTerracotta,
2566        BlockKind::LightGrayGlazedTerracotta,
2567        BlockKind::CyanGlazedTerracotta,
2568        BlockKind::PurpleGlazedTerracotta,
2569        BlockKind::BlueGlazedTerracotta,
2570        BlockKind::BrownGlazedTerracotta,
2571        BlockKind::GreenGlazedTerracotta,
2572        BlockKind::RedGlazedTerracotta,
2573        BlockKind::BlackGlazedTerracotta,
2574        BlockKind::WhiteConcrete,
2575        BlockKind::OrangeConcrete,
2576        BlockKind::MagentaConcrete,
2577        BlockKind::LightBlueConcrete,
2578        BlockKind::YellowConcrete,
2579        BlockKind::LimeConcrete,
2580        BlockKind::PinkConcrete,
2581        BlockKind::GrayConcrete,
2582        BlockKind::LightGrayConcrete,
2583        BlockKind::CyanConcrete,
2584        BlockKind::PurpleConcrete,
2585        BlockKind::BlueConcrete,
2586        BlockKind::BrownConcrete,
2587        BlockKind::GreenConcrete,
2588        BlockKind::RedConcrete,
2589        BlockKind::BlackConcrete,
2590        BlockKind::DeadTubeCoralBlock,
2591        BlockKind::DeadBrainCoralBlock,
2592        BlockKind::DeadBubbleCoralBlock,
2593        BlockKind::DeadFireCoralBlock,
2594        BlockKind::DeadHornCoralBlock,
2595        BlockKind::TubeCoralBlock,
2596        BlockKind::BrainCoralBlock,
2597        BlockKind::BubbleCoralBlock,
2598        BlockKind::FireCoralBlock,
2599        BlockKind::HornCoralBlock,
2600        BlockKind::DeadTubeCoral,
2601        BlockKind::DeadBrainCoral,
2602        BlockKind::DeadBubbleCoral,
2603        BlockKind::DeadFireCoral,
2604        BlockKind::DeadHornCoral,
2605        BlockKind::DeadTubeCoralFan,
2606        BlockKind::DeadBrainCoralFan,
2607        BlockKind::DeadBubbleCoralFan,
2608        BlockKind::DeadFireCoralFan,
2609        BlockKind::DeadHornCoralFan,
2610        BlockKind::DeadTubeCoralWallFan,
2611        BlockKind::DeadBrainCoralWallFan,
2612        BlockKind::DeadBubbleCoralWallFan,
2613        BlockKind::DeadFireCoralWallFan,
2614        BlockKind::DeadHornCoralWallFan,
2615        BlockKind::BlueIce,
2616        BlockKind::Conduit,
2617        BlockKind::PolishedGraniteStairs,
2618        BlockKind::SmoothRedSandstoneStairs,
2619        BlockKind::MossyStoneBrickStairs,
2620        BlockKind::PolishedDioriteStairs,
2621        BlockKind::MossyCobblestoneStairs,
2622        BlockKind::EndStoneBrickStairs,
2623        BlockKind::StoneStairs,
2624        BlockKind::SmoothSandstoneStairs,
2625        BlockKind::SmoothQuartzStairs,
2626        BlockKind::GraniteStairs,
2627        BlockKind::AndesiteStairs,
2628        BlockKind::RedNetherBrickStairs,
2629        BlockKind::PolishedAndesiteStairs,
2630        BlockKind::DioriteStairs,
2631        BlockKind::PolishedGraniteSlab,
2632        BlockKind::SmoothRedSandstoneSlab,
2633        BlockKind::MossyStoneBrickSlab,
2634        BlockKind::PolishedDioriteSlab,
2635        BlockKind::MossyCobblestoneSlab,
2636        BlockKind::EndStoneBrickSlab,
2637        BlockKind::SmoothSandstoneSlab,
2638        BlockKind::SmoothQuartzSlab,
2639        BlockKind::GraniteSlab,
2640        BlockKind::AndesiteSlab,
2641        BlockKind::RedNetherBrickSlab,
2642        BlockKind::PolishedAndesiteSlab,
2643        BlockKind::DioriteSlab,
2644        BlockKind::BrickWall,
2645        BlockKind::PrismarineWall,
2646        BlockKind::RedSandstoneWall,
2647        BlockKind::MossyStoneBrickWall,
2648        BlockKind::GraniteWall,
2649        BlockKind::StoneBrickWall,
2650        BlockKind::MudBrickWall,
2651        BlockKind::NetherBrickWall,
2652        BlockKind::AndesiteWall,
2653        BlockKind::RedNetherBrickWall,
2654        BlockKind::SandstoneWall,
2655        BlockKind::EndStoneBrickWall,
2656        BlockKind::DioriteWall,
2657        BlockKind::Smoker,
2658        BlockKind::BlastFurnace,
2659        BlockKind::Grindstone,
2660        BlockKind::Stonecutter,
2661        BlockKind::Bell,
2662        BlockKind::Lantern,
2663        BlockKind::SoulLantern,
2664        BlockKind::CopperLantern,
2665        BlockKind::ExposedCopperLantern,
2666        BlockKind::WeatheredCopperLantern,
2667        BlockKind::OxidizedCopperLantern,
2668        BlockKind::WaxedCopperLantern,
2669        BlockKind::WaxedExposedCopperLantern,
2670        BlockKind::WaxedWeatheredCopperLantern,
2671        BlockKind::WaxedOxidizedCopperLantern,
2672        BlockKind::WarpedNylium,
2673        BlockKind::CrimsonNylium,
2674        BlockKind::NetheriteBlock,
2675        BlockKind::AncientDebris,
2676        BlockKind::CryingObsidian,
2677        BlockKind::RespawnAnchor,
2678        BlockKind::Lodestone,
2679        BlockKind::Blackstone,
2680        BlockKind::BlackstoneStairs,
2681        BlockKind::BlackstoneWall,
2682        BlockKind::BlackstoneSlab,
2683        BlockKind::PolishedBlackstone,
2684        BlockKind::PolishedBlackstoneBricks,
2685        BlockKind::CrackedPolishedBlackstoneBricks,
2686        BlockKind::ChiseledPolishedBlackstone,
2687        BlockKind::PolishedBlackstoneBrickSlab,
2688        BlockKind::PolishedBlackstoneBrickStairs,
2689        BlockKind::PolishedBlackstoneBrickWall,
2690        BlockKind::GildedBlackstone,
2691        BlockKind::PolishedBlackstoneStairs,
2692        BlockKind::PolishedBlackstoneSlab,
2693        BlockKind::PolishedBlackstonePressurePlate,
2694        BlockKind::PolishedBlackstoneButton,
2695        BlockKind::PolishedBlackstoneWall,
2696        BlockKind::ChiseledNetherBricks,
2697        BlockKind::CrackedNetherBricks,
2698        BlockKind::QuartzBricks,
2699        BlockKind::AmethystBlock,
2700        BlockKind::BuddingAmethyst,
2701        BlockKind::AmethystCluster,
2702        BlockKind::LargeAmethystBud,
2703        BlockKind::MediumAmethystBud,
2704        BlockKind::SmallAmethystBud,
2705        BlockKind::Tuff,
2706        BlockKind::TuffSlab,
2707        BlockKind::TuffStairs,
2708        BlockKind::TuffWall,
2709        BlockKind::TuffWall,
2710        BlockKind::PolishedTuff,
2711        BlockKind::PolishedTuffSlab,
2712        BlockKind::PolishedTuffStairs,
2713        BlockKind::PolishedTuffWall,
2714        BlockKind::PolishedTuffWall,
2715        BlockKind::ChiseledTuff,
2716        BlockKind::TuffBricks,
2717        BlockKind::TuffBrickSlab,
2718        BlockKind::TuffBrickStairs,
2719        BlockKind::TuffBrickWall,
2720        BlockKind::TuffBrickWall,
2721        BlockKind::ChiseledTuffBricks,
2722        BlockKind::Sulfur,
2723        BlockKind::PotentSulfur,
2724        BlockKind::SulfurSlab,
2725        BlockKind::SulfurStairs,
2726        BlockKind::SulfurWall,
2727        BlockKind::SulfurWall,
2728        BlockKind::PolishedSulfur,
2729        BlockKind::PolishedSulfurSlab,
2730        BlockKind::PolishedSulfurStairs,
2731        BlockKind::PolishedSulfurWall,
2732        BlockKind::PolishedSulfurWall,
2733        BlockKind::SulfurBricks,
2734        BlockKind::SulfurBrickSlab,
2735        BlockKind::SulfurBrickStairs,
2736        BlockKind::SulfurBrickWall,
2737        BlockKind::SulfurBrickWall,
2738        BlockKind::ChiseledSulfur,
2739        BlockKind::Cinnabar,
2740        BlockKind::CinnabarSlab,
2741        BlockKind::CinnabarStairs,
2742        BlockKind::CinnabarWall,
2743        BlockKind::CinnabarWall,
2744        BlockKind::PolishedCinnabar,
2745        BlockKind::PolishedCinnabarSlab,
2746        BlockKind::PolishedCinnabarStairs,
2747        BlockKind::PolishedCinnabarWall,
2748        BlockKind::PolishedCinnabarWall,
2749        BlockKind::CinnabarBricks,
2750        BlockKind::CinnabarBrickSlab,
2751        BlockKind::CinnabarBrickStairs,
2752        BlockKind::CinnabarBrickWall,
2753        BlockKind::CinnabarBrickWall,
2754        BlockKind::ChiseledCinnabar,
2755        BlockKind::Calcite,
2756        BlockKind::CopperBlock,
2757        BlockKind::ExposedCopper,
2758        BlockKind::WeatheredCopper,
2759        BlockKind::OxidizedCopper,
2760        BlockKind::WaxedCopperBlock,
2761        BlockKind::WaxedExposedCopper,
2762        BlockKind::WaxedWeatheredCopper,
2763        BlockKind::WaxedOxidizedCopper,
2764        BlockKind::CopperOre,
2765        BlockKind::DeepslateCopperOre,
2766        BlockKind::CutCopper,
2767        BlockKind::ExposedCutCopper,
2768        BlockKind::WeatheredCutCopper,
2769        BlockKind::OxidizedCutCopper,
2770        BlockKind::WaxedCutCopper,
2771        BlockKind::WaxedExposedCutCopper,
2772        BlockKind::WaxedWeatheredCutCopper,
2773        BlockKind::WaxedOxidizedCutCopper,
2774        BlockKind::ChiseledCopper,
2775        BlockKind::ExposedChiseledCopper,
2776        BlockKind::WeatheredChiseledCopper,
2777        BlockKind::OxidizedChiseledCopper,
2778        BlockKind::WaxedChiseledCopper,
2779        BlockKind::WaxedExposedChiseledCopper,
2780        BlockKind::WaxedWeatheredChiseledCopper,
2781        BlockKind::WaxedOxidizedChiseledCopper,
2782        BlockKind::CutCopperStairs,
2783        BlockKind::ExposedCutCopperStairs,
2784        BlockKind::WeatheredCutCopperStairs,
2785        BlockKind::OxidizedCutCopperStairs,
2786        BlockKind::WaxedCutCopperStairs,
2787        BlockKind::WaxedExposedCutCopperStairs,
2788        BlockKind::WaxedWeatheredCutCopperStairs,
2789        BlockKind::WaxedOxidizedCutCopperStairs,
2790        BlockKind::CutCopperSlab,
2791        BlockKind::ExposedCutCopperSlab,
2792        BlockKind::WeatheredCutCopperSlab,
2793        BlockKind::OxidizedCutCopperSlab,
2794        BlockKind::WaxedCutCopperSlab,
2795        BlockKind::WaxedExposedCutCopperSlab,
2796        BlockKind::WaxedWeatheredCutCopperSlab,
2797        BlockKind::WaxedOxidizedCutCopperSlab,
2798        BlockKind::CopperDoor,
2799        BlockKind::ExposedCopperDoor,
2800        BlockKind::WeatheredCopperDoor,
2801        BlockKind::OxidizedCopperDoor,
2802        BlockKind::WaxedCopperDoor,
2803        BlockKind::WaxedExposedCopperDoor,
2804        BlockKind::WaxedWeatheredCopperDoor,
2805        BlockKind::WaxedOxidizedCopperDoor,
2806        BlockKind::CopperTrapdoor,
2807        BlockKind::ExposedCopperTrapdoor,
2808        BlockKind::WeatheredCopperTrapdoor,
2809        BlockKind::OxidizedCopperTrapdoor,
2810        BlockKind::WaxedCopperTrapdoor,
2811        BlockKind::WaxedExposedCopperTrapdoor,
2812        BlockKind::WaxedWeatheredCopperTrapdoor,
2813        BlockKind::WaxedOxidizedCopperTrapdoor,
2814        BlockKind::CopperGrate,
2815        BlockKind::ExposedCopperGrate,
2816        BlockKind::WeatheredCopperGrate,
2817        BlockKind::OxidizedCopperGrate,
2818        BlockKind::WaxedCopperGrate,
2819        BlockKind::WaxedExposedCopperGrate,
2820        BlockKind::WaxedWeatheredCopperGrate,
2821        BlockKind::WaxedOxidizedCopperGrate,
2822        BlockKind::CopperBulb,
2823        BlockKind::ExposedCopperBulb,
2824        BlockKind::WeatheredCopperBulb,
2825        BlockKind::OxidizedCopperBulb,
2826        BlockKind::WaxedCopperBulb,
2827        BlockKind::WaxedExposedCopperBulb,
2828        BlockKind::WaxedWeatheredCopperBulb,
2829        BlockKind::WaxedOxidizedCopperBulb,
2830        BlockKind::CopperChest,
2831        BlockKind::ExposedCopperChest,
2832        BlockKind::WeatheredCopperChest,
2833        BlockKind::OxidizedCopperChest,
2834        BlockKind::WaxedCopperChest,
2835        BlockKind::WaxedExposedCopperChest,
2836        BlockKind::WaxedWeatheredCopperChest,
2837        BlockKind::WaxedOxidizedCopperChest,
2838        BlockKind::CopperGolemStatue,
2839        BlockKind::ExposedCopperGolemStatue,
2840        BlockKind::WeatheredCopperGolemStatue,
2841        BlockKind::OxidizedCopperGolemStatue,
2842        BlockKind::WaxedCopperGolemStatue,
2843        BlockKind::WaxedExposedCopperGolemStatue,
2844        BlockKind::WaxedWeatheredCopperGolemStatue,
2845        BlockKind::WaxedOxidizedCopperGolemStatue,
2846        BlockKind::LightningRod,
2847        BlockKind::ExposedLightningRod,
2848        BlockKind::WeatheredLightningRod,
2849        BlockKind::OxidizedLightningRod,
2850        BlockKind::WaxedLightningRod,
2851        BlockKind::WaxedExposedLightningRod,
2852        BlockKind::WaxedWeatheredLightningRod,
2853        BlockKind::WaxedOxidizedLightningRod,
2854        BlockKind::DripstoneBlock,
2855        BlockKind::PointedDripstone,
2856        BlockKind::SulfurSpike,
2857        BlockKind::Deepslate,
2858        BlockKind::CobbledDeepslate,
2859        BlockKind::CobbledDeepslateStairs,
2860        BlockKind::CobbledDeepslateSlab,
2861        BlockKind::CobbledDeepslateWall,
2862        BlockKind::PolishedDeepslate,
2863        BlockKind::PolishedDeepslateStairs,
2864        BlockKind::PolishedDeepslateSlab,
2865        BlockKind::PolishedDeepslateWall,
2866        BlockKind::DeepslateTiles,
2867        BlockKind::DeepslateTileStairs,
2868        BlockKind::DeepslateTileSlab,
2869        BlockKind::DeepslateTileWall,
2870        BlockKind::DeepslateBricks,
2871        BlockKind::DeepslateBrickStairs,
2872        BlockKind::DeepslateBrickSlab,
2873        BlockKind::DeepslateBrickWall,
2874        BlockKind::ChiseledDeepslate,
2875        BlockKind::CrackedDeepslateBricks,
2876        BlockKind::CrackedDeepslateTiles,
2877        BlockKind::InfestedDeepslate,
2878        BlockKind::SmoothBasalt,
2879        BlockKind::RawIronBlock,
2880        BlockKind::RawCopperBlock,
2881        BlockKind::RawGoldBlock,
2882        BlockKind::Crafter,
2883        BlockKind::HeavyCore,
2884    ])
2885});
2886pub static MINEABLE_SHOVEL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2887    RegistryTag::new(vec![
2888        BlockKind::GrassBlock,
2889        BlockKind::Dirt,
2890        BlockKind::CoarseDirt,
2891        BlockKind::Podzol,
2892        BlockKind::Sand,
2893        BlockKind::SuspiciousSand,
2894        BlockKind::RedSand,
2895        BlockKind::Gravel,
2896        BlockKind::SuspiciousGravel,
2897        BlockKind::MuddyMangroveRoots,
2898        BlockKind::Farmland,
2899        BlockKind::Snow,
2900        BlockKind::SnowBlock,
2901        BlockKind::Clay,
2902        BlockKind::SoulSand,
2903        BlockKind::SoulSoil,
2904        BlockKind::Mycelium,
2905        BlockKind::DirtPath,
2906        BlockKind::WhiteConcretePowder,
2907        BlockKind::OrangeConcretePowder,
2908        BlockKind::MagentaConcretePowder,
2909        BlockKind::LightBlueConcretePowder,
2910        BlockKind::YellowConcretePowder,
2911        BlockKind::LimeConcretePowder,
2912        BlockKind::PinkConcretePowder,
2913        BlockKind::GrayConcretePowder,
2914        BlockKind::LightGrayConcretePowder,
2915        BlockKind::CyanConcretePowder,
2916        BlockKind::PurpleConcretePowder,
2917        BlockKind::BlueConcretePowder,
2918        BlockKind::BrownConcretePowder,
2919        BlockKind::GreenConcretePowder,
2920        BlockKind::RedConcretePowder,
2921        BlockKind::BlackConcretePowder,
2922        BlockKind::RootedDirt,
2923        BlockKind::Mud,
2924    ])
2925});
2926pub static MOB_INTERACTABLE_DOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2927    RegistryTag::new(vec![
2928        BlockKind::OakDoor,
2929        BlockKind::SpruceDoor,
2930        BlockKind::BirchDoor,
2931        BlockKind::JungleDoor,
2932        BlockKind::AcaciaDoor,
2933        BlockKind::CherryDoor,
2934        BlockKind::DarkOakDoor,
2935        BlockKind::PaleOakDoor,
2936        BlockKind::MangroveDoor,
2937        BlockKind::BambooDoor,
2938        BlockKind::CrimsonDoor,
2939        BlockKind::WarpedDoor,
2940        BlockKind::CopperDoor,
2941        BlockKind::ExposedCopperDoor,
2942        BlockKind::WeatheredCopperDoor,
2943        BlockKind::OxidizedCopperDoor,
2944        BlockKind::WaxedCopperDoor,
2945        BlockKind::WaxedExposedCopperDoor,
2946        BlockKind::WaxedWeatheredCopperDoor,
2947        BlockKind::WaxedOxidizedCopperDoor,
2948    ])
2949});
2950pub static MOOSHROOMS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> =
2951    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Mycelium]));
2952pub static MOSS_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
2953    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MossBlock, BlockKind::PaleMossBlock]));
2954pub static MOSS_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2955    RegistryTag::new(vec![
2956        BlockKind::Stone,
2957        BlockKind::Granite,
2958        BlockKind::Diorite,
2959        BlockKind::Andesite,
2960        BlockKind::GrassBlock,
2961        BlockKind::Dirt,
2962        BlockKind::CoarseDirt,
2963        BlockKind::Podzol,
2964        BlockKind::MuddyMangroveRoots,
2965        BlockKind::Mycelium,
2966        BlockKind::Tuff,
2967        BlockKind::CaveVines,
2968        BlockKind::CaveVinesPlant,
2969        BlockKind::MossBlock,
2970        BlockKind::RootedDirt,
2971        BlockKind::Mud,
2972        BlockKind::Deepslate,
2973        BlockKind::PaleMossBlock,
2974    ])
2975});
2976pub static MUD: LazyLock<RegistryTag<BlockKind>> =
2977    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MuddyMangroveRoots, BlockKind::Mud]));
2978pub static NEEDS_DIAMOND_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2979    RegistryTag::new(vec![
2980        BlockKind::Obsidian,
2981        BlockKind::NetheriteBlock,
2982        BlockKind::AncientDebris,
2983        BlockKind::CryingObsidian,
2984        BlockKind::RespawnAnchor,
2985    ])
2986});
2987pub static NEEDS_IRON_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
2988    RegistryTag::new(vec![
2989        BlockKind::GoldOre,
2990        BlockKind::DeepslateGoldOre,
2991        BlockKind::GoldBlock,
2992        BlockKind::DiamondOre,
2993        BlockKind::DeepslateDiamondOre,
2994        BlockKind::DiamondBlock,
2995        BlockKind::RedstoneOre,
2996        BlockKind::DeepslateRedstoneOre,
2997        BlockKind::EmeraldOre,
2998        BlockKind::DeepslateEmeraldOre,
2999        BlockKind::EmeraldBlock,
3000        BlockKind::RawGoldBlock,
3001    ])
3002});
3003pub static NEEDS_STONE_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3004    RegistryTag::new(vec![
3005        BlockKind::IronOre,
3006        BlockKind::DeepslateIronOre,
3007        BlockKind::LapisOre,
3008        BlockKind::DeepslateLapisOre,
3009        BlockKind::LapisBlock,
3010        BlockKind::IronBlock,
3011        BlockKind::CopperBlock,
3012        BlockKind::ExposedCopper,
3013        BlockKind::WeatheredCopper,
3014        BlockKind::OxidizedCopper,
3015        BlockKind::WaxedCopperBlock,
3016        BlockKind::WaxedExposedCopper,
3017        BlockKind::WaxedWeatheredCopper,
3018        BlockKind::WaxedOxidizedCopper,
3019        BlockKind::CopperOre,
3020        BlockKind::DeepslateCopperOre,
3021        BlockKind::CutCopper,
3022        BlockKind::ExposedCutCopper,
3023        BlockKind::WeatheredCutCopper,
3024        BlockKind::OxidizedCutCopper,
3025        BlockKind::WaxedCutCopper,
3026        BlockKind::WaxedExposedCutCopper,
3027        BlockKind::WaxedWeatheredCutCopper,
3028        BlockKind::WaxedOxidizedCutCopper,
3029        BlockKind::ChiseledCopper,
3030        BlockKind::ExposedChiseledCopper,
3031        BlockKind::WeatheredChiseledCopper,
3032        BlockKind::OxidizedChiseledCopper,
3033        BlockKind::WaxedChiseledCopper,
3034        BlockKind::WaxedExposedChiseledCopper,
3035        BlockKind::WaxedWeatheredChiseledCopper,
3036        BlockKind::WaxedOxidizedChiseledCopper,
3037        BlockKind::CutCopperStairs,
3038        BlockKind::ExposedCutCopperStairs,
3039        BlockKind::WeatheredCutCopperStairs,
3040        BlockKind::OxidizedCutCopperStairs,
3041        BlockKind::WaxedCutCopperStairs,
3042        BlockKind::WaxedExposedCutCopperStairs,
3043        BlockKind::WaxedWeatheredCutCopperStairs,
3044        BlockKind::WaxedOxidizedCutCopperStairs,
3045        BlockKind::CutCopperSlab,
3046        BlockKind::ExposedCutCopperSlab,
3047        BlockKind::WeatheredCutCopperSlab,
3048        BlockKind::OxidizedCutCopperSlab,
3049        BlockKind::WaxedCutCopperSlab,
3050        BlockKind::WaxedExposedCutCopperSlab,
3051        BlockKind::WaxedWeatheredCutCopperSlab,
3052        BlockKind::WaxedOxidizedCutCopperSlab,
3053        BlockKind::CopperTrapdoor,
3054        BlockKind::ExposedCopperTrapdoor,
3055        BlockKind::WeatheredCopperTrapdoor,
3056        BlockKind::OxidizedCopperTrapdoor,
3057        BlockKind::WaxedCopperTrapdoor,
3058        BlockKind::WaxedExposedCopperTrapdoor,
3059        BlockKind::WaxedWeatheredCopperTrapdoor,
3060        BlockKind::WaxedOxidizedCopperTrapdoor,
3061        BlockKind::CopperGrate,
3062        BlockKind::ExposedCopperGrate,
3063        BlockKind::WeatheredCopperGrate,
3064        BlockKind::OxidizedCopperGrate,
3065        BlockKind::WaxedCopperGrate,
3066        BlockKind::WaxedExposedCopperGrate,
3067        BlockKind::WaxedWeatheredCopperGrate,
3068        BlockKind::WaxedOxidizedCopperGrate,
3069        BlockKind::CopperBulb,
3070        BlockKind::ExposedCopperBulb,
3071        BlockKind::WeatheredCopperBulb,
3072        BlockKind::OxidizedCopperBulb,
3073        BlockKind::WaxedCopperBulb,
3074        BlockKind::WaxedExposedCopperBulb,
3075        BlockKind::WaxedWeatheredCopperBulb,
3076        BlockKind::WaxedOxidizedCopperBulb,
3077        BlockKind::CopperChest,
3078        BlockKind::ExposedCopperChest,
3079        BlockKind::WeatheredCopperChest,
3080        BlockKind::OxidizedCopperChest,
3081        BlockKind::WaxedCopperChest,
3082        BlockKind::WaxedExposedCopperChest,
3083        BlockKind::WaxedWeatheredCopperChest,
3084        BlockKind::WaxedOxidizedCopperChest,
3085        BlockKind::LightningRod,
3086        BlockKind::ExposedLightningRod,
3087        BlockKind::WeatheredLightningRod,
3088        BlockKind::OxidizedLightningRod,
3089        BlockKind::WaxedLightningRod,
3090        BlockKind::WaxedExposedLightningRod,
3091        BlockKind::WaxedWeatheredLightningRod,
3092        BlockKind::WaxedOxidizedLightningRod,
3093        BlockKind::RawIronBlock,
3094        BlockKind::RawCopperBlock,
3095        BlockKind::Crafter,
3096    ])
3097});
3098pub static NETHER_CARVER_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3099    RegistryTag::new(vec![
3100        BlockKind::Stone,
3101        BlockKind::Granite,
3102        BlockKind::Diorite,
3103        BlockKind::Andesite,
3104        BlockKind::GrassBlock,
3105        BlockKind::Dirt,
3106        BlockKind::CoarseDirt,
3107        BlockKind::Podzol,
3108        BlockKind::MuddyMangroveRoots,
3109        BlockKind::Netherrack,
3110        BlockKind::SoulSand,
3111        BlockKind::SoulSoil,
3112        BlockKind::Basalt,
3113        BlockKind::Mycelium,
3114        BlockKind::NetherWartBlock,
3115        BlockKind::WarpedNylium,
3116        BlockKind::WarpedWartBlock,
3117        BlockKind::CrimsonNylium,
3118        BlockKind::Blackstone,
3119        BlockKind::Tuff,
3120        BlockKind::MossBlock,
3121        BlockKind::RootedDirt,
3122        BlockKind::Mud,
3123        BlockKind::Deepslate,
3124        BlockKind::PaleMossBlock,
3125    ])
3126});
3127pub static NYLIUM: LazyLock<RegistryTag<BlockKind>> =
3128    LazyLock::new(|| RegistryTag::new(vec![BlockKind::WarpedNylium, BlockKind::CrimsonNylium]));
3129pub static OAK_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3130    RegistryTag::new(vec![
3131        BlockKind::OakLog,
3132        BlockKind::StrippedOakLog,
3133        BlockKind::OakWood,
3134        BlockKind::StrippedOakWood,
3135    ])
3136});
3137pub static OCCLUDES_VIBRATION_SIGNALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3138    RegistryTag::new(vec![
3139        BlockKind::WhiteWool,
3140        BlockKind::OrangeWool,
3141        BlockKind::MagentaWool,
3142        BlockKind::LightBlueWool,
3143        BlockKind::YellowWool,
3144        BlockKind::LimeWool,
3145        BlockKind::PinkWool,
3146        BlockKind::GrayWool,
3147        BlockKind::LightGrayWool,
3148        BlockKind::CyanWool,
3149        BlockKind::PurpleWool,
3150        BlockKind::BlueWool,
3151        BlockKind::BrownWool,
3152        BlockKind::GreenWool,
3153        BlockKind::RedWool,
3154        BlockKind::BlackWool,
3155    ])
3156});
3157pub static OVERRIDES_MUSHROOM_LIGHT_REQUIREMENT: LazyLock<RegistryTag<BlockKind>> =
3158    LazyLock::new(|| {
3159        RegistryTag::new(vec![
3160            BlockKind::Podzol,
3161            BlockKind::Mycelium,
3162            BlockKind::WarpedNylium,
3163            BlockKind::CrimsonNylium,
3164        ])
3165    });
3166pub static OVERWORLD_CARVER_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3167    RegistryTag::new(vec![
3168        BlockKind::Stone,
3169        BlockKind::Granite,
3170        BlockKind::Diorite,
3171        BlockKind::Andesite,
3172        BlockKind::GrassBlock,
3173        BlockKind::Dirt,
3174        BlockKind::CoarseDirt,
3175        BlockKind::Podzol,
3176        BlockKind::Water,
3177        BlockKind::Sand,
3178        BlockKind::SuspiciousSand,
3179        BlockKind::RedSand,
3180        BlockKind::Gravel,
3181        BlockKind::SuspiciousGravel,
3182        BlockKind::IronOre,
3183        BlockKind::DeepslateIronOre,
3184        BlockKind::MuddyMangroveRoots,
3185        BlockKind::Sandstone,
3186        BlockKind::Snow,
3187        BlockKind::SnowBlock,
3188        BlockKind::Mycelium,
3189        BlockKind::WhiteTerracotta,
3190        BlockKind::OrangeTerracotta,
3191        BlockKind::MagentaTerracotta,
3192        BlockKind::LightBlueTerracotta,
3193        BlockKind::YellowTerracotta,
3194        BlockKind::LimeTerracotta,
3195        BlockKind::PinkTerracotta,
3196        BlockKind::GrayTerracotta,
3197        BlockKind::LightGrayTerracotta,
3198        BlockKind::CyanTerracotta,
3199        BlockKind::PurpleTerracotta,
3200        BlockKind::BlueTerracotta,
3201        BlockKind::BrownTerracotta,
3202        BlockKind::GreenTerracotta,
3203        BlockKind::RedTerracotta,
3204        BlockKind::BlackTerracotta,
3205        BlockKind::Terracotta,
3206        BlockKind::PackedIce,
3207        BlockKind::RedSandstone,
3208        BlockKind::Tuff,
3209        BlockKind::Sulfur,
3210        BlockKind::PotentSulfur,
3211        BlockKind::Cinnabar,
3212        BlockKind::Calcite,
3213        BlockKind::PowderSnow,
3214        BlockKind::CopperOre,
3215        BlockKind::DeepslateCopperOre,
3216        BlockKind::MossBlock,
3217        BlockKind::RootedDirt,
3218        BlockKind::Mud,
3219        BlockKind::Deepslate,
3220        BlockKind::RawIronBlock,
3221        BlockKind::RawCopperBlock,
3222        BlockKind::PaleMossBlock,
3223    ])
3224});
3225pub static OVERWORLD_NATURAL_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3226    RegistryTag::new(vec![
3227        BlockKind::OakLog,
3228        BlockKind::SpruceLog,
3229        BlockKind::BirchLog,
3230        BlockKind::JungleLog,
3231        BlockKind::AcaciaLog,
3232        BlockKind::CherryLog,
3233        BlockKind::DarkOakLog,
3234        BlockKind::PaleOakLog,
3235        BlockKind::MangroveLog,
3236    ])
3237});
3238pub static PALE_OAK_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3239    RegistryTag::new(vec![
3240        BlockKind::PaleOakWood,
3241        BlockKind::PaleOakLog,
3242        BlockKind::StrippedPaleOakLog,
3243        BlockKind::StrippedPaleOakWood,
3244    ])
3245});
3246pub static PARROTS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3247    RegistryTag::new(vec![
3248        BlockKind::Air,
3249        BlockKind::GrassBlock,
3250        BlockKind::PaleOakWood,
3251        BlockKind::OakLog,
3252        BlockKind::SpruceLog,
3253        BlockKind::BirchLog,
3254        BlockKind::JungleLog,
3255        BlockKind::AcaciaLog,
3256        BlockKind::CherryLog,
3257        BlockKind::DarkOakLog,
3258        BlockKind::PaleOakLog,
3259        BlockKind::MangroveLog,
3260        BlockKind::StrippedSpruceLog,
3261        BlockKind::StrippedBirchLog,
3262        BlockKind::StrippedJungleLog,
3263        BlockKind::StrippedAcaciaLog,
3264        BlockKind::StrippedCherryLog,
3265        BlockKind::StrippedDarkOakLog,
3266        BlockKind::StrippedPaleOakLog,
3267        BlockKind::StrippedOakLog,
3268        BlockKind::StrippedMangroveLog,
3269        BlockKind::OakWood,
3270        BlockKind::SpruceWood,
3271        BlockKind::BirchWood,
3272        BlockKind::JungleWood,
3273        BlockKind::AcaciaWood,
3274        BlockKind::CherryWood,
3275        BlockKind::DarkOakWood,
3276        BlockKind::MangroveWood,
3277        BlockKind::StrippedOakWood,
3278        BlockKind::StrippedSpruceWood,
3279        BlockKind::StrippedBirchWood,
3280        BlockKind::StrippedJungleWood,
3281        BlockKind::StrippedAcaciaWood,
3282        BlockKind::StrippedCherryWood,
3283        BlockKind::StrippedDarkOakWood,
3284        BlockKind::StrippedPaleOakWood,
3285        BlockKind::StrippedMangroveWood,
3286        BlockKind::OakLeaves,
3287        BlockKind::SpruceLeaves,
3288        BlockKind::BirchLeaves,
3289        BlockKind::JungleLeaves,
3290        BlockKind::AcaciaLeaves,
3291        BlockKind::CherryLeaves,
3292        BlockKind::DarkOakLeaves,
3293        BlockKind::PaleOakLeaves,
3294        BlockKind::MangroveLeaves,
3295        BlockKind::AzaleaLeaves,
3296        BlockKind::FloweringAzaleaLeaves,
3297        BlockKind::WarpedStem,
3298        BlockKind::StrippedWarpedStem,
3299        BlockKind::WarpedHyphae,
3300        BlockKind::StrippedWarpedHyphae,
3301        BlockKind::CrimsonStem,
3302        BlockKind::StrippedCrimsonStem,
3303        BlockKind::CrimsonHyphae,
3304        BlockKind::StrippedCrimsonHyphae,
3305    ])
3306});
3307pub static PIGLIN_REPELLENTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3308    RegistryTag::new(vec![
3309        BlockKind::SoulFire,
3310        BlockKind::SoulTorch,
3311        BlockKind::SoulWallTorch,
3312        BlockKind::SoulLantern,
3313        BlockKind::SoulCampfire,
3314    ])
3315});
3316pub static PLANKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3317    RegistryTag::new(vec![
3318        BlockKind::OakPlanks,
3319        BlockKind::SprucePlanks,
3320        BlockKind::BirchPlanks,
3321        BlockKind::JunglePlanks,
3322        BlockKind::AcaciaPlanks,
3323        BlockKind::CherryPlanks,
3324        BlockKind::DarkOakPlanks,
3325        BlockKind::PaleOakPlanks,
3326        BlockKind::MangrovePlanks,
3327        BlockKind::BambooPlanks,
3328        BlockKind::CrimsonPlanks,
3329        BlockKind::WarpedPlanks,
3330    ])
3331});
3332pub static POLAR_BEAR_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
3333    LazyLock::new(|| RegistryTag::new(vec![BlockKind::PowderSnow]));
3334pub static POLAR_BEARS_SPAWNABLE_ON_ALTERNATE: LazyLock<RegistryTag<BlockKind>> =
3335    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Ice]));
3336pub static PORTALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3337    RegistryTag::new(vec![
3338        BlockKind::NetherPortal,
3339        BlockKind::EndPortal,
3340        BlockKind::EndGateway,
3341    ])
3342});
3343pub static PRESSURE_PLATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3344    RegistryTag::new(vec![
3345        BlockKind::StonePressurePlate,
3346        BlockKind::OakPressurePlate,
3347        BlockKind::SprucePressurePlate,
3348        BlockKind::BirchPressurePlate,
3349        BlockKind::JunglePressurePlate,
3350        BlockKind::AcaciaPressurePlate,
3351        BlockKind::CherryPressurePlate,
3352        BlockKind::DarkOakPressurePlate,
3353        BlockKind::PaleOakPressurePlate,
3354        BlockKind::MangrovePressurePlate,
3355        BlockKind::BambooPressurePlate,
3356        BlockKind::LightWeightedPressurePlate,
3357        BlockKind::HeavyWeightedPressurePlate,
3358        BlockKind::CrimsonPressurePlate,
3359        BlockKind::WarpedPressurePlate,
3360        BlockKind::PolishedBlackstonePressurePlate,
3361    ])
3362});
3363pub static PREVENT_MOB_SPAWNING_INSIDE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3364    RegistryTag::new(vec![
3365        BlockKind::PoweredRail,
3366        BlockKind::DetectorRail,
3367        BlockKind::Rail,
3368        BlockKind::ActivatorRail,
3369    ])
3370});
3371pub static PREVENTS_NEARBY_LEAF_DECAY: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3372    RegistryTag::new(vec![
3373        BlockKind::PaleOakWood,
3374        BlockKind::OakLog,
3375        BlockKind::SpruceLog,
3376        BlockKind::BirchLog,
3377        BlockKind::JungleLog,
3378        BlockKind::AcaciaLog,
3379        BlockKind::CherryLog,
3380        BlockKind::DarkOakLog,
3381        BlockKind::PaleOakLog,
3382        BlockKind::MangroveLog,
3383        BlockKind::StrippedSpruceLog,
3384        BlockKind::StrippedBirchLog,
3385        BlockKind::StrippedJungleLog,
3386        BlockKind::StrippedAcaciaLog,
3387        BlockKind::StrippedCherryLog,
3388        BlockKind::StrippedDarkOakLog,
3389        BlockKind::StrippedPaleOakLog,
3390        BlockKind::StrippedOakLog,
3391        BlockKind::StrippedMangroveLog,
3392        BlockKind::OakWood,
3393        BlockKind::SpruceWood,
3394        BlockKind::BirchWood,
3395        BlockKind::JungleWood,
3396        BlockKind::AcaciaWood,
3397        BlockKind::CherryWood,
3398        BlockKind::DarkOakWood,
3399        BlockKind::MangroveWood,
3400        BlockKind::StrippedOakWood,
3401        BlockKind::StrippedSpruceWood,
3402        BlockKind::StrippedBirchWood,
3403        BlockKind::StrippedJungleWood,
3404        BlockKind::StrippedAcaciaWood,
3405        BlockKind::StrippedCherryWood,
3406        BlockKind::StrippedDarkOakWood,
3407        BlockKind::StrippedPaleOakWood,
3408        BlockKind::StrippedMangroveWood,
3409        BlockKind::WarpedStem,
3410        BlockKind::StrippedWarpedStem,
3411        BlockKind::WarpedHyphae,
3412        BlockKind::StrippedWarpedHyphae,
3413        BlockKind::CrimsonStem,
3414        BlockKind::StrippedCrimsonStem,
3415        BlockKind::CrimsonHyphae,
3416        BlockKind::StrippedCrimsonHyphae,
3417    ])
3418});
3419pub static RABBITS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3420    RegistryTag::new(vec![
3421        BlockKind::GrassBlock,
3422        BlockKind::Sand,
3423        BlockKind::Snow,
3424        BlockKind::SnowBlock,
3425    ])
3426});
3427pub static RAILS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3428    RegistryTag::new(vec![
3429        BlockKind::PoweredRail,
3430        BlockKind::DetectorRail,
3431        BlockKind::Rail,
3432        BlockKind::ActivatorRail,
3433    ])
3434});
3435pub static REDSTONE_ORES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3436    RegistryTag::new(vec![
3437        BlockKind::RedstoneOre,
3438        BlockKind::DeepslateRedstoneOre,
3439    ])
3440});
3441pub static REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3442    RegistryTag::new(vec![
3443        BlockKind::Air,
3444        BlockKind::Water,
3445        BlockKind::Lava,
3446        BlockKind::ShortGrass,
3447        BlockKind::Fern,
3448        BlockKind::DeadBush,
3449        BlockKind::Bush,
3450        BlockKind::ShortDryGrass,
3451        BlockKind::TallDryGrass,
3452        BlockKind::Seagrass,
3453        BlockKind::TallSeagrass,
3454        BlockKind::Fire,
3455        BlockKind::SoulFire,
3456        BlockKind::Snow,
3457        BlockKind::Vine,
3458        BlockKind::GlowLichen,
3459        BlockKind::ResinClump,
3460        BlockKind::Light,
3461        BlockKind::TallGrass,
3462        BlockKind::LargeFern,
3463        BlockKind::StructureVoid,
3464        BlockKind::VoidAir,
3465        BlockKind::CaveAir,
3466        BlockKind::BubbleColumn,
3467        BlockKind::WarpedRoots,
3468        BlockKind::NetherSprouts,
3469        BlockKind::CrimsonRoots,
3470        BlockKind::LeafLitter,
3471        BlockKind::HangingRoots,
3472    ])
3473});
3474pub static REPLACEABLE_BY_MUSHROOMS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3475    RegistryTag::new(vec![
3476        BlockKind::Water,
3477        BlockKind::OakLeaves,
3478        BlockKind::SpruceLeaves,
3479        BlockKind::BirchLeaves,
3480        BlockKind::JungleLeaves,
3481        BlockKind::AcaciaLeaves,
3482        BlockKind::CherryLeaves,
3483        BlockKind::DarkOakLeaves,
3484        BlockKind::PaleOakLeaves,
3485        BlockKind::MangroveLeaves,
3486        BlockKind::AzaleaLeaves,
3487        BlockKind::FloweringAzaleaLeaves,
3488        BlockKind::ShortGrass,
3489        BlockKind::Fern,
3490        BlockKind::DeadBush,
3491        BlockKind::Bush,
3492        BlockKind::ShortDryGrass,
3493        BlockKind::TallDryGrass,
3494        BlockKind::Seagrass,
3495        BlockKind::TallSeagrass,
3496        BlockKind::Dandelion,
3497        BlockKind::GoldenDandelion,
3498        BlockKind::Torchflower,
3499        BlockKind::Poppy,
3500        BlockKind::BlueOrchid,
3501        BlockKind::Allium,
3502        BlockKind::AzureBluet,
3503        BlockKind::RedTulip,
3504        BlockKind::OrangeTulip,
3505        BlockKind::WhiteTulip,
3506        BlockKind::PinkTulip,
3507        BlockKind::OxeyeDaisy,
3508        BlockKind::Cornflower,
3509        BlockKind::WitherRose,
3510        BlockKind::LilyOfTheValley,
3511        BlockKind::BrownMushroom,
3512        BlockKind::RedMushroom,
3513        BlockKind::BrownMushroomBlock,
3514        BlockKind::RedMushroomBlock,
3515        BlockKind::Vine,
3516        BlockKind::GlowLichen,
3517        BlockKind::Sunflower,
3518        BlockKind::Lilac,
3519        BlockKind::RoseBush,
3520        BlockKind::Peony,
3521        BlockKind::TallGrass,
3522        BlockKind::LargeFern,
3523        BlockKind::PitcherPlant,
3524        BlockKind::WarpedRoots,
3525        BlockKind::NetherSprouts,
3526        BlockKind::CrimsonRoots,
3527        BlockKind::LeafLitter,
3528        BlockKind::HangingRoots,
3529        BlockKind::PaleMossCarpet,
3530        BlockKind::OpenEyeblossom,
3531        BlockKind::ClosedEyeblossom,
3532        BlockKind::FireflyBush,
3533    ])
3534});
3535pub static REPLACEABLE_BY_TREES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3536    RegistryTag::new(vec![
3537        BlockKind::Water,
3538        BlockKind::OakLeaves,
3539        BlockKind::SpruceLeaves,
3540        BlockKind::BirchLeaves,
3541        BlockKind::JungleLeaves,
3542        BlockKind::AcaciaLeaves,
3543        BlockKind::CherryLeaves,
3544        BlockKind::DarkOakLeaves,
3545        BlockKind::PaleOakLeaves,
3546        BlockKind::MangroveLeaves,
3547        BlockKind::AzaleaLeaves,
3548        BlockKind::FloweringAzaleaLeaves,
3549        BlockKind::ShortGrass,
3550        BlockKind::Fern,
3551        BlockKind::DeadBush,
3552        BlockKind::Bush,
3553        BlockKind::ShortDryGrass,
3554        BlockKind::TallDryGrass,
3555        BlockKind::Seagrass,
3556        BlockKind::TallSeagrass,
3557        BlockKind::Dandelion,
3558        BlockKind::GoldenDandelion,
3559        BlockKind::Torchflower,
3560        BlockKind::Poppy,
3561        BlockKind::BlueOrchid,
3562        BlockKind::Allium,
3563        BlockKind::AzureBluet,
3564        BlockKind::RedTulip,
3565        BlockKind::OrangeTulip,
3566        BlockKind::WhiteTulip,
3567        BlockKind::PinkTulip,
3568        BlockKind::OxeyeDaisy,
3569        BlockKind::Cornflower,
3570        BlockKind::WitherRose,
3571        BlockKind::LilyOfTheValley,
3572        BlockKind::Vine,
3573        BlockKind::GlowLichen,
3574        BlockKind::Sunflower,
3575        BlockKind::Lilac,
3576        BlockKind::RoseBush,
3577        BlockKind::Peony,
3578        BlockKind::TallGrass,
3579        BlockKind::LargeFern,
3580        BlockKind::PitcherPlant,
3581        BlockKind::WarpedRoots,
3582        BlockKind::NetherSprouts,
3583        BlockKind::CrimsonRoots,
3584        BlockKind::LeafLitter,
3585        BlockKind::HangingRoots,
3586        BlockKind::PaleMossCarpet,
3587        BlockKind::OpenEyeblossom,
3588        BlockKind::ClosedEyeblossom,
3589        BlockKind::FireflyBush,
3590    ])
3591});
3592pub static SAND: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3593    RegistryTag::new(vec![
3594        BlockKind::Sand,
3595        BlockKind::SuspiciousSand,
3596        BlockKind::RedSand,
3597    ])
3598});
3599pub static SAPLINGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3600    RegistryTag::new(vec![
3601        BlockKind::OakSapling,
3602        BlockKind::SpruceSapling,
3603        BlockKind::BirchSapling,
3604        BlockKind::JungleSapling,
3605        BlockKind::AcaciaSapling,
3606        BlockKind::CherrySapling,
3607        BlockKind::DarkOakSapling,
3608        BlockKind::PaleOakSapling,
3609        BlockKind::MangrovePropagule,
3610        BlockKind::Azalea,
3611        BlockKind::FloweringAzalea,
3612    ])
3613});
3614pub static SCULK_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3615    RegistryTag::new(vec![
3616        BlockKind::Stone,
3617        BlockKind::Granite,
3618        BlockKind::Diorite,
3619        BlockKind::Andesite,
3620        BlockKind::GrassBlock,
3621        BlockKind::Dirt,
3622        BlockKind::CoarseDirt,
3623        BlockKind::Podzol,
3624        BlockKind::Sand,
3625        BlockKind::RedSand,
3626        BlockKind::Gravel,
3627        BlockKind::MuddyMangroveRoots,
3628        BlockKind::Sandstone,
3629        BlockKind::Clay,
3630        BlockKind::Netherrack,
3631        BlockKind::SoulSand,
3632        BlockKind::SoulSoil,
3633        BlockKind::Basalt,
3634        BlockKind::Mycelium,
3635        BlockKind::EndStone,
3636        BlockKind::WhiteTerracotta,
3637        BlockKind::OrangeTerracotta,
3638        BlockKind::MagentaTerracotta,
3639        BlockKind::LightBlueTerracotta,
3640        BlockKind::YellowTerracotta,
3641        BlockKind::LimeTerracotta,
3642        BlockKind::PinkTerracotta,
3643        BlockKind::GrayTerracotta,
3644        BlockKind::LightGrayTerracotta,
3645        BlockKind::CyanTerracotta,
3646        BlockKind::PurpleTerracotta,
3647        BlockKind::BlueTerracotta,
3648        BlockKind::BrownTerracotta,
3649        BlockKind::GreenTerracotta,
3650        BlockKind::RedTerracotta,
3651        BlockKind::BlackTerracotta,
3652        BlockKind::Terracotta,
3653        BlockKind::RedSandstone,
3654        BlockKind::WarpedNylium,
3655        BlockKind::CrimsonNylium,
3656        BlockKind::Blackstone,
3657        BlockKind::Tuff,
3658        BlockKind::Sulfur,
3659        BlockKind::Cinnabar,
3660        BlockKind::Calcite,
3661        BlockKind::DripstoneBlock,
3662        BlockKind::MossBlock,
3663        BlockKind::RootedDirt,
3664        BlockKind::Mud,
3665        BlockKind::Deepslate,
3666        BlockKind::SmoothBasalt,
3667        BlockKind::PaleMossBlock,
3668    ])
3669});
3670pub static SCULK_REPLACEABLE_WORLD_GEN: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3671    RegistryTag::new(vec![
3672        BlockKind::Stone,
3673        BlockKind::Granite,
3674        BlockKind::Diorite,
3675        BlockKind::Andesite,
3676        BlockKind::GrassBlock,
3677        BlockKind::Dirt,
3678        BlockKind::CoarseDirt,
3679        BlockKind::Podzol,
3680        BlockKind::Sand,
3681        BlockKind::RedSand,
3682        BlockKind::Gravel,
3683        BlockKind::MuddyMangroveRoots,
3684        BlockKind::Sandstone,
3685        BlockKind::Clay,
3686        BlockKind::Netherrack,
3687        BlockKind::SoulSand,
3688        BlockKind::SoulSoil,
3689        BlockKind::Basalt,
3690        BlockKind::Mycelium,
3691        BlockKind::EndStone,
3692        BlockKind::WhiteTerracotta,
3693        BlockKind::OrangeTerracotta,
3694        BlockKind::MagentaTerracotta,
3695        BlockKind::LightBlueTerracotta,
3696        BlockKind::YellowTerracotta,
3697        BlockKind::LimeTerracotta,
3698        BlockKind::PinkTerracotta,
3699        BlockKind::GrayTerracotta,
3700        BlockKind::LightGrayTerracotta,
3701        BlockKind::CyanTerracotta,
3702        BlockKind::PurpleTerracotta,
3703        BlockKind::BlueTerracotta,
3704        BlockKind::BrownTerracotta,
3705        BlockKind::GreenTerracotta,
3706        BlockKind::RedTerracotta,
3707        BlockKind::BlackTerracotta,
3708        BlockKind::Terracotta,
3709        BlockKind::RedSandstone,
3710        BlockKind::WarpedNylium,
3711        BlockKind::CrimsonNylium,
3712        BlockKind::Blackstone,
3713        BlockKind::Tuff,
3714        BlockKind::Sulfur,
3715        BlockKind::Cinnabar,
3716        BlockKind::Calcite,
3717        BlockKind::DripstoneBlock,
3718        BlockKind::MossBlock,
3719        BlockKind::RootedDirt,
3720        BlockKind::Mud,
3721        BlockKind::Deepslate,
3722        BlockKind::CobbledDeepslate,
3723        BlockKind::PolishedDeepslate,
3724        BlockKind::DeepslateTiles,
3725        BlockKind::DeepslateBricks,
3726        BlockKind::CrackedDeepslateBricks,
3727        BlockKind::CrackedDeepslateTiles,
3728        BlockKind::SmoothBasalt,
3729        BlockKind::PaleMossBlock,
3730    ])
3731});
3732pub static SHEARS_EXTREME_BREAKING_SPEED: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3733    RegistryTag::new(vec![
3734        BlockKind::OakLeaves,
3735        BlockKind::SpruceLeaves,
3736        BlockKind::BirchLeaves,
3737        BlockKind::JungleLeaves,
3738        BlockKind::AcaciaLeaves,
3739        BlockKind::CherryLeaves,
3740        BlockKind::DarkOakLeaves,
3741        BlockKind::PaleOakLeaves,
3742        BlockKind::MangroveLeaves,
3743        BlockKind::AzaleaLeaves,
3744        BlockKind::FloweringAzaleaLeaves,
3745    ])
3746});
3747pub static SHEARS_MAJOR_BREAKING_SPEED: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3748    RegistryTag::new(vec![
3749        BlockKind::WhiteWool,
3750        BlockKind::OrangeWool,
3751        BlockKind::MagentaWool,
3752        BlockKind::LightBlueWool,
3753        BlockKind::YellowWool,
3754        BlockKind::LimeWool,
3755        BlockKind::PinkWool,
3756        BlockKind::GrayWool,
3757        BlockKind::LightGrayWool,
3758        BlockKind::CyanWool,
3759        BlockKind::PurpleWool,
3760        BlockKind::BlueWool,
3761        BlockKind::BrownWool,
3762        BlockKind::GreenWool,
3763        BlockKind::RedWool,
3764        BlockKind::BlackWool,
3765    ])
3766});
3767pub static SHEARS_MINOR_BREAKING_SPEED: LazyLock<RegistryTag<BlockKind>> =
3768    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Vine, BlockKind::GlowLichen]));
3769pub static SHULKER_BOXES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3770    RegistryTag::new(vec![
3771        BlockKind::ShulkerBox,
3772        BlockKind::WhiteShulkerBox,
3773        BlockKind::OrangeShulkerBox,
3774        BlockKind::MagentaShulkerBox,
3775        BlockKind::LightBlueShulkerBox,
3776        BlockKind::YellowShulkerBox,
3777        BlockKind::LimeShulkerBox,
3778        BlockKind::PinkShulkerBox,
3779        BlockKind::GrayShulkerBox,
3780        BlockKind::LightGrayShulkerBox,
3781        BlockKind::CyanShulkerBox,
3782        BlockKind::PurpleShulkerBox,
3783        BlockKind::BlueShulkerBox,
3784        BlockKind::BrownShulkerBox,
3785        BlockKind::GreenShulkerBox,
3786        BlockKind::RedShulkerBox,
3787        BlockKind::BlackShulkerBox,
3788    ])
3789});
3790pub static SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3791    RegistryTag::new(vec![
3792        BlockKind::OakSign,
3793        BlockKind::SpruceSign,
3794        BlockKind::BirchSign,
3795        BlockKind::AcaciaSign,
3796        BlockKind::CherrySign,
3797        BlockKind::JungleSign,
3798        BlockKind::DarkOakSign,
3799        BlockKind::PaleOakSign,
3800        BlockKind::MangroveSign,
3801        BlockKind::BambooSign,
3802        BlockKind::OakWallSign,
3803        BlockKind::SpruceWallSign,
3804        BlockKind::BirchWallSign,
3805        BlockKind::AcaciaWallSign,
3806        BlockKind::CherryWallSign,
3807        BlockKind::JungleWallSign,
3808        BlockKind::DarkOakWallSign,
3809        BlockKind::PaleOakWallSign,
3810        BlockKind::MangroveWallSign,
3811        BlockKind::BambooWallSign,
3812        BlockKind::CrimsonSign,
3813        BlockKind::WarpedSign,
3814        BlockKind::CrimsonWallSign,
3815        BlockKind::WarpedWallSign,
3816    ])
3817});
3818pub static SLABS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3819    RegistryTag::new(vec![
3820        BlockKind::ResinBrickSlab,
3821        BlockKind::PrismarineSlab,
3822        BlockKind::PrismarineBrickSlab,
3823        BlockKind::DarkPrismarineSlab,
3824        BlockKind::OakSlab,
3825        BlockKind::SpruceSlab,
3826        BlockKind::BirchSlab,
3827        BlockKind::JungleSlab,
3828        BlockKind::AcaciaSlab,
3829        BlockKind::CherrySlab,
3830        BlockKind::DarkOakSlab,
3831        BlockKind::PaleOakSlab,
3832        BlockKind::MangroveSlab,
3833        BlockKind::BambooSlab,
3834        BlockKind::BambooMosaicSlab,
3835        BlockKind::StoneSlab,
3836        BlockKind::SmoothStoneSlab,
3837        BlockKind::SandstoneSlab,
3838        BlockKind::CutSandstoneSlab,
3839        BlockKind::PetrifiedOakSlab,
3840        BlockKind::CobblestoneSlab,
3841        BlockKind::BrickSlab,
3842        BlockKind::StoneBrickSlab,
3843        BlockKind::MudBrickSlab,
3844        BlockKind::NetherBrickSlab,
3845        BlockKind::QuartzSlab,
3846        BlockKind::RedSandstoneSlab,
3847        BlockKind::CutRedSandstoneSlab,
3848        BlockKind::PurpurSlab,
3849        BlockKind::PolishedGraniteSlab,
3850        BlockKind::SmoothRedSandstoneSlab,
3851        BlockKind::MossyStoneBrickSlab,
3852        BlockKind::PolishedDioriteSlab,
3853        BlockKind::MossyCobblestoneSlab,
3854        BlockKind::EndStoneBrickSlab,
3855        BlockKind::SmoothSandstoneSlab,
3856        BlockKind::SmoothQuartzSlab,
3857        BlockKind::GraniteSlab,
3858        BlockKind::AndesiteSlab,
3859        BlockKind::RedNetherBrickSlab,
3860        BlockKind::PolishedAndesiteSlab,
3861        BlockKind::DioriteSlab,
3862        BlockKind::CrimsonSlab,
3863        BlockKind::WarpedSlab,
3864        BlockKind::BlackstoneSlab,
3865        BlockKind::PolishedBlackstoneBrickSlab,
3866        BlockKind::PolishedBlackstoneSlab,
3867        BlockKind::TuffSlab,
3868        BlockKind::PolishedTuffSlab,
3869        BlockKind::TuffBrickSlab,
3870        BlockKind::SulfurSlab,
3871        BlockKind::PolishedSulfurSlab,
3872        BlockKind::SulfurBrickSlab,
3873        BlockKind::CinnabarSlab,
3874        BlockKind::PolishedCinnabarSlab,
3875        BlockKind::CinnabarBrickSlab,
3876        BlockKind::CutCopperSlab,
3877        BlockKind::ExposedCutCopperSlab,
3878        BlockKind::WeatheredCutCopperSlab,
3879        BlockKind::OxidizedCutCopperSlab,
3880        BlockKind::WaxedCutCopperSlab,
3881        BlockKind::WaxedExposedCutCopperSlab,
3882        BlockKind::WaxedWeatheredCutCopperSlab,
3883        BlockKind::WaxedOxidizedCutCopperSlab,
3884        BlockKind::CobbledDeepslateSlab,
3885        BlockKind::PolishedDeepslateSlab,
3886        BlockKind::DeepslateTileSlab,
3887        BlockKind::DeepslateBrickSlab,
3888    ])
3889});
3890pub static SMALL_FLOWERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3891    RegistryTag::new(vec![
3892        BlockKind::Dandelion,
3893        BlockKind::GoldenDandelion,
3894        BlockKind::Torchflower,
3895        BlockKind::Poppy,
3896        BlockKind::BlueOrchid,
3897        BlockKind::Allium,
3898        BlockKind::AzureBluet,
3899        BlockKind::RedTulip,
3900        BlockKind::OrangeTulip,
3901        BlockKind::WhiteTulip,
3902        BlockKind::PinkTulip,
3903        BlockKind::OxeyeDaisy,
3904        BlockKind::Cornflower,
3905        BlockKind::WitherRose,
3906        BlockKind::LilyOfTheValley,
3907        BlockKind::OpenEyeblossom,
3908        BlockKind::ClosedEyeblossom,
3909    ])
3910});
3911pub static SMELTS_TO_GLASS: LazyLock<RegistryTag<BlockKind>> =
3912    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Sand, BlockKind::RedSand]));
3913pub static SNAPS_GOAT_HORN: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3914    RegistryTag::new(vec![
3915        BlockKind::Stone,
3916        BlockKind::IronOre,
3917        BlockKind::CoalOre,
3918        BlockKind::OakLog,
3919        BlockKind::SpruceLog,
3920        BlockKind::BirchLog,
3921        BlockKind::JungleLog,
3922        BlockKind::AcaciaLog,
3923        BlockKind::CherryLog,
3924        BlockKind::DarkOakLog,
3925        BlockKind::PaleOakLog,
3926        BlockKind::MangroveLog,
3927        BlockKind::EmeraldOre,
3928        BlockKind::PackedIce,
3929        BlockKind::CopperOre,
3930    ])
3931});
3932pub static SNIFFER_DIGGABLE_BLOCK: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3933    RegistryTag::new(vec![
3934        BlockKind::GrassBlock,
3935        BlockKind::Dirt,
3936        BlockKind::CoarseDirt,
3937        BlockKind::Podzol,
3938        BlockKind::MuddyMangroveRoots,
3939        BlockKind::MossBlock,
3940        BlockKind::RootedDirt,
3941        BlockKind::Mud,
3942        BlockKind::PaleMossBlock,
3943    ])
3944});
3945pub static SNIFFER_EGG_HATCH_BOOST: LazyLock<RegistryTag<BlockKind>> =
3946    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MossBlock]));
3947pub static SNOW: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3948    RegistryTag::new(vec![
3949        BlockKind::Snow,
3950        BlockKind::SnowBlock,
3951        BlockKind::PowderSnow,
3952    ])
3953});
3954pub static SNOW_GOLEM_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
3955    LazyLock::new(|| RegistryTag::new(vec![BlockKind::PowderSnow]));
3956pub static SOUL_FIRE_BASE_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
3957    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
3958pub static SOUL_SPEED_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
3959    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
3960pub static SPELEOTHEMS: LazyLock<RegistryTag<BlockKind>> =
3961    LazyLock::new(|| RegistryTag::new(vec![BlockKind::PointedDripstone, BlockKind::SulfurSpike]));
3962pub static SPRUCE_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3963    RegistryTag::new(vec![
3964        BlockKind::SpruceLog,
3965        BlockKind::StrippedSpruceLog,
3966        BlockKind::SpruceWood,
3967        BlockKind::StrippedSpruceWood,
3968    ])
3969});
3970pub static STAIRS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
3971    RegistryTag::new(vec![
3972        BlockKind::OakStairs,
3973        BlockKind::CobblestoneStairs,
3974        BlockKind::BrickStairs,
3975        BlockKind::StoneBrickStairs,
3976        BlockKind::MudBrickStairs,
3977        BlockKind::ResinBrickStairs,
3978        BlockKind::NetherBrickStairs,
3979        BlockKind::SandstoneStairs,
3980        BlockKind::SpruceStairs,
3981        BlockKind::BirchStairs,
3982        BlockKind::JungleStairs,
3983        BlockKind::QuartzStairs,
3984        BlockKind::AcaciaStairs,
3985        BlockKind::CherryStairs,
3986        BlockKind::DarkOakStairs,
3987        BlockKind::PaleOakStairs,
3988        BlockKind::MangroveStairs,
3989        BlockKind::BambooStairs,
3990        BlockKind::BambooMosaicStairs,
3991        BlockKind::PrismarineStairs,
3992        BlockKind::PrismarineBrickStairs,
3993        BlockKind::DarkPrismarineStairs,
3994        BlockKind::RedSandstoneStairs,
3995        BlockKind::PurpurStairs,
3996        BlockKind::PolishedGraniteStairs,
3997        BlockKind::SmoothRedSandstoneStairs,
3998        BlockKind::MossyStoneBrickStairs,
3999        BlockKind::PolishedDioriteStairs,
4000        BlockKind::MossyCobblestoneStairs,
4001        BlockKind::EndStoneBrickStairs,
4002        BlockKind::StoneStairs,
4003        BlockKind::SmoothSandstoneStairs,
4004        BlockKind::SmoothQuartzStairs,
4005        BlockKind::GraniteStairs,
4006        BlockKind::AndesiteStairs,
4007        BlockKind::RedNetherBrickStairs,
4008        BlockKind::PolishedAndesiteStairs,
4009        BlockKind::DioriteStairs,
4010        BlockKind::CrimsonStairs,
4011        BlockKind::WarpedStairs,
4012        BlockKind::BlackstoneStairs,
4013        BlockKind::PolishedBlackstoneBrickStairs,
4014        BlockKind::PolishedBlackstoneStairs,
4015        BlockKind::TuffStairs,
4016        BlockKind::PolishedTuffStairs,
4017        BlockKind::TuffBrickStairs,
4018        BlockKind::SulfurStairs,
4019        BlockKind::PolishedSulfurStairs,
4020        BlockKind::SulfurBrickStairs,
4021        BlockKind::CinnabarStairs,
4022        BlockKind::PolishedCinnabarStairs,
4023        BlockKind::CinnabarBrickStairs,
4024        BlockKind::CutCopperStairs,
4025        BlockKind::ExposedCutCopperStairs,
4026        BlockKind::WeatheredCutCopperStairs,
4027        BlockKind::OxidizedCutCopperStairs,
4028        BlockKind::WaxedCutCopperStairs,
4029        BlockKind::WaxedExposedCutCopperStairs,
4030        BlockKind::WaxedWeatheredCutCopperStairs,
4031        BlockKind::WaxedOxidizedCutCopperStairs,
4032        BlockKind::CobbledDeepslateStairs,
4033        BlockKind::PolishedDeepslateStairs,
4034        BlockKind::DeepslateTileStairs,
4035        BlockKind::DeepslateBrickStairs,
4036    ])
4037});
4038pub static STANDING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4039    RegistryTag::new(vec![
4040        BlockKind::OakSign,
4041        BlockKind::SpruceSign,
4042        BlockKind::BirchSign,
4043        BlockKind::AcaciaSign,
4044        BlockKind::CherrySign,
4045        BlockKind::JungleSign,
4046        BlockKind::DarkOakSign,
4047        BlockKind::PaleOakSign,
4048        BlockKind::MangroveSign,
4049        BlockKind::BambooSign,
4050        BlockKind::CrimsonSign,
4051        BlockKind::WarpedSign,
4052    ])
4053});
4054pub static STONE_BRICKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4055    RegistryTag::new(vec![
4056        BlockKind::StoneBricks,
4057        BlockKind::MossyStoneBricks,
4058        BlockKind::CrackedStoneBricks,
4059        BlockKind::ChiseledStoneBricks,
4060    ])
4061});
4062pub static STONE_BUTTONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4063    RegistryTag::new(vec![
4064        BlockKind::StoneButton,
4065        BlockKind::PolishedBlackstoneButton,
4066    ])
4067});
4068pub static STONE_ORE_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4069    RegistryTag::new(vec![
4070        BlockKind::Stone,
4071        BlockKind::Granite,
4072        BlockKind::Diorite,
4073        BlockKind::Andesite,
4074    ])
4075});
4076pub static STONE_PRESSURE_PLATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4077    RegistryTag::new(vec![
4078        BlockKind::StonePressurePlate,
4079        BlockKind::PolishedBlackstonePressurePlate,
4080    ])
4081});
4082pub static STRAY_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
4083    LazyLock::new(|| RegistryTag::new(vec![BlockKind::PowderSnow]));
4084pub static STRIDER_WARM_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
4085    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Lava]));
4086pub static SUBSTRATE_OVERWORLD: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4087    RegistryTag::new(vec![
4088        BlockKind::GrassBlock,
4089        BlockKind::Dirt,
4090        BlockKind::CoarseDirt,
4091        BlockKind::Podzol,
4092        BlockKind::MuddyMangroveRoots,
4093        BlockKind::Mycelium,
4094        BlockKind::MossBlock,
4095        BlockKind::RootedDirt,
4096        BlockKind::Mud,
4097        BlockKind::PaleMossBlock,
4098    ])
4099});
4100pub static SULFUR_SPIKE_REPLACEABLE_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
4101    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Sulfur, BlockKind::Cinnabar]));
4102pub static SUPPORT_OVERRIDE_CACTUS_FLOWER: LazyLock<RegistryTag<BlockKind>> =
4103    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Farmland, BlockKind::Cactus]));
4104pub static SUPPORT_OVERRIDE_SNOW_LAYER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4105    RegistryTag::new(vec![
4106        BlockKind::SoulSand,
4107        BlockKind::HoneyBlock,
4108        BlockKind::Mud,
4109    ])
4110});
4111pub static SUPPORTS_AZALEA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4112    RegistryTag::new(vec![
4113        BlockKind::GrassBlock,
4114        BlockKind::Dirt,
4115        BlockKind::CoarseDirt,
4116        BlockKind::Podzol,
4117        BlockKind::MuddyMangroveRoots,
4118        BlockKind::Farmland,
4119        BlockKind::Clay,
4120        BlockKind::Mycelium,
4121        BlockKind::MossBlock,
4122        BlockKind::RootedDirt,
4123        BlockKind::Mud,
4124        BlockKind::PaleMossBlock,
4125    ])
4126});
4127pub static SUPPORTS_BAMBOO: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4128    RegistryTag::new(vec![
4129        BlockKind::GrassBlock,
4130        BlockKind::Dirt,
4131        BlockKind::CoarseDirt,
4132        BlockKind::Podzol,
4133        BlockKind::Sand,
4134        BlockKind::SuspiciousSand,
4135        BlockKind::RedSand,
4136        BlockKind::Gravel,
4137        BlockKind::SuspiciousGravel,
4138        BlockKind::MuddyMangroveRoots,
4139        BlockKind::Mycelium,
4140        BlockKind::BambooSapling,
4141        BlockKind::Bamboo,
4142        BlockKind::MossBlock,
4143        BlockKind::RootedDirt,
4144        BlockKind::Mud,
4145        BlockKind::PaleMossBlock,
4146    ])
4147});
4148pub static SUPPORTS_BIG_DRIPLEAF: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4149    RegistryTag::new(vec![
4150        BlockKind::GrassBlock,
4151        BlockKind::Dirt,
4152        BlockKind::CoarseDirt,
4153        BlockKind::Podzol,
4154        BlockKind::MuddyMangroveRoots,
4155        BlockKind::Farmland,
4156        BlockKind::Clay,
4157        BlockKind::Mycelium,
4158        BlockKind::MossBlock,
4159        BlockKind::MossBlock,
4160        BlockKind::RootedDirt,
4161        BlockKind::Mud,
4162    ])
4163});
4164pub static SUPPORTS_CACTUS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4165    RegistryTag::new(vec![
4166        BlockKind::Sand,
4167        BlockKind::SuspiciousSand,
4168        BlockKind::RedSand,
4169    ])
4170});
4171pub static SUPPORTS_CHORUS_FLOWER: LazyLock<RegistryTag<BlockKind>> =
4172    LazyLock::new(|| RegistryTag::new(vec![BlockKind::EndStone]));
4173pub static SUPPORTS_CHORUS_PLANT: LazyLock<RegistryTag<BlockKind>> =
4174    LazyLock::new(|| RegistryTag::new(vec![BlockKind::EndStone]));
4175pub static SUPPORTS_COCOA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4176    RegistryTag::new(vec![
4177        BlockKind::JungleLog,
4178        BlockKind::StrippedJungleLog,
4179        BlockKind::JungleWood,
4180        BlockKind::StrippedJungleWood,
4181    ])
4182});
4183pub static SUPPORTS_CRIMSON_FUNGUS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4184    RegistryTag::new(vec![
4185        BlockKind::GrassBlock,
4186        BlockKind::Dirt,
4187        BlockKind::CoarseDirt,
4188        BlockKind::Podzol,
4189        BlockKind::MuddyMangroveRoots,
4190        BlockKind::Farmland,
4191        BlockKind::SoulSoil,
4192        BlockKind::Mycelium,
4193        BlockKind::Mycelium,
4194        BlockKind::WarpedNylium,
4195        BlockKind::CrimsonNylium,
4196        BlockKind::MossBlock,
4197        BlockKind::RootedDirt,
4198        BlockKind::Mud,
4199        BlockKind::PaleMossBlock,
4200    ])
4201});
4202pub static SUPPORTS_CRIMSON_ROOTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4203    RegistryTag::new(vec![
4204        BlockKind::GrassBlock,
4205        BlockKind::Dirt,
4206        BlockKind::CoarseDirt,
4207        BlockKind::Podzol,
4208        BlockKind::MuddyMangroveRoots,
4209        BlockKind::Farmland,
4210        BlockKind::SoulSoil,
4211        BlockKind::Mycelium,
4212        BlockKind::WarpedNylium,
4213        BlockKind::CrimsonNylium,
4214        BlockKind::MossBlock,
4215        BlockKind::RootedDirt,
4216        BlockKind::Mud,
4217        BlockKind::PaleMossBlock,
4218    ])
4219});
4220pub static SUPPORTS_CROPS: LazyLock<RegistryTag<BlockKind>> =
4221    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Farmland]));
4222pub static SUPPORTS_DRY_VEGETATION: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4223    RegistryTag::new(vec![
4224        BlockKind::GrassBlock,
4225        BlockKind::Dirt,
4226        BlockKind::CoarseDirt,
4227        BlockKind::Podzol,
4228        BlockKind::Sand,
4229        BlockKind::SuspiciousSand,
4230        BlockKind::RedSand,
4231        BlockKind::MuddyMangroveRoots,
4232        BlockKind::Farmland,
4233        BlockKind::Mycelium,
4234        BlockKind::WhiteTerracotta,
4235        BlockKind::OrangeTerracotta,
4236        BlockKind::MagentaTerracotta,
4237        BlockKind::LightBlueTerracotta,
4238        BlockKind::YellowTerracotta,
4239        BlockKind::LimeTerracotta,
4240        BlockKind::PinkTerracotta,
4241        BlockKind::GrayTerracotta,
4242        BlockKind::LightGrayTerracotta,
4243        BlockKind::CyanTerracotta,
4244        BlockKind::PurpleTerracotta,
4245        BlockKind::BlueTerracotta,
4246        BlockKind::BrownTerracotta,
4247        BlockKind::GreenTerracotta,
4248        BlockKind::RedTerracotta,
4249        BlockKind::BlackTerracotta,
4250        BlockKind::Terracotta,
4251        BlockKind::MossBlock,
4252        BlockKind::RootedDirt,
4253        BlockKind::Mud,
4254        BlockKind::PaleMossBlock,
4255    ])
4256});
4257pub static SUPPORTS_FROGSPAWN: LazyLock<RegistryTag<BlockKind>> =
4258    LazyLock::new(|| RegistryTag::new(vec![]));
4259pub static SUPPORTS_HANGING_MANGROVE_PROPAGULE: LazyLock<RegistryTag<BlockKind>> =
4260    LazyLock::new(|| RegistryTag::new(vec![BlockKind::MangroveLeaves]));
4261pub static SUPPORTS_LILY_PAD: LazyLock<RegistryTag<BlockKind>> =
4262    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Ice, BlockKind::FrostedIce]));
4263pub static SUPPORTS_MANGROVE_PROPAGULE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4264    RegistryTag::new(vec![
4265        BlockKind::GrassBlock,
4266        BlockKind::Dirt,
4267        BlockKind::CoarseDirt,
4268        BlockKind::Podzol,
4269        BlockKind::MuddyMangroveRoots,
4270        BlockKind::Farmland,
4271        BlockKind::Clay,
4272        BlockKind::Mycelium,
4273        BlockKind::MossBlock,
4274        BlockKind::RootedDirt,
4275        BlockKind::Mud,
4276        BlockKind::PaleMossBlock,
4277    ])
4278});
4279pub static SUPPORTS_MELON_STEM: LazyLock<RegistryTag<BlockKind>> =
4280    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Farmland]));
4281pub static SUPPORTS_MELON_STEM_FRUIT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4282    RegistryTag::new(vec![
4283        BlockKind::GrassBlock,
4284        BlockKind::Dirt,
4285        BlockKind::CoarseDirt,
4286        BlockKind::Podzol,
4287        BlockKind::MuddyMangroveRoots,
4288        BlockKind::Farmland,
4289        BlockKind::Mycelium,
4290        BlockKind::MossBlock,
4291        BlockKind::RootedDirt,
4292        BlockKind::Mud,
4293        BlockKind::PaleMossBlock,
4294    ])
4295});
4296pub static SUPPORTS_NETHER_SPROUTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4297    RegistryTag::new(vec![
4298        BlockKind::GrassBlock,
4299        BlockKind::Dirt,
4300        BlockKind::CoarseDirt,
4301        BlockKind::Podzol,
4302        BlockKind::MuddyMangroveRoots,
4303        BlockKind::Farmland,
4304        BlockKind::SoulSoil,
4305        BlockKind::Mycelium,
4306        BlockKind::WarpedNylium,
4307        BlockKind::CrimsonNylium,
4308        BlockKind::MossBlock,
4309        BlockKind::RootedDirt,
4310        BlockKind::Mud,
4311        BlockKind::PaleMossBlock,
4312    ])
4313});
4314pub static SUPPORTS_NETHER_WART: LazyLock<RegistryTag<BlockKind>> =
4315    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand]));
4316pub static SUPPORTS_PUMPKIN_STEM: LazyLock<RegistryTag<BlockKind>> =
4317    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Farmland]));
4318pub static SUPPORTS_PUMPKIN_STEM_FRUIT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4319    RegistryTag::new(vec![
4320        BlockKind::GrassBlock,
4321        BlockKind::Dirt,
4322        BlockKind::CoarseDirt,
4323        BlockKind::Podzol,
4324        BlockKind::MuddyMangroveRoots,
4325        BlockKind::Farmland,
4326        BlockKind::Mycelium,
4327        BlockKind::MossBlock,
4328        BlockKind::RootedDirt,
4329        BlockKind::Mud,
4330        BlockKind::PaleMossBlock,
4331    ])
4332});
4333pub static SUPPORTS_SMALL_DRIPLEAF: LazyLock<RegistryTag<BlockKind>> =
4334    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Clay, BlockKind::MossBlock]));
4335pub static SUPPORTS_STEM_CROPS: LazyLock<RegistryTag<BlockKind>> =
4336    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Farmland]));
4337pub static SUPPORTS_STEM_FRUIT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4338    RegistryTag::new(vec![
4339        BlockKind::GrassBlock,
4340        BlockKind::Dirt,
4341        BlockKind::CoarseDirt,
4342        BlockKind::Podzol,
4343        BlockKind::MuddyMangroveRoots,
4344        BlockKind::Farmland,
4345        BlockKind::Mycelium,
4346        BlockKind::MossBlock,
4347        BlockKind::RootedDirt,
4348        BlockKind::Mud,
4349        BlockKind::PaleMossBlock,
4350    ])
4351});
4352pub static SUPPORTS_SUGAR_CANE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4353    RegistryTag::new(vec![
4354        BlockKind::GrassBlock,
4355        BlockKind::Dirt,
4356        BlockKind::CoarseDirt,
4357        BlockKind::Podzol,
4358        BlockKind::Sand,
4359        BlockKind::SuspiciousSand,
4360        BlockKind::RedSand,
4361        BlockKind::MuddyMangroveRoots,
4362        BlockKind::Mycelium,
4363        BlockKind::MossBlock,
4364        BlockKind::RootedDirt,
4365        BlockKind::Mud,
4366        BlockKind::PaleMossBlock,
4367    ])
4368});
4369pub static SUPPORTS_SUGAR_CANE_ADJACENTLY: LazyLock<RegistryTag<BlockKind>> =
4370    LazyLock::new(|| RegistryTag::new(vec![BlockKind::FrostedIce]));
4371pub static SUPPORTS_VEGETATION: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4372    RegistryTag::new(vec![
4373        BlockKind::GrassBlock,
4374        BlockKind::Dirt,
4375        BlockKind::CoarseDirt,
4376        BlockKind::Podzol,
4377        BlockKind::MuddyMangroveRoots,
4378        BlockKind::Farmland,
4379        BlockKind::Mycelium,
4380        BlockKind::MossBlock,
4381        BlockKind::RootedDirt,
4382        BlockKind::Mud,
4383        BlockKind::PaleMossBlock,
4384    ])
4385});
4386pub static SUPPORTS_WARPED_FUNGUS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4387    RegistryTag::new(vec![
4388        BlockKind::GrassBlock,
4389        BlockKind::Dirt,
4390        BlockKind::CoarseDirt,
4391        BlockKind::Podzol,
4392        BlockKind::MuddyMangroveRoots,
4393        BlockKind::Farmland,
4394        BlockKind::SoulSoil,
4395        BlockKind::Mycelium,
4396        BlockKind::Mycelium,
4397        BlockKind::WarpedNylium,
4398        BlockKind::CrimsonNylium,
4399        BlockKind::MossBlock,
4400        BlockKind::RootedDirt,
4401        BlockKind::Mud,
4402        BlockKind::PaleMossBlock,
4403    ])
4404});
4405pub static SUPPORTS_WARPED_ROOTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4406    RegistryTag::new(vec![
4407        BlockKind::GrassBlock,
4408        BlockKind::Dirt,
4409        BlockKind::CoarseDirt,
4410        BlockKind::Podzol,
4411        BlockKind::MuddyMangroveRoots,
4412        BlockKind::Farmland,
4413        BlockKind::SoulSoil,
4414        BlockKind::Mycelium,
4415        BlockKind::WarpedNylium,
4416        BlockKind::CrimsonNylium,
4417        BlockKind::MossBlock,
4418        BlockKind::RootedDirt,
4419        BlockKind::Mud,
4420        BlockKind::PaleMossBlock,
4421    ])
4422});
4423pub static SUPPORTS_WITHER_ROSE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4424    RegistryTag::new(vec![
4425        BlockKind::GrassBlock,
4426        BlockKind::Dirt,
4427        BlockKind::CoarseDirt,
4428        BlockKind::Podzol,
4429        BlockKind::MuddyMangroveRoots,
4430        BlockKind::Farmland,
4431        BlockKind::Netherrack,
4432        BlockKind::SoulSand,
4433        BlockKind::SoulSoil,
4434        BlockKind::Mycelium,
4435        BlockKind::MossBlock,
4436        BlockKind::RootedDirt,
4437        BlockKind::Mud,
4438        BlockKind::PaleMossBlock,
4439    ])
4440});
4441pub static SUPPRESSES_BOUNCE: LazyLock<RegistryTag<BlockKind>> =
4442    LazyLock::new(|| RegistryTag::new(vec![BlockKind::HoneyBlock]));
4443pub static SWORD_EFFICIENT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4444    RegistryTag::new(vec![
4445        BlockKind::OakLeaves,
4446        BlockKind::SpruceLeaves,
4447        BlockKind::BirchLeaves,
4448        BlockKind::JungleLeaves,
4449        BlockKind::AcaciaLeaves,
4450        BlockKind::CherryLeaves,
4451        BlockKind::DarkOakLeaves,
4452        BlockKind::PaleOakLeaves,
4453        BlockKind::MangroveLeaves,
4454        BlockKind::AzaleaLeaves,
4455        BlockKind::FloweringAzaleaLeaves,
4456        BlockKind::CarvedPumpkin,
4457        BlockKind::JackOLantern,
4458        BlockKind::Pumpkin,
4459        BlockKind::Melon,
4460        BlockKind::Vine,
4461        BlockKind::GlowLichen,
4462        BlockKind::Cocoa,
4463        BlockKind::ChorusPlant,
4464        BlockKind::ChorusFlower,
4465        BlockKind::BigDripleaf,
4466        BlockKind::BigDripleafStem,
4467    ])
4468});
4469pub static SWORD_INSTANTLY_MINES: LazyLock<RegistryTag<BlockKind>> =
4470    LazyLock::new(|| RegistryTag::new(vec![BlockKind::BambooSapling, BlockKind::Bamboo]));
4471pub static TERRACOTTA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4472    RegistryTag::new(vec![
4473        BlockKind::WhiteTerracotta,
4474        BlockKind::OrangeTerracotta,
4475        BlockKind::MagentaTerracotta,
4476        BlockKind::LightBlueTerracotta,
4477        BlockKind::YellowTerracotta,
4478        BlockKind::LimeTerracotta,
4479        BlockKind::PinkTerracotta,
4480        BlockKind::GrayTerracotta,
4481        BlockKind::LightGrayTerracotta,
4482        BlockKind::CyanTerracotta,
4483        BlockKind::PurpleTerracotta,
4484        BlockKind::BlueTerracotta,
4485        BlockKind::BrownTerracotta,
4486        BlockKind::GreenTerracotta,
4487        BlockKind::RedTerracotta,
4488        BlockKind::BlackTerracotta,
4489        BlockKind::Terracotta,
4490    ])
4491});
4492pub static TRAIL_RUINS_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> =
4493    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Gravel]));
4494pub static TRAPDOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4495    RegistryTag::new(vec![
4496        BlockKind::OakTrapdoor,
4497        BlockKind::SpruceTrapdoor,
4498        BlockKind::BirchTrapdoor,
4499        BlockKind::JungleTrapdoor,
4500        BlockKind::AcaciaTrapdoor,
4501        BlockKind::CherryTrapdoor,
4502        BlockKind::DarkOakTrapdoor,
4503        BlockKind::PaleOakTrapdoor,
4504        BlockKind::MangroveTrapdoor,
4505        BlockKind::BambooTrapdoor,
4506        BlockKind::IronTrapdoor,
4507        BlockKind::CrimsonTrapdoor,
4508        BlockKind::WarpedTrapdoor,
4509        BlockKind::CopperTrapdoor,
4510        BlockKind::ExposedCopperTrapdoor,
4511        BlockKind::WeatheredCopperTrapdoor,
4512        BlockKind::OxidizedCopperTrapdoor,
4513        BlockKind::WaxedCopperTrapdoor,
4514        BlockKind::WaxedExposedCopperTrapdoor,
4515        BlockKind::WaxedWeatheredCopperTrapdoor,
4516        BlockKind::WaxedOxidizedCopperTrapdoor,
4517    ])
4518});
4519pub static TRIGGERS_AMBIENT_DESERT_DRY_VEGETATION_BLOCK_SOUNDS: LazyLock<RegistryTag<BlockKind>> =
4520    LazyLock::new(|| {
4521        RegistryTag::new(vec![
4522            BlockKind::Sand,
4523            BlockKind::RedSand,
4524            BlockKind::WhiteTerracotta,
4525            BlockKind::OrangeTerracotta,
4526            BlockKind::MagentaTerracotta,
4527            BlockKind::LightBlueTerracotta,
4528            BlockKind::YellowTerracotta,
4529            BlockKind::LimeTerracotta,
4530            BlockKind::PinkTerracotta,
4531            BlockKind::GrayTerracotta,
4532            BlockKind::LightGrayTerracotta,
4533            BlockKind::CyanTerracotta,
4534            BlockKind::PurpleTerracotta,
4535            BlockKind::BlueTerracotta,
4536            BlockKind::BrownTerracotta,
4537            BlockKind::GreenTerracotta,
4538            BlockKind::RedTerracotta,
4539            BlockKind::BlackTerracotta,
4540            BlockKind::Terracotta,
4541        ])
4542    });
4543pub static TRIGGERS_AMBIENT_DESERT_SAND_BLOCK_SOUNDS: LazyLock<RegistryTag<BlockKind>> =
4544    LazyLock::new(|| RegistryTag::new(vec![BlockKind::Sand, BlockKind::RedSand]));
4545pub static TRIGGERS_AMBIENT_DRIED_GHAST_BLOCK_SOUNDS: LazyLock<RegistryTag<BlockKind>> =
4546    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
4547pub static UNDERWATER_BONEMEALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4548    RegistryTag::new(vec![
4549        BlockKind::Seagrass,
4550        BlockKind::TubeCoral,
4551        BlockKind::BrainCoral,
4552        BlockKind::BubbleCoral,
4553        BlockKind::FireCoral,
4554        BlockKind::HornCoral,
4555        BlockKind::TubeCoralFan,
4556        BlockKind::BrainCoralFan,
4557        BlockKind::BubbleCoralFan,
4558        BlockKind::FireCoralFan,
4559        BlockKind::HornCoralFan,
4560        BlockKind::TubeCoralWallFan,
4561        BlockKind::BrainCoralWallFan,
4562        BlockKind::BubbleCoralWallFan,
4563        BlockKind::FireCoralWallFan,
4564        BlockKind::HornCoralWallFan,
4565    ])
4566});
4567pub static UNSTABLE_BOTTOM_CENTER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4568    RegistryTag::new(vec![
4569        BlockKind::OakFenceGate,
4570        BlockKind::SpruceFenceGate,
4571        BlockKind::BirchFenceGate,
4572        BlockKind::JungleFenceGate,
4573        BlockKind::AcaciaFenceGate,
4574        BlockKind::CherryFenceGate,
4575        BlockKind::DarkOakFenceGate,
4576        BlockKind::PaleOakFenceGate,
4577        BlockKind::MangroveFenceGate,
4578        BlockKind::BambooFenceGate,
4579        BlockKind::CrimsonFenceGate,
4580        BlockKind::WarpedFenceGate,
4581    ])
4582});
4583pub static VALID_SPAWN: LazyLock<RegistryTag<BlockKind>> =
4584    LazyLock::new(|| RegistryTag::new(vec![BlockKind::GrassBlock, BlockKind::Podzol]));
4585pub static VIBRATION_RESONATORS: LazyLock<RegistryTag<BlockKind>> =
4586    LazyLock::new(|| RegistryTag::new(vec![BlockKind::AmethystBlock]));
4587pub static WALL_CORALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4588    RegistryTag::new(vec![
4589        BlockKind::TubeCoralWallFan,
4590        BlockKind::BrainCoralWallFan,
4591        BlockKind::BubbleCoralWallFan,
4592        BlockKind::FireCoralWallFan,
4593        BlockKind::HornCoralWallFan,
4594    ])
4595});
4596pub static WALL_HANGING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4597    RegistryTag::new(vec![
4598        BlockKind::OakWallHangingSign,
4599        BlockKind::SpruceWallHangingSign,
4600        BlockKind::BirchWallHangingSign,
4601        BlockKind::AcaciaWallHangingSign,
4602        BlockKind::CherryWallHangingSign,
4603        BlockKind::JungleWallHangingSign,
4604        BlockKind::DarkOakWallHangingSign,
4605        BlockKind::PaleOakWallHangingSign,
4606        BlockKind::MangroveWallHangingSign,
4607        BlockKind::CrimsonWallHangingSign,
4608        BlockKind::WarpedWallHangingSign,
4609        BlockKind::BambooWallHangingSign,
4610    ])
4611});
4612pub static WALL_POST_OVERRIDE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4613    RegistryTag::new(vec![
4614        BlockKind::Torch,
4615        BlockKind::OakSign,
4616        BlockKind::SpruceSign,
4617        BlockKind::BirchSign,
4618        BlockKind::AcaciaSign,
4619        BlockKind::CherrySign,
4620        BlockKind::JungleSign,
4621        BlockKind::DarkOakSign,
4622        BlockKind::PaleOakSign,
4623        BlockKind::MangroveSign,
4624        BlockKind::BambooSign,
4625        BlockKind::OakWallSign,
4626        BlockKind::SpruceWallSign,
4627        BlockKind::BirchWallSign,
4628        BlockKind::AcaciaWallSign,
4629        BlockKind::CherryWallSign,
4630        BlockKind::JungleWallSign,
4631        BlockKind::DarkOakWallSign,
4632        BlockKind::PaleOakWallSign,
4633        BlockKind::MangroveWallSign,
4634        BlockKind::BambooWallSign,
4635        BlockKind::StonePressurePlate,
4636        BlockKind::OakPressurePlate,
4637        BlockKind::SprucePressurePlate,
4638        BlockKind::BirchPressurePlate,
4639        BlockKind::JunglePressurePlate,
4640        BlockKind::AcaciaPressurePlate,
4641        BlockKind::CherryPressurePlate,
4642        BlockKind::DarkOakPressurePlate,
4643        BlockKind::PaleOakPressurePlate,
4644        BlockKind::MangrovePressurePlate,
4645        BlockKind::BambooPressurePlate,
4646        BlockKind::RedstoneTorch,
4647        BlockKind::CactusFlower,
4648        BlockKind::SoulTorch,
4649        BlockKind::CopperTorch,
4650        BlockKind::Tripwire,
4651        BlockKind::LightWeightedPressurePlate,
4652        BlockKind::HeavyWeightedPressurePlate,
4653        BlockKind::WhiteBanner,
4654        BlockKind::OrangeBanner,
4655        BlockKind::MagentaBanner,
4656        BlockKind::LightBlueBanner,
4657        BlockKind::YellowBanner,
4658        BlockKind::LimeBanner,
4659        BlockKind::PinkBanner,
4660        BlockKind::GrayBanner,
4661        BlockKind::LightGrayBanner,
4662        BlockKind::CyanBanner,
4663        BlockKind::PurpleBanner,
4664        BlockKind::BlueBanner,
4665        BlockKind::BrownBanner,
4666        BlockKind::GreenBanner,
4667        BlockKind::RedBanner,
4668        BlockKind::BlackBanner,
4669        BlockKind::WhiteWallBanner,
4670        BlockKind::OrangeWallBanner,
4671        BlockKind::MagentaWallBanner,
4672        BlockKind::LightBlueWallBanner,
4673        BlockKind::YellowWallBanner,
4674        BlockKind::LimeWallBanner,
4675        BlockKind::PinkWallBanner,
4676        BlockKind::GrayWallBanner,
4677        BlockKind::LightGrayWallBanner,
4678        BlockKind::CyanWallBanner,
4679        BlockKind::PurpleWallBanner,
4680        BlockKind::BlueWallBanner,
4681        BlockKind::BrownWallBanner,
4682        BlockKind::GreenWallBanner,
4683        BlockKind::RedWallBanner,
4684        BlockKind::BlackWallBanner,
4685        BlockKind::CrimsonPressurePlate,
4686        BlockKind::WarpedPressurePlate,
4687        BlockKind::CrimsonSign,
4688        BlockKind::WarpedSign,
4689        BlockKind::CrimsonWallSign,
4690        BlockKind::WarpedWallSign,
4691        BlockKind::PolishedBlackstonePressurePlate,
4692    ])
4693});
4694pub static WALL_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4695    RegistryTag::new(vec![
4696        BlockKind::OakWallSign,
4697        BlockKind::SpruceWallSign,
4698        BlockKind::BirchWallSign,
4699        BlockKind::AcaciaWallSign,
4700        BlockKind::CherryWallSign,
4701        BlockKind::JungleWallSign,
4702        BlockKind::DarkOakWallSign,
4703        BlockKind::PaleOakWallSign,
4704        BlockKind::MangroveWallSign,
4705        BlockKind::BambooWallSign,
4706        BlockKind::CrimsonWallSign,
4707        BlockKind::WarpedWallSign,
4708    ])
4709});
4710pub static WALLS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4711    RegistryTag::new(vec![
4712        BlockKind::ResinBrickWall,
4713        BlockKind::CobblestoneWall,
4714        BlockKind::MossyCobblestoneWall,
4715        BlockKind::BrickWall,
4716        BlockKind::PrismarineWall,
4717        BlockKind::RedSandstoneWall,
4718        BlockKind::MossyStoneBrickWall,
4719        BlockKind::GraniteWall,
4720        BlockKind::StoneBrickWall,
4721        BlockKind::MudBrickWall,
4722        BlockKind::NetherBrickWall,
4723        BlockKind::AndesiteWall,
4724        BlockKind::RedNetherBrickWall,
4725        BlockKind::SandstoneWall,
4726        BlockKind::EndStoneBrickWall,
4727        BlockKind::DioriteWall,
4728        BlockKind::BlackstoneWall,
4729        BlockKind::PolishedBlackstoneBrickWall,
4730        BlockKind::PolishedBlackstoneWall,
4731        BlockKind::TuffWall,
4732        BlockKind::PolishedTuffWall,
4733        BlockKind::TuffBrickWall,
4734        BlockKind::SulfurWall,
4735        BlockKind::PolishedSulfurWall,
4736        BlockKind::SulfurBrickWall,
4737        BlockKind::CinnabarWall,
4738        BlockKind::PolishedCinnabarWall,
4739        BlockKind::CinnabarBrickWall,
4740        BlockKind::CobbledDeepslateWall,
4741        BlockKind::PolishedDeepslateWall,
4742        BlockKind::DeepslateTileWall,
4743        BlockKind::DeepslateBrickWall,
4744    ])
4745});
4746pub static WARPED_STEMS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4747    RegistryTag::new(vec![
4748        BlockKind::WarpedStem,
4749        BlockKind::StrippedWarpedStem,
4750        BlockKind::WarpedHyphae,
4751        BlockKind::StrippedWarpedHyphae,
4752    ])
4753});
4754pub static WART_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4755    RegistryTag::new(vec![BlockKind::NetherWartBlock, BlockKind::WarpedWartBlock])
4756});
4757pub static WITHER_IMMUNE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4758    RegistryTag::new(vec![
4759        BlockKind::Bedrock,
4760        BlockKind::MovingPiston,
4761        BlockKind::EndPortal,
4762        BlockKind::EndPortalFrame,
4763        BlockKind::CommandBlock,
4764        BlockKind::Barrier,
4765        BlockKind::Light,
4766        BlockKind::EndGateway,
4767        BlockKind::RepeatingCommandBlock,
4768        BlockKind::ChainCommandBlock,
4769        BlockKind::StructureBlock,
4770        BlockKind::Jigsaw,
4771        BlockKind::TestBlock,
4772        BlockKind::TestInstanceBlock,
4773        BlockKind::ReinforcedDeepslate,
4774    ])
4775});
4776pub static WITHER_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
4777    LazyLock::new(|| RegistryTag::new(vec![BlockKind::WitherRose]));
4778pub static WITHER_SKELETON_IMMUNE_TO: LazyLock<RegistryTag<BlockKind>> =
4779    LazyLock::new(|| RegistryTag::new(vec![BlockKind::WitherRose]));
4780pub static WITHER_SUMMON_BASE_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
4781    LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
4782pub static WOLVES_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4783    RegistryTag::new(vec![
4784        BlockKind::GrassBlock,
4785        BlockKind::CoarseDirt,
4786        BlockKind::Podzol,
4787        BlockKind::Snow,
4788        BlockKind::SnowBlock,
4789    ])
4790});
4791pub static WOODEN_BUTTONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4792    RegistryTag::new(vec![
4793        BlockKind::OakButton,
4794        BlockKind::SpruceButton,
4795        BlockKind::BirchButton,
4796        BlockKind::JungleButton,
4797        BlockKind::AcaciaButton,
4798        BlockKind::CherryButton,
4799        BlockKind::DarkOakButton,
4800        BlockKind::PaleOakButton,
4801        BlockKind::MangroveButton,
4802        BlockKind::BambooButton,
4803        BlockKind::CrimsonButton,
4804        BlockKind::WarpedButton,
4805    ])
4806});
4807pub static WOODEN_DOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4808    RegistryTag::new(vec![
4809        BlockKind::OakDoor,
4810        BlockKind::SpruceDoor,
4811        BlockKind::BirchDoor,
4812        BlockKind::JungleDoor,
4813        BlockKind::AcaciaDoor,
4814        BlockKind::CherryDoor,
4815        BlockKind::DarkOakDoor,
4816        BlockKind::PaleOakDoor,
4817        BlockKind::MangroveDoor,
4818        BlockKind::BambooDoor,
4819        BlockKind::CrimsonDoor,
4820        BlockKind::WarpedDoor,
4821    ])
4822});
4823pub static WOODEN_FENCES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4824    RegistryTag::new(vec![
4825        BlockKind::OakFence,
4826        BlockKind::SpruceFence,
4827        BlockKind::BirchFence,
4828        BlockKind::JungleFence,
4829        BlockKind::AcaciaFence,
4830        BlockKind::CherryFence,
4831        BlockKind::DarkOakFence,
4832        BlockKind::PaleOakFence,
4833        BlockKind::MangroveFence,
4834        BlockKind::BambooFence,
4835        BlockKind::CrimsonFence,
4836        BlockKind::WarpedFence,
4837    ])
4838});
4839pub static WOODEN_PRESSURE_PLATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4840    RegistryTag::new(vec![
4841        BlockKind::OakPressurePlate,
4842        BlockKind::SprucePressurePlate,
4843        BlockKind::BirchPressurePlate,
4844        BlockKind::JunglePressurePlate,
4845        BlockKind::AcaciaPressurePlate,
4846        BlockKind::CherryPressurePlate,
4847        BlockKind::DarkOakPressurePlate,
4848        BlockKind::PaleOakPressurePlate,
4849        BlockKind::MangrovePressurePlate,
4850        BlockKind::BambooPressurePlate,
4851        BlockKind::CrimsonPressurePlate,
4852        BlockKind::WarpedPressurePlate,
4853    ])
4854});
4855pub static WOODEN_SHELVES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4856    RegistryTag::new(vec![
4857        BlockKind::AcaciaShelf,
4858        BlockKind::BambooShelf,
4859        BlockKind::BirchShelf,
4860        BlockKind::CherryShelf,
4861        BlockKind::CrimsonShelf,
4862        BlockKind::DarkOakShelf,
4863        BlockKind::JungleShelf,
4864        BlockKind::MangroveShelf,
4865        BlockKind::OakShelf,
4866        BlockKind::PaleOakShelf,
4867        BlockKind::SpruceShelf,
4868        BlockKind::WarpedShelf,
4869    ])
4870});
4871pub static WOODEN_SLABS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4872    RegistryTag::new(vec![
4873        BlockKind::OakSlab,
4874        BlockKind::SpruceSlab,
4875        BlockKind::BirchSlab,
4876        BlockKind::JungleSlab,
4877        BlockKind::AcaciaSlab,
4878        BlockKind::CherrySlab,
4879        BlockKind::DarkOakSlab,
4880        BlockKind::PaleOakSlab,
4881        BlockKind::MangroveSlab,
4882        BlockKind::BambooSlab,
4883        BlockKind::CrimsonSlab,
4884        BlockKind::WarpedSlab,
4885    ])
4886});
4887pub static WOODEN_STAIRS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4888    RegistryTag::new(vec![
4889        BlockKind::OakStairs,
4890        BlockKind::SpruceStairs,
4891        BlockKind::BirchStairs,
4892        BlockKind::JungleStairs,
4893        BlockKind::AcaciaStairs,
4894        BlockKind::CherryStairs,
4895        BlockKind::DarkOakStairs,
4896        BlockKind::PaleOakStairs,
4897        BlockKind::MangroveStairs,
4898        BlockKind::BambooStairs,
4899        BlockKind::CrimsonStairs,
4900        BlockKind::WarpedStairs,
4901    ])
4902});
4903pub static WOODEN_TRAPDOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4904    RegistryTag::new(vec![
4905        BlockKind::OakTrapdoor,
4906        BlockKind::SpruceTrapdoor,
4907        BlockKind::BirchTrapdoor,
4908        BlockKind::JungleTrapdoor,
4909        BlockKind::AcaciaTrapdoor,
4910        BlockKind::CherryTrapdoor,
4911        BlockKind::DarkOakTrapdoor,
4912        BlockKind::PaleOakTrapdoor,
4913        BlockKind::MangroveTrapdoor,
4914        BlockKind::BambooTrapdoor,
4915        BlockKind::CrimsonTrapdoor,
4916        BlockKind::WarpedTrapdoor,
4917    ])
4918});
4919pub static WOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4920    RegistryTag::new(vec![
4921        BlockKind::WhiteWool,
4922        BlockKind::OrangeWool,
4923        BlockKind::MagentaWool,
4924        BlockKind::LightBlueWool,
4925        BlockKind::YellowWool,
4926        BlockKind::LimeWool,
4927        BlockKind::PinkWool,
4928        BlockKind::GrayWool,
4929        BlockKind::LightGrayWool,
4930        BlockKind::CyanWool,
4931        BlockKind::PurpleWool,
4932        BlockKind::BlueWool,
4933        BlockKind::BrownWool,
4934        BlockKind::GreenWool,
4935        BlockKind::RedWool,
4936        BlockKind::BlackWool,
4937    ])
4938});
4939pub static WOOL_CARPETS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
4940    RegistryTag::new(vec![
4941        BlockKind::WhiteCarpet,
4942        BlockKind::OrangeCarpet,
4943        BlockKind::MagentaCarpet,
4944        BlockKind::LightBlueCarpet,
4945        BlockKind::YellowCarpet,
4946        BlockKind::LimeCarpet,
4947        BlockKind::PinkCarpet,
4948        BlockKind::GrayCarpet,
4949        BlockKind::LightGrayCarpet,
4950        BlockKind::CyanCarpet,
4951        BlockKind::PurpleCarpet,
4952        BlockKind::BlueCarpet,
4953        BlockKind::BrownCarpet,
4954        BlockKind::GreenCarpet,
4955        BlockKind::RedCarpet,
4956        BlockKind::BlackCarpet,
4957    ])
4958});