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