aboutsummaryrefslogtreecommitdiff
path: root/azalea-registry/src
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2024-04-23 10:34:50 -0500
committerGitHub <noreply@github.com>2024-04-23 10:34:50 -0500
commit1d80f531b74bc3b31023753acb81b35efcdadd73 (patch)
tree675635c7c41fbb456e3e0dd7b9f09c7211d356f0 /azalea-registry/src
parent0ddad8bd9c7c0e8846aec8bc90c95416418c9a63 (diff)
downloadazalea-drasl-1d80f531b74bc3b31023753acb81b35efcdadd73.tar.xz
1.20.5 (#127)
* 23w51b * make recalculate_near_end_of_path public so other plugins can do .after(recalculate_near_end_of_path) * update to 24w03a i think * start implementing 24w13a * registries work (but a lot of packets are still broken) * fix recipes and commands packets * i love codecs :D i am not going insane :D mojang's java is very readable :D * item components are "implemented" meowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeow * update to 1.20.5-pre3 * fix all the broken packets and clippy (mojang please don't do an update like this again or i will murder someone) * 1.20.5-rc1 * fix failing tests * 1.20.5
Diffstat (limited to 'azalea-registry/src')
-rw-r--r--azalea-registry/src/extra.rs74
-rwxr-xr-xazalea-registry/src/lib.rs385
-rw-r--r--azalea-registry/src/tags/blocks.rs4086
-rw-r--r--azalea-registry/src/tags/fluids.rs4
-rw-r--r--azalea-registry/src/tags/items.rs2384
5 files changed, 4047 insertions, 2886 deletions
diff --git a/azalea-registry/src/extra.rs b/azalea-registry/src/extra.rs
new file mode 100644
index 00000000..6be981c1
--- /dev/null
+++ b/azalea-registry/src/extra.rs
@@ -0,0 +1,74 @@
+//! These registries are sent by the server during the configuration state so
+//! you should be relying on those if possible, but these are provided for your
+//! convenience anyways.
+
+use crate::Registry;
+use azalea_registry_macros::registry;
+
+registry! {
+enum WolfVariant {
+ Pale => "minecraft:wolf",
+ Spotted => "minecraft:wolf_spotted",
+ Snowy => "minecraft:wolf_snowy",
+ Black => "minecraft:wolf_black",
+ Ashen => "minecraft:wolf_ashen",
+ Rusty => "minecraft:wolf_rusty",
+ Woods => "minecraft:wolf_woods",
+ Chestnut => "minecraft:wolf_chestnut",
+ Striped => "minecraft:wolf_striped",
+}
+}
+
+#[allow(clippy::derivable_impls)]
+impl Default for WolfVariant {
+ fn default() -> Self {
+ WolfVariant::Pale
+ }
+}
+
+registry! {
+enum DimensionType {
+ Overworld => "minecraft:overworld",
+ Nether => "minecraft:the_nether",
+ End => "minecraft:the_end",
+ OverworldCaves => "minecraft:overworld_caves",
+}
+}
+
+registry! {
+enum TrimMaterial {
+ Quartz => "minecraft:quartz",
+ Iron => "minecraft:iron",
+ Netherite => "minecraft:netherite",
+ Redstone => "minecraft:redstone",
+ Copper => "minecraft:copper",
+ Gold => "minecraft:gold",
+ Emerald => "minecraft:emerald",
+ Diamond => "minecraft:diamond",
+ Lapis => "minecraft:lapis",
+ Amethyst => "minecraft:amethyst",
+}
+}
+
+registry! {
+enum TrimPattern {
+ Sentry => "sentry",
+ Dune => "dune",
+ Coast => "coast",
+ Wild => "wild",
+ Ward => "ward",
+ Eye => "eye",
+ Vex => "vex",
+ Tide => "tide",
+ Snout => "snout",
+ Rib => "rib",
+ Spire => "spire",
+ Wayfinder => "wayfinder",
+ Shaper => "shaper",
+ Silence => "silence",
+ Raiser => "raiser",
+ Host => "host",
+ Flow => "flow",
+ Bolt => "bolt",
+}
+}
diff --git a/azalea-registry/src/lib.rs b/azalea-registry/src/lib.rs
index 448dd334..63ebdc61 100755
--- a/azalea-registry/src/lib.rs
+++ b/azalea-registry/src/lib.rs
@@ -5,6 +5,7 @@
// auto-generated (so you can add doc comments to the registry enums if you
// want)
+mod extra;
pub mod tags;
use std::io::{Cursor, Write};
@@ -12,7 +13,9 @@ use std::io::{Cursor, Write};
use azalea_buf::{BufReadError, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable};
use azalea_registry_macros::registry;
-pub trait Registry
+pub use extra::*;
+
+pub trait Registry: McBufReadable + McBufWritable
where
Self: Sized,
{
@@ -77,6 +80,58 @@ impl<D: Registry, C: McBufReadable + McBufWritable> McBufWritable for CustomRegi
}
}
+#[derive(Clone, PartialEq)]
+pub enum HolderSet<D: Registry, ResourceLocation: McBufReadable + McBufWritable> {
+ Direct {
+ contents: Vec<D>,
+ },
+ Named {
+ key: ResourceLocation,
+ contents: Vec<ResourceLocation>,
+ },
+}
+
+impl<D: Registry, ResourceLocation: McBufReadable + McBufWritable> McBufReadable
+ for HolderSet<D, ResourceLocation>
+{
+ fn read_from(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> {
+ let size = i32::var_read_from(buf)? - 1;
+ if size == -1 {
+ let key = ResourceLocation::read_from(buf)?;
+ Ok(Self::Named {
+ key,
+ contents: Vec::new(),
+ })
+ } else {
+ let mut contents = Vec::new();
+ for _ in 0..size {
+ contents.push(D::read_from(buf)?);
+ }
+ Ok(Self::Direct { contents })
+ }
+ }
+}
+
+impl<D: Registry, ResourceLocation: McBufReadable + McBufWritable> McBufWritable
+ for HolderSet<D, ResourceLocation>
+{
+ fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
+ match self {
+ Self::Direct { contents } => {
+ (contents.len() as i32 + 1).var_write_into(buf)?;
+ for item in contents {
+ item.write_into(buf)?;
+ }
+ }
+ Self::Named { key, .. } => {
+ 0i32.var_write_into(buf)?;
+ key.write_into(buf)?;
+ }
+ }
+ Ok(())
+ }
+}
+
registry! {
/// The AI code that's currently being executed for the entity.
enum Activity {
@@ -116,15 +171,23 @@ enum Attribute {
GenericAttackDamage => "minecraft:generic.attack_damage",
GenericAttackKnockback => "minecraft:generic.attack_knockback",
GenericAttackSpeed => "minecraft:generic.attack_speed",
+ PlayerBlockBreakSpeed => "minecraft:player.block_break_speed",
+ PlayerBlockInteractionRange => "minecraft:player.block_interaction_range",
+ PlayerEntityInteractionRange => "minecraft:player.entity_interaction_range",
+ GenericFallDamageMultiplier => "minecraft:generic.fall_damage_multiplier",
GenericFlyingSpeed => "minecraft:generic.flying_speed",
GenericFollowRange => "minecraft:generic.follow_range",
- HorseJumpStrength => "minecraft:horse.jump_strength",
+ GenericGravity => "minecraft:generic.gravity",
+ GenericJumpStrength => "minecraft:generic.jump_strength",
GenericKnockbackResistance => "minecraft:generic.knockback_resistance",
GenericLuck => "minecraft:generic.luck",
GenericMaxAbsorption => "minecraft:generic.max_absorption",
GenericMaxHealth => "minecraft:generic.max_health",
GenericMovementSpeed => "minecraft:generic.movement_speed",
+ GenericSafeFallDistance => "minecraft:generic.safe_fall_distance",
+ GenericScale => "minecraft:generic.scale",
ZombieSpawnReinforcements => "minecraft:zombie.spawn_reinforcements",
+ GenericStepHeight => "minecraft:generic.step_height",
}
}
@@ -1239,6 +1302,8 @@ enum Block {
DecoratedPot => "minecraft:decorated_pot",
Crafter => "minecraft:crafter",
TrialSpawner => "minecraft:trial_spawner",
+ Vault => "minecraft:vault",
+ HeavyCore => "minecraft:heavy_core",
}
}
@@ -1290,6 +1355,7 @@ enum BlockEntityKind {
DecoratedPot => "minecraft:decorated_pot",
Crafter => "minecraft:crafter",
TrialSpawner => "minecraft:trial_spawner",
+ Vault => "minecraft:vault",
}
}
@@ -1379,6 +1445,7 @@ enum CommandArgumentKind {
Swizzle => "minecraft:swizzle",
Team => "minecraft:team",
ItemSlot => "minecraft:item_slot",
+ ItemSlots => "minecraft:item_slots",
ResourceLocation => "minecraft:resource_location",
Function => "minecraft:function",
EntityAnchor => "minecraft:entity_anchor",
@@ -1394,6 +1461,9 @@ enum CommandArgumentKind {
TemplateMirror => "minecraft:template_mirror",
TemplateRotation => "minecraft:template_rotation",
Heightmap => "minecraft:heightmap",
+ LootTable => "minecraft:loot_table",
+ LootPredicate => "minecraft:loot_predicate",
+ LootModifier => "minecraft:loot_modifier",
Uuid => "minecraft:uuid",
}
}
@@ -1499,7 +1569,7 @@ enum Enchantment {
Knockback => "minecraft:knockback",
FireAspect => "minecraft:fire_aspect",
Looting => "minecraft:looting",
- Sweeping => "minecraft:sweeping",
+ SweepingEdge => "minecraft:sweeping_edge",
Efficiency => "minecraft:efficiency",
SilkTouch => "minecraft:silk_touch",
Unbreaking => "minecraft:unbreaking",
@@ -1517,6 +1587,9 @@ enum Enchantment {
Multishot => "minecraft:multishot",
QuickCharge => "minecraft:quick_charge",
Piercing => "minecraft:piercing",
+ Density => "minecraft:density",
+ Breach => "minecraft:breach",
+ WindBurst => "minecraft:wind_burst",
Mending => "minecraft:mending",
VanishingCurse => "minecraft:vanishing_curse",
}
@@ -1527,6 +1600,7 @@ registry! {
enum EntityKind {
Allay => "minecraft:allay",
AreaEffectCloud => "minecraft:area_effect_cloud",
+ Armadillo => "minecraft:armadillo",
ArmorStand => "minecraft:armor_stand",
Arrow => "minecraft:arrow",
Axolotl => "minecraft:axolotl",
@@ -1535,7 +1609,9 @@ enum EntityKind {
Blaze => "minecraft:blaze",
BlockDisplay => "minecraft:block_display",
Boat => "minecraft:boat",
+ Bogged => "minecraft:bogged",
Breeze => "minecraft:breeze",
+ BreezeWindCharge => "minecraft:breeze_wind_charge",
Camel => "minecraft:camel",
Cat => "minecraft:cat",
CaveSpider => "minecraft:cave_spider",
@@ -1583,6 +1659,7 @@ enum EntityKind {
Item => "minecraft:item",
ItemDisplay => "minecraft:item_display",
ItemFrame => "minecraft:item_frame",
+ OminousItemSpawner => "minecraft:ominous_item_spawner",
Fireball => "minecraft:fireball",
LeashKnot => "minecraft:leash_knot",
LightningBolt => "minecraft:lightning_bolt",
@@ -1868,6 +1945,7 @@ enum Item {
RawIronBlock => "minecraft:raw_iron_block",
RawCopperBlock => "minecraft:raw_copper_block",
RawGoldBlock => "minecraft:raw_gold_block",
+ HeavyCore => "minecraft:heavy_core",
AmethystBlock => "minecraft:amethyst_block",
BuddingAmethyst => "minecraft:budding_amethyst",
IronBlock => "minecraft:iron_block",
@@ -2577,7 +2655,9 @@ enum Item {
StructureBlock => "minecraft:structure_block",
Jigsaw => "minecraft:jigsaw",
TurtleHelmet => "minecraft:turtle_helmet",
- Scute => "minecraft:scute",
+ TurtleScute => "minecraft:turtle_scute",
+ ArmadilloScute => "minecraft:armadillo_scute",
+ WolfArmor => "minecraft:wolf_armor",
FlintAndSteel => "minecraft:flint_and_steel",
Apple => "minecraft:apple",
Bow => "minecraft:bow",
@@ -2788,11 +2868,13 @@ enum Item {
Cauldron => "minecraft:cauldron",
EnderEye => "minecraft:ender_eye",
GlisteringMelonSlice => "minecraft:glistering_melon_slice",
+ ArmadilloSpawnEgg => "minecraft:armadillo_spawn_egg",
AllaySpawnEgg => "minecraft:allay_spawn_egg",
AxolotlSpawnEgg => "minecraft:axolotl_spawn_egg",
BatSpawnEgg => "minecraft:bat_spawn_egg",
BeeSpawnEgg => "minecraft:bee_spawn_egg",
BlazeSpawnEgg => "minecraft:blaze_spawn_egg",
+ BoggedSpawnEgg => "minecraft:bogged_spawn_egg",
BreezeSpawnEgg => "minecraft:breeze_spawn_egg",
CatSpawnEgg => "minecraft:cat_spawn_egg",
CamelSpawnEgg => "minecraft:camel_spawn_egg",
@@ -2868,8 +2950,10 @@ enum Item {
ZombifiedPiglinSpawnEgg => "minecraft:zombified_piglin_spawn_egg",
ExperienceBottle => "minecraft:experience_bottle",
FireCharge => "minecraft:fire_charge",
+ WindCharge => "minecraft:wind_charge",
WritableBook => "minecraft:writable_book",
WrittenBook => "minecraft:written_book",
+ Mace => "minecraft:mace",
ItemFrame => "minecraft:item_frame",
GlowItemFrame => "minecraft:glow_item_frame",
FlowerPot => "minecraft:flower_pot",
@@ -2974,6 +3058,8 @@ enum Item {
MojangBannerPattern => "minecraft:mojang_banner_pattern",
GlobeBannerPattern => "minecraft:globe_banner_pattern",
PiglinBannerPattern => "minecraft:piglin_banner_pattern",
+ FlowBannerPattern => "minecraft:flow_banner_pattern",
+ GusterBannerPattern => "minecraft:guster_banner_pattern",
GoatHorn => "minecraft:goat_horn",
Composter => "minecraft:composter",
Barrel => "minecraft:barrel",
@@ -3057,6 +3143,8 @@ enum Item {
SilenceArmorTrimSmithingTemplate => "minecraft:silence_armor_trim_smithing_template",
RaiserArmorTrimSmithingTemplate => "minecraft:raiser_armor_trim_smithing_template",
HostArmorTrimSmithingTemplate => "minecraft:host_armor_trim_smithing_template",
+ FlowArmorTrimSmithingTemplate => "minecraft:flow_armor_trim_smithing_template",
+ BoltArmorTrimSmithingTemplate => "minecraft:bolt_armor_trim_smithing_template",
AnglerPotterySherd => "minecraft:angler_pottery_sherd",
ArcherPotterySherd => "minecraft:archer_pottery_sherd",
ArmsUpPotterySherd => "minecraft:arms_up_pottery_sherd",
@@ -3065,7 +3153,9 @@ enum Item {
BurnPotterySherd => "minecraft:burn_pottery_sherd",
DangerPotterySherd => "minecraft:danger_pottery_sherd",
ExplorerPotterySherd => "minecraft:explorer_pottery_sherd",
+ FlowPotterySherd => "minecraft:flow_pottery_sherd",
FriendPotterySherd => "minecraft:friend_pottery_sherd",
+ GusterPotterySherd => "minecraft:guster_pottery_sherd",
HeartPotterySherd => "minecraft:heart_pottery_sherd",
HeartbreakPotterySherd => "minecraft:heartbreak_pottery_sherd",
HowlPotterySherd => "minecraft:howl_pottery_sherd",
@@ -3073,6 +3163,7 @@ enum Item {
MournerPotterySherd => "minecraft:mourner_pottery_sherd",
PlentyPotterySherd => "minecraft:plenty_pottery_sherd",
PrizePotterySherd => "minecraft:prize_pottery_sherd",
+ ScrapePotterySherd => "minecraft:scrape_pottery_sherd",
SheafPotterySherd => "minecraft:sheaf_pottery_sherd",
ShelterPotterySherd => "minecraft:shelter_pottery_sherd",
SkullPotterySherd => "minecraft:skull_pottery_sherd",
@@ -3095,6 +3186,10 @@ enum Item {
WaxedOxidizedCopperBulb => "minecraft:waxed_oxidized_copper_bulb",
TrialSpawner => "minecraft:trial_spawner",
TrialKey => "minecraft:trial_key",
+ OminousTrialKey => "minecraft:ominous_trial_key",
+ Vault => "minecraft:vault",
+ OminousBottle => "minecraft:ominous_bottle",
+ BreezeRod => "minecraft:breeze_rod",
}
}
@@ -3124,10 +3219,12 @@ enum LootConditionKind {
registry! {
enum LootFunctionKind {
SetCount => "minecraft:set_count",
+ SetItem => "minecraft:set_item",
EnchantWithLevels => "minecraft:enchant_with_levels",
EnchantRandomly => "minecraft:enchant_randomly",
SetEnchantments => "minecraft:set_enchantments",
- SetNbt => "minecraft:set_nbt",
+ SetCustomData => "minecraft:set_custom_data",
+ SetComponents => "minecraft:set_components",
FurnaceSmelt => "minecraft:furnace_smelt",
LootingEnchant => "minecraft:looting_enchant",
SetDamage => "minecraft:set_damage",
@@ -3137,19 +3234,30 @@ enum LootFunctionKind {
SetStewEffect => "minecraft:set_stew_effect",
CopyName => "minecraft:copy_name",
SetContents => "minecraft:set_contents",
+ ModifyContents => "minecraft:modify_contents",
+ Filtered => "minecraft:filtered",
LimitCount => "minecraft:limit_count",
ApplyBonus => "minecraft:apply_bonus",
SetLootTable => "minecraft:set_loot_table",
ExplosionDecay => "minecraft:explosion_decay",
SetLore => "minecraft:set_lore",
FillPlayerHead => "minecraft:fill_player_head",
- CopyNbt => "minecraft:copy_nbt",
+ CopyCustomData => "minecraft:copy_custom_data",
CopyState => "minecraft:copy_state",
SetBannerPattern => "minecraft:set_banner_pattern",
SetPotion => "minecraft:set_potion",
SetInstrument => "minecraft:set_instrument",
Reference => "minecraft:reference",
Sequence => "minecraft:sequence",
+ CopyComponents => "minecraft:copy_components",
+ SetFireworks => "minecraft:set_fireworks",
+ SetFireworkExplosion => "minecraft:set_firework_explosion",
+ SetBookCover => "minecraft:set_book_cover",
+ SetWrittenBookPages => "minecraft:set_written_book_pages",
+ SetWritableBookPages => "minecraft:set_writable_book_pages",
+ ToggleTooltips => "minecraft:toggle_tooltips",
+ SetOminousBottleAmplifier => "minecraft:set_ominous_bottle_amplifier",
+ SetCustomModelData => "minecraft:set_custom_model_data",
}
}
@@ -3166,6 +3274,7 @@ enum LootNumberProviderKind {
Uniform => "minecraft:uniform",
Binomial => "minecraft:binomial",
Score => "minecraft:score",
+ Storage => "minecraft:storage",
}
}
@@ -3223,6 +3332,7 @@ enum MemoryModuleKind {
HeardBellTime => "minecraft:heard_bell_time",
CantReachWalkTargetSince => "minecraft:cant_reach_walk_target_since",
GolemDetectedRecently => "minecraft:golem_detected_recently",
+ DangerDetectedRecently => "minecraft:danger_detected_recently",
LastSlept => "minecraft:last_slept",
LastWoken => "minecraft:last_woken",
LastWorkedAtPoi => "minecraft:last_worked_at_poi",
@@ -3295,6 +3405,7 @@ enum MemoryModuleKind {
BreezeShootCooldown => "minecraft:breeze_shoot_cooldown",
BreezeJumpInhaling => "minecraft:breeze_jump_inhaling",
BreezeJumpTarget => "minecraft:breeze_jump_target",
+ BreezeLeavingWater => "minecraft:breeze_leaving_water",
}
}
@@ -3362,6 +3473,12 @@ enum MobEffect {
BadOmen => "minecraft:bad_omen",
HeroOfTheVillage => "minecraft:hero_of_the_village",
Darkness => "minecraft:darkness",
+ TrialOmen => "minecraft:trial_omen",
+ RaidOmen => "minecraft:raid_omen",
+ WindCharged => "minecraft:wind_charged",
+ Weaving => "minecraft:weaving",
+ Oozing => "minecraft:oozing",
+ Infested => "minecraft:infested",
}
}
@@ -3402,7 +3519,6 @@ enum PaintingVariant {
registry! {
enum ParticleKind {
- AmbientEntityEffect => "minecraft:ambient_entity_effect",
AngryVillager => "minecraft:angry_villager",
Block => "minecraft:block",
BlockMarker => "minecraft:block_marker",
@@ -3427,12 +3543,15 @@ enum ParticleKind {
ExplosionEmitter => "minecraft:explosion_emitter",
Explosion => "minecraft:explosion",
Gust => "minecraft:gust",
- GustEmitter => "minecraft:gust_emitter",
+ SmallGust => "minecraft:small_gust",
+ GustEmitterLarge => "minecraft:gust_emitter_large",
+ GustEmitterSmall => "minecraft:gust_emitter_small",
SonicBoom => "minecraft:sonic_boom",
FallingDust => "minecraft:falling_dust",
Firework => "minecraft:firework",
Fishing => "minecraft:fishing",
Flame => "minecraft:flame",
+ Infested => "minecraft:infested",
CherryLeaves => "minecraft:cherry_leaves",
SculkSoul => "minecraft:sculk_soul",
SculkCharge => "minecraft:sculk_charge",
@@ -3447,6 +3566,7 @@ enum ParticleKind {
Item => "minecraft:item",
Vibration => "minecraft:vibration",
ItemSlime => "minecraft:item_slime",
+ ItemCobweb => "minecraft:item_cobweb",
ItemSnowball => "minecraft:item_snowball",
LargeSmoke => "minecraft:large_smoke",
Lava => "minecraft:lava",
@@ -3501,8 +3621,13 @@ enum ParticleKind {
Shriek => "minecraft:shriek",
EggCrack => "minecraft:egg_crack",
DustPlume => "minecraft:dust_plume",
- GustDust => "minecraft:gust_dust",
TrialSpawnerDetection => "minecraft:trial_spawner_detection",
+ TrialSpawnerDetectionOminous => "minecraft:trial_spawner_detection_ominous",
+ VaultConnection => "minecraft:vault_connection",
+ DustPillar => "minecraft:dust_pillar",
+ OminousSpawning => "minecraft:ominous_spawning",
+ RaidOmen => "minecraft:raid_omen",
+ TrialOmen => "minecraft:trial_omen",
}
}
@@ -3548,7 +3673,6 @@ enum PositionSourceKind {
registry! {
enum Potion {
- Empty => "minecraft:empty",
Water => "minecraft:water",
Mundane => "minecraft:mundane",
Thick => "minecraft:thick",
@@ -3591,6 +3715,10 @@ enum Potion {
Luck => "minecraft:luck",
SlowFalling => "minecraft:slow_falling",
LongSlowFalling => "minecraft:long_slow_falling",
+ WindCharged => "minecraft:wind_charged",
+ Weaving => "minecraft:weaving",
+ Oozing => "minecraft:oozing",
+ Infested => "minecraft:infested",
}
}
@@ -3666,6 +3794,7 @@ enum SensorKind {
VillagerBabies => "minecraft:villager_babies",
SecondaryPois => "minecraft:secondary_pois",
GolemDetected => "minecraft:golem_detected",
+ ArmadilloScareDetected => "minecraft:armadillo_scare_detected",
PiglinSpecificSensor => "minecraft:piglin_specific_sensor",
PiglinBruteSpecificSensor => "minecraft:piglin_brute_specific_sensor",
HoglinSpecificSensor => "minecraft:hoglin_specific_sensor",
@@ -3675,6 +3804,7 @@ enum SensorKind {
GoatTemptations => "minecraft:goat_temptations",
FrogTemptations => "minecraft:frog_temptations",
CamelTemptations => "minecraft:camel_temptations",
+ ArmadilloTemptations => "minecraft:armadillo_temptations",
FrogAttackables => "minecraft:frog_attackables",
IsInWater => "minecraft:is_in_water",
WardenEntitySensor => "minecraft:warden_entity_sensor",
@@ -3739,6 +3869,19 @@ enum SoundEvent {
BlockAnvilPlace => "minecraft:block.anvil.place",
BlockAnvilStep => "minecraft:block.anvil.step",
BlockAnvilUse => "minecraft:block.anvil.use",
+ EntityArmadilloEat => "minecraft:entity.armadillo.eat",
+ EntityArmadilloHurt => "minecraft:entity.armadillo.hurt",
+ EntityArmadilloHurtReduced => "minecraft:entity.armadillo.hurt_reduced",
+ EntityArmadilloAmbient => "minecraft:entity.armadillo.ambient",
+ EntityArmadilloStep => "minecraft:entity.armadillo.step",
+ EntityArmadilloDeath => "minecraft:entity.armadillo.death",
+ EntityArmadilloRoll => "minecraft:entity.armadillo.roll",
+ EntityArmadilloLand => "minecraft:entity.armadillo.land",
+ EntityArmadilloScuteDrop => "minecraft:entity.armadillo.scute_drop",
+ EntityArmadilloUnrollFinish => "minecraft:entity.armadillo.unroll_finish",
+ EntityArmadilloPeek => "minecraft:entity.armadillo.peek",
+ EntityArmadilloUnrollStart => "minecraft:entity.armadillo.unroll_start",
+ EntityArmadilloBrush => "minecraft:entity.armadillo.brush",
ItemArmorEquipChain => "minecraft:item.armor.equip_chain",
ItemArmorEquipDiamond => "minecraft:item.armor.equip_diamond",
ItemArmorEquipElytra => "minecraft:item.armor.equip_elytra",
@@ -3748,6 +3891,8 @@ enum SoundEvent {
ItemArmorEquipLeather => "minecraft:item.armor.equip_leather",
ItemArmorEquipNetherite => "minecraft:item.armor.equip_netherite",
ItemArmorEquipTurtle => "minecraft:item.armor.equip_turtle",
+ ItemArmorEquipWolf => "minecraft:item.armor.equip_wolf",
+ ItemArmorUnequipWolf => "minecraft:item.armor.unequip_wolf",
EntityArmorStandBreak => "minecraft:entity.armor_stand.break",
EntityArmorStandFall => "minecraft:entity.armor_stand.fall",
EntityArmorStandHit => "minecraft:entity.armor_stand.hit",
@@ -3839,6 +3984,11 @@ enum SoundEvent {
EntityBlazeShoot => "minecraft:entity.blaze.shoot",
EntityBoatPaddleLand => "minecraft:entity.boat.paddle_land",
EntityBoatPaddleWater => "minecraft:entity.boat.paddle_water",
+ EntityBoggedAmbient => "minecraft:entity.bogged.ambient",
+ EntityBoggedDeath => "minecraft:entity.bogged.death",
+ EntityBoggedHurt => "minecraft:entity.bogged.hurt",
+ EntityBoggedShear => "minecraft:entity.bogged.shear",
+ EntityBoggedStep => "minecraft:entity.bogged.step",
BlockBoneBlockBreak => "minecraft:block.bone_block.break",
BlockBoneBlockFall => "minecraft:block.bone_block.fall",
BlockBoneBlockHit => "minecraft:block.bone_block.hit",
@@ -3851,6 +4001,8 @@ enum SoundEvent {
ItemBottleEmpty => "minecraft:item.bottle.empty",
ItemBottleFill => "minecraft:item.bottle.fill",
ItemBottleFillDragonbreath => "minecraft:item.bottle.fill_dragonbreath",
+ EntityBreezeCharge => "minecraft:entity.breeze.charge",
+ EntityBreezeDeflect => "minecraft:entity.breeze.deflect",
EntityBreezeInhale => "minecraft:entity.breeze.inhale",
EntityBreezeIdleGround => "minecraft:entity.breeze.idle_ground",
EntityBreezeIdleAir => "minecraft:entity.breeze.idle_air",
@@ -3860,6 +4012,8 @@ enum SoundEvent {
EntityBreezeSlide => "minecraft:entity.breeze.slide",
EntityBreezeDeath => "minecraft:entity.breeze.death",
EntityBreezeHurt => "minecraft:entity.breeze.hurt",
+ EntityBreezeWhirl => "minecraft:entity.breeze.whirl",
+ EntityBreezeWindBurst => "minecraft:entity.breeze.wind_burst",
BlockBrewingStandBrew => "minecraft:block.brewing_stand.brew",
ItemBrushBrushingGeneric => "minecraft:item.brush.brushing.generic",
ItemBrushBrushingSand => "minecraft:item.brush.brushing.sand",
@@ -3981,6 +4135,11 @@ enum SoundEvent {
BlockChorusFlowerDeath => "minecraft:block.chorus_flower.death",
BlockChorusFlowerGrow => "minecraft:block.chorus_flower.grow",
ItemChorusFruitTeleport => "minecraft:item.chorus_fruit.teleport",
+ BlockCobwebBreak => "minecraft:block.cobweb.break",
+ BlockCobwebStep => "minecraft:block.cobweb.step",
+ BlockCobwebPlace => "minecraft:block.cobweb.place",
+ BlockCobwebHit => "minecraft:block.cobweb.hit",
+ BlockCobwebFall => "minecraft:block.cobweb.fall",
EntityCodAmbient => "minecraft:entity.cod.ambient",
EntityCodDeath => "minecraft:entity.cod.death",
EntityCodFlop => "minecraft:entity.cod.flop",
@@ -4083,6 +4242,7 @@ enum SoundEvent {
EntityDonkeyDeath => "minecraft:entity.donkey.death",
EntityDonkeyEat => "minecraft:entity.donkey.eat",
EntityDonkeyHurt => "minecraft:entity.donkey.hurt",
+ EntityDonkeyJump => "minecraft:entity.donkey.jump",
BlockDripstoneBlockBreak => "minecraft:block.dripstone_block.break",
BlockDripstoneBlockStep => "minecraft:block.dripstone_block.step",
BlockDripstoneBlockPlace => "minecraft:block.dripstone_block.place",
@@ -4313,6 +4473,11 @@ enum SoundEvent {
BlockHangingSignFall => "minecraft:block.hanging_sign.fall",
BlockHangingSignHit => "minecraft:block.hanging_sign.hit",
BlockHangingSignPlace => "minecraft:block.hanging_sign.place",
+ BlockHeavyCoreBreak => "minecraft:block.heavy_core.break",
+ BlockHeavyCoreFall => "minecraft:block.heavy_core.fall",
+ BlockHeavyCoreHit => "minecraft:block.heavy_core.hit",
+ BlockHeavyCorePlace => "minecraft:block.heavy_core.place",
+ BlockHeavyCoreStep => "minecraft:block.heavy_core.step",
BlockNetherWoodHangingSignStep => "minecraft:block.nether_wood_hanging_sign.step",
BlockNetherWoodHangingSignBreak => "minecraft:block.nether_wood_hanging_sign.break",
BlockNetherWoodHangingSignFall => "minecraft:block.nether_wood_hanging_sign.fall",
@@ -4329,8 +4494,13 @@ enum SoundEvent {
BlockTrialSpawnerHit => "minecraft:block.trial_spawner.hit",
BlockTrialSpawnerFall => "minecraft:block.trial_spawner.fall",
BlockTrialSpawnerSpawnMob => "minecraft:block.trial_spawner.spawn_mob",
+ BlockTrialSpawnerAboutToSpawnItem => "minecraft:block.trial_spawner.about_to_spawn_item",
+ BlockTrialSpawnerSpawnItem => "minecraft:block.trial_spawner.spawn_item",
+ BlockTrialSpawnerSpawnItemBegin => "minecraft:block.trial_spawner.spawn_item_begin",
BlockTrialSpawnerDetectPlayer => "minecraft:block.trial_spawner.detect_player",
+ BlockTrialSpawnerChargeActivate => "minecraft:block.trial_spawner.charge_activate",
BlockTrialSpawnerAmbient => "minecraft:block.trial_spawner.ambient",
+ BlockTrialSpawnerAmbientCharged => "minecraft:block.trial_spawner.ambient_charged",
BlockTrialSpawnerOpenShutter => "minecraft:block.trial_spawner.open_shutter",
BlockTrialSpawnerCloseShutter => "minecraft:block.trial_spawner.close_shutter",
BlockTrialSpawnerEjectItem => "minecraft:block.trial_spawner.eject_item",
@@ -4445,6 +4615,9 @@ enum SoundEvent {
BlockLodestoneHit => "minecraft:block.lodestone.hit",
BlockLodestoneFall => "minecraft:block.lodestone.fall",
ItemLodestoneCompassLock => "minecraft:item.lodestone_compass.lock",
+ ItemMaceSmashAir => "minecraft:item.mace.smash_air",
+ ItemMaceSmashGround => "minecraft:item.mace.smash_ground",
+ ItemMaceSmashGroundHeavy => "minecraft:item.mace.smash_ground_heavy",
EntityMagmaCubeDeath => "minecraft:entity.magma_cube.death",
EntityMagmaCubeHurt => "minecraft:entity.magma_cube.hurt",
EntityMagmaCubeHurtSmall => "minecraft:entity.magma_cube.hurt_small",
@@ -4509,6 +4682,7 @@ enum SoundEvent {
EntityMuleDeath => "minecraft:entity.mule.death",
EntityMuleEat => "minecraft:entity.mule.eat",
EntityMuleHurt => "minecraft:entity.mule.hurt",
+ EntityMuleJump => "minecraft:entity.mule.jump",
MusicCreative => "minecraft:music.creative",
MusicCredits => "minecraft:music.credits",
MusicDisc5 => "minecraft:music_disc.5",
@@ -4649,6 +4823,7 @@ enum SoundEvent {
EntityOcelotHurt => "minecraft:entity.ocelot.hurt",
EntityOcelotAmbient => "minecraft:entity.ocelot.ambient",
EntityOcelotDeath => "minecraft:entity.ocelot.death",
+ ItemOminousBottleDispose => "minecraft:item.ominous_bottle.dispose",
EntityPaintingBreak => "minecraft:entity.painting.break",
EntityPaintingPlace => "minecraft:entity.painting.place",
EntityPandaPreSneeze => "minecraft:entity.panda.pre_sneeze",
@@ -4668,6 +4843,7 @@ enum SoundEvent {
EntityParrotFly => "minecraft:entity.parrot.fly",
EntityParrotHurt => "minecraft:entity.parrot.hurt",
EntityParrotImitateBlaze => "minecraft:entity.parrot.imitate.blaze",
+ EntityParrotImitateBogged => "minecraft:entity.parrot.imitate.bogged",
EntityParrotImitateBreeze => "minecraft:entity.parrot.imitate.breeze",
EntityParrotImitateCreeper => "minecraft:entity.parrot.imitate.creeper",
EntityParrotImitateDrowned => "minecraft:entity.parrot.imitate.drowned",
@@ -5072,6 +5248,19 @@ enum SoundEvent {
UiToastChallengeComplete => "minecraft:ui.toast.challenge_complete",
UiToastIn => "minecraft:ui.toast.in",
UiToastOut => "minecraft:ui.toast.out",
+ BlockVaultActivate => "minecraft:block.vault.activate",
+ BlockVaultAmbient => "minecraft:block.vault.ambient",
+ BlockVaultBreak => "minecraft:block.vault.break",
+ BlockVaultCloseShutter => "minecraft:block.vault.close_shutter",
+ BlockVaultDeactivate => "minecraft:block.vault.deactivate",
+ BlockVaultEjectItem => "minecraft:block.vault.eject_item",
+ BlockVaultFall => "minecraft:block.vault.fall",
+ BlockVaultHit => "minecraft:block.vault.hit",
+ BlockVaultInsertItem => "minecraft:block.vault.insert_item",
+ BlockVaultInsertItemFail => "minecraft:block.vault.insert_item_fail",
+ BlockVaultOpenShutter => "minecraft:block.vault.open_shutter",
+ BlockVaultPlace => "minecraft:block.vault.place",
+ BlockVaultStep => "minecraft:block.vault.step",
EntityVexAmbient => "minecraft:entity.vex.ambient",
EntityVexCharge => "minecraft:entity.vex.charge",
EntityVexDeath => "minecraft:entity.vex.death",
@@ -5147,11 +5336,13 @@ enum SoundEvent {
BlockWetGrassPlace => "minecraft:block.wet_grass.place",
BlockWetGrassStep => "minecraft:block.wet_grass.step",
BlockWetSpongeBreak => "minecraft:block.wet_sponge.break",
+ BlockWetSpongeDries => "minecraft:block.wet_sponge.dries",
BlockWetSpongeFall => "minecraft:block.wet_sponge.fall",
BlockWetSpongeHit => "minecraft:block.wet_sponge.hit",
BlockWetSpongePlace => "minecraft:block.wet_sponge.place",
BlockWetSpongeStep => "minecraft:block.wet_sponge.step",
- EntityGenericWindBurst => "minecraft:entity.generic.wind_burst",
+ EntityWindChargeWindBurst => "minecraft:entity.wind_charge.wind_burst",
+ EntityWindChargeThrow => "minecraft:entity.wind_charge.throw",
EntityWitchAmbient => "minecraft:entity.witch.ambient",
EntityWitchCelebrate => "minecraft:entity.witch.celebrate",
EntityWitchDeath => "minecraft:entity.witch.death",
@@ -5168,6 +5359,10 @@ enum SoundEvent {
EntityWitherSkeletonHurt => "minecraft:entity.wither_skeleton.hurt",
EntityWitherSkeletonStep => "minecraft:entity.wither_skeleton.step",
EntityWitherSpawn => "minecraft:entity.wither.spawn",
+ ItemWolfArmorBreak => "minecraft:item.wolf_armor.break",
+ ItemWolfArmorCrack => "minecraft:item.wolf_armor.crack",
+ ItemWolfArmorDamage => "minecraft:item.wolf_armor.damage",
+ ItemWolfArmorRepair => "minecraft:item.wolf_armor.repair",
EntityWolfAmbient => "minecraft:entity.wolf.ambient",
EntityWolfDeath => "minecraft:entity.wolf.death",
EntityWolfGrowl => "minecraft:entity.wolf.growl",
@@ -5224,6 +5419,9 @@ enum SoundEvent {
EntityZombieVillagerDeath => "minecraft:entity.zombie_villager.death",
EntityZombieVillagerHurt => "minecraft:entity.zombie_villager.hurt",
EntityZombieVillagerStep => "minecraft:entity.zombie_villager.step",
+ EventMobEffectBadOmen => "minecraft:event.mob_effect.bad_omen",
+ EventMobEffectTrialOmen => "minecraft:event.mob_effect.trial_omen",
+ EventMobEffectRaidOmen => "minecraft:event.mob_effect.raid_omen",
}
}
@@ -5638,7 +5836,9 @@ enum DecoratedPotPatterns {
BurnPotteryPattern => "minecraft:burn_pottery_pattern",
DangerPotteryPattern => "minecraft:danger_pottery_pattern",
ExplorerPotteryPattern => "minecraft:explorer_pottery_pattern",
+ FlowPotteryPattern => "minecraft:flow_pottery_pattern",
FriendPotteryPattern => "minecraft:friend_pottery_pattern",
+ GusterPotteryPattern => "minecraft:guster_pottery_pattern",
HeartPotteryPattern => "minecraft:heart_pottery_pattern",
HeartbreakPotteryPattern => "minecraft:heartbreak_pottery_pattern",
HowlPotteryPattern => "minecraft:howl_pottery_pattern",
@@ -5646,6 +5846,7 @@ enum DecoratedPotPatterns {
MournerPotteryPattern => "minecraft:mourner_pottery_pattern",
PlentyPotteryPattern => "minecraft:plenty_pottery_pattern",
PrizePotteryPattern => "minecraft:prize_pottery_pattern",
+ ScrapePotteryPattern => "minecraft:scrape_pottery_pattern",
SheafPotteryPattern => "minecraft:sheaf_pottery_pattern",
ShelterPotteryPattern => "minecraft:shelter_pottery_pattern",
SkullPotteryPattern => "minecraft:skull_pottery_pattern",
@@ -5813,6 +6014,7 @@ enum BlockKind {
HalfTransparent => "minecraft:half_transparent",
HangingRoots => "minecraft:hanging_roots",
Hay => "minecraft:hay",
+ HeavyCore => "minecraft:heavy_core",
Honey => "minecraft:honey",
Hopper => "minecraft:hopper",
HugeMushroom => "minecraft:huge_mushroom",
@@ -5928,6 +6130,7 @@ enum BlockKind {
TurtleEgg => "minecraft:turtle_egg",
TwistingVinesPlant => "minecraft:twisting_vines_plant",
TwistingVines => "minecraft:twisting_vines",
+ Vault => "minecraft:vault",
Vine => "minecraft:vine",
WallBanner => "minecraft:wall_banner",
WallHangingSign => "minecraft:wall_hanging_sign",
@@ -6005,6 +6208,8 @@ enum TriggerKind {
BeeNestDestroyed => "minecraft:bee_nest_destroyed",
TargetHit => "minecraft:target_hit",
ItemUsedOnBlock => "minecraft:item_used_on_block",
+ DefaultBlockUse => "minecraft:default_block_use",
+ AnyBlockUse => "minecraft:any_block_use",
PlayerGeneratesContainerLoot => "minecraft:player_generates_container_loot",
ThrownItemPickedUpByEntity => "minecraft:thrown_item_picked_up_by_entity",
ThrownItemPickedUpByPlayer => "minecraft:thrown_item_picked_up_by_player",
@@ -6018,6 +6223,8 @@ enum TriggerKind {
AllayDropItemOnBlock => "minecraft:allay_drop_item_on_block",
AvoidVibration => "minecraft:avoid_vibration",
RecipeCrafted => "minecraft:recipe_crafted",
+ CrafterRecipeCrafted => "minecraft:crafter_recipe_crafted",
+ FallAfterExplosion => "minecraft:fall_after_explosion",
}
}
@@ -6028,3 +6235,159 @@ enum NumberFormatKind {
Fixed => "minecraft:fixed",
}
}
+
+registry! {
+enum ArmorMaterial {
+ Leather => "minecraft:leather",
+ Chainmail => "minecraft:chainmail",
+ Iron => "minecraft:iron",
+ Gold => "minecraft:gold",
+ Diamond => "minecraft:diamond",
+ Turtle => "minecraft:turtle",
+ Netherite => "minecraft:netherite",
+ Armadillo => "minecraft:armadillo",
+}
+}
+
+registry! {
+enum DataComponentKind {
+ CustomData => "minecraft:custom_data",
+ MaxStackSize => "minecraft:max_stack_size",
+ MaxDamage => "minecraft:max_damage",
+ Damage => "minecraft:damage",
+ Unbreakable => "minecraft:unbreakable",
+ CustomName => "minecraft:custom_name",
+ ItemName => "minecraft:item_name",
+ Lore => "minecraft:lore",
+ Rarity => "minecraft:rarity",
+ Enchantments => "minecraft:enchantments",
+ CanPlaceOn => "minecraft:can_place_on",
+ CanBreak => "minecraft:can_break",
+ AttributeModifiers => "minecraft:attribute_modifiers",
+ CustomModelData => "minecraft:custom_model_data",
+ HideAdditionalTooltip => "minecraft:hide_additional_tooltip",
+ HideTooltip => "minecraft:hide_tooltip",
+ RepairCost => "minecraft:repair_cost",
+ CreativeSlotLock => "minecraft:creative_slot_lock",
+ EnchantmentGlintOverride => "minecraft:enchantment_glint_override",
+ IntangibleProjectile => "minecraft:intangible_projectile",
+ Food => "minecraft:food",
+ FireResistant => "minecraft:fire_resistant",
+ Tool => "minecraft:tool",
+ StoredEnchantments => "minecraft:stored_enchantments",
+ DyedColor => "minecraft:dyed_color",
+ MapColor => "minecraft:map_color",
+ MapId => "minecraft:map_id",
+ MapDecorations => "minecraft:map_decorations",
+ MapPostProcessing => "minecraft:map_post_processing",
+ ChargedProjectiles => "minecraft:charged_projectiles",
+ BundleContents => "minecraft:bundle_contents",
+ PotionContents => "minecraft:potion_contents",
+ SuspiciousStewEffects => "minecraft:suspicious_stew_effects",
+ WritableBookContent => "minecraft:writable_book_content",
+ WrittenBookContent => "minecraft:written_book_content",
+ Trim => "minecraft:trim",
+ DebugStickState => "minecraft:debug_stick_state",
+ EntityData => "minecraft:entity_data",
+ BucketEntityData => "minecraft:bucket_entity_data",
+ BlockEntityData => "minecraft:block_entity_data",
+ Instrument => "minecraft:instrument",
+ OminousBottleAmplifier => "minecraft:ominous_bottle_amplifier",
+ Recipes => "minecraft:recipes",
+ LodestoneTracker => "minecraft:lodestone_tracker",
+ FireworkExplosion => "minecraft:firework_explosion",
+ Fireworks => "minecraft:fireworks",
+ Profile => "minecraft:profile",
+ NoteBlockSound => "minecraft:note_block_sound",
+ BannerPatterns => "minecraft:banner_patterns",
+ BaseColor => "minecraft:base_color",
+ PotDecorations => "minecraft:pot_decorations",
+ Container => "minecraft:container",
+ BlockState => "minecraft:block_state",
+ Bees => "minecraft:bees",
+ Lock => "minecraft:lock",
+ ContainerLoot => "minecraft:container_loot",
+}
+}
+
+registry! {
+enum EntitySubPredicateKind {
+ Lightning => "minecraft:lightning",
+ FishingHook => "minecraft:fishing_hook",
+ Player => "minecraft:player",
+ Slime => "minecraft:slime",
+ Raider => "minecraft:raider",
+ Axolotl => "minecraft:axolotl",
+ Boat => "minecraft:boat",
+ Fox => "minecraft:fox",
+ Mooshroom => "minecraft:mooshroom",
+ Rabbit => "minecraft:rabbit",
+ Horse => "minecraft:horse",
+ Llama => "minecraft:llama",
+ Villager => "minecraft:villager",
+ Parrot => "minecraft:parrot",
+ TropicalFish => "minecraft:tropical_fish",
+ Painting => "minecraft:painting",
+ Cat => "minecraft:cat",
+ Frog => "minecraft:frog",
+ Wolf => "minecraft:wolf",
+}
+}
+
+registry! {
+enum ItemSubPredicateKind {
+ Damage => "minecraft:damage",
+ Enchantments => "minecraft:enchantments",
+ StoredEnchantments => "minecraft:stored_enchantments",
+ PotionContents => "minecraft:potion_contents",
+ CustomData => "minecraft:custom_data",
+ Container => "minecraft:container",
+ BundleContents => "minecraft:bundle_contents",
+ FireworkExplosion => "minecraft:firework_explosion",
+ Fireworks => "minecraft:fireworks",
+ WritableBookContent => "minecraft:writable_book_content",
+ WrittenBookContent => "minecraft:written_book_content",
+ AttributeModifiers => "minecraft:attribute_modifiers",
+ Trim => "minecraft:trim",
+}
+}
+
+registry! {
+enum MapDecorationKind {
+ Player => "minecraft:player",
+ Frame => "minecraft:frame",
+ RedMarker => "minecraft:red_marker",
+ BlueMarker => "minecraft:blue_marker",
+ TargetX => "minecraft:target_x",
+ TargetPoint => "minecraft:target_point",
+ PlayerOffMap => "minecraft:player_off_map",
+ PlayerOffLimits => "minecraft:player_off_limits",
+ Mansion => "minecraft:mansion",
+ Monument => "minecraft:monument",
+ BannerWhite => "minecraft:banner_white",
+ BannerOrange => "minecraft:banner_orange",
+ BannerMagenta => "minecraft:banner_magenta",
+ BannerLightBlue => "minecraft:banner_light_blue",
+ BannerYellow => "minecraft:banner_yellow",
+ BannerLime => "minecraft:banner_lime",
+ BannerPink => "minecraft:banner_pink",
+ BannerGray => "minecraft:banner_gray",
+ BannerLightGray => "minecraft:banner_light_gray",
+ BannerCyan => "minecraft:banner_cyan",
+ BannerPurple => "minecraft:banner_purple",
+ BannerBlue => "minecraft:banner_blue",
+ BannerBrown => "minecraft:banner_brown",
+ BannerGreen => "minecraft:banner_green",
+ BannerRed => "minecraft:banner_red",
+ BannerBlack => "minecraft:banner_black",
+ RedX => "minecraft:red_x",
+ VillageDesert => "minecraft:village_desert",
+ VillagePlains => "minecraft:village_plains",
+ VillageSavanna => "minecraft:village_savanna",
+ VillageSnowy => "minecraft:village_snowy",
+ VillageTaiga => "minecraft:village_taiga",
+ JungleTemple => "minecraft:jungle_temple",
+ SwampHut => "minecraft:swamp_hut",
+ TrialChambers => "minecraft:trial_chambers",
+}
+}
diff --git a/azalea-registry/src/tags/blocks.rs b/azalea-registry/src/tags/blocks.rs
index 0396eb87..65ddfd4a 100644
--- a/azalea-registry/src/tags/blocks.rs
+++ b/azalea-registry/src/tags/blocks.rs
@@ -6,6 +6,37 @@ use once_cell::sync::Lazy;
use crate::Block;
+pub static MINEABLE_HOE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::NetherWartBlock,
+ Block::WarpedWartBlock,
+ Block::HayBlock,
+ Block::DriedKelpBlock,
+ Block::Target,
+ Block::Shroomlight,
+ Block::Sponge,
+ Block::WetSponge,
+ Block::JungleLeaves,
+ Block::OakLeaves,
+ Block::SpruceLeaves,
+ Block::DarkOakLeaves,
+ Block::AcaciaLeaves,
+ Block::BirchLeaves,
+ Block::AzaleaLeaves,
+ Block::FloweringAzaleaLeaves,
+ Block::MangroveLeaves,
+ Block::SculkSensor,
+ Block::CalibratedSculkSensor,
+ Block::MossBlock,
+ Block::MossCarpet,
+ Block::Sculk,
+ Block::SculkCatalyst,
+ Block::SculkVein,
+ Block::SculkShrieker,
+ Block::PinkPetals,
+ Block::CherryLeaves,
+ ])
+});
pub static MINEABLE_SHOVEL: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::Clay,
@@ -348,37 +379,6 @@ pub static MINEABLE_AXE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::StrippedCherryWood,
])
});
-pub static MINEABLE_HOE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::NetherWartBlock,
- Block::WarpedWartBlock,
- Block::HayBlock,
- Block::DriedKelpBlock,
- Block::Target,
- Block::Shroomlight,
- Block::Sponge,
- Block::WetSponge,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::SculkSensor,
- Block::CalibratedSculkSensor,
- Block::MossBlock,
- Block::MossCarpet,
- Block::Sculk,
- Block::SculkCatalyst,
- Block::SculkVein,
- Block::SculkShrieker,
- Block::PinkPetals,
- Block::CherryLeaves,
- ])
-});
pub static MINEABLE_PICKAXE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::Stone,
@@ -758,327 +758,131 @@ pub static MINEABLE_PICKAXE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::ActivatorRail,
])
});
-pub static WOODEN_FENCES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakFence,
- Block::AcaciaFence,
- Block::DarkOakFence,
- Block::SpruceFence,
- Block::BirchFence,
- Block::JungleFence,
- Block::CrimsonFence,
- Block::WarpedFence,
- Block::MangroveFence,
- Block::BambooFence,
- Block::CherryFence,
- ])
-});
-pub static UNDERWATER_BONEMEALS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Seagrass,
- Block::TubeCoralFan,
- Block::BrainCoralFan,
- Block::BubbleCoralFan,
- Block::FireCoralFan,
- Block::HornCoralFan,
- Block::TubeCoralWallFan,
- Block::BrainCoralWallFan,
- Block::BubbleCoralWallFan,
- Block::FireCoralWallFan,
- Block::HornCoralWallFan,
- Block::TubeCoral,
- Block::BrainCoral,
- Block::BubbleCoral,
- Block::FireCoral,
- Block::HornCoral,
- ])
-});
-pub static INSIDE_STEP_SOUND_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::PowderSnow,
- Block::SculkVein,
- Block::GlowLichen,
- Block::LilyPad,
- Block::SmallAmethystBud,
- Block::PinkPetals,
- ])
-});
-pub static ACACIA_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- ])
-});
-pub static SMALL_DRIPLEAF_PLACEABLE: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Clay, Block::MossBlock]));
-pub static WALL_CORALS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static STONE_BUTTONS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::StoneButton, Block::PolishedBlackstoneButton]));
+pub static STONE_BRICKS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::TubeCoralWallFan,
- Block::BrainCoralWallFan,
- Block::BubbleCoralWallFan,
- Block::FireCoralWallFan,
- Block::HornCoralWallFan,
+ Block::StoneBricks,
+ Block::MossyStoneBricks,
+ Block::CrackedStoneBricks,
+ Block::ChiseledStoneBricks,
])
});
-pub static BAMBOO_PLANTABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Bamboo,
- Block::BambooSapling,
- Block::Gravel,
- Block::SuspiciousGravel,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::SuspiciousSand,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
+ Block::WhiteWool,
+ Block::OrangeWool,
+ Block::MagentaWool,
+ Block::LightBlueWool,
+ Block::YellowWool,
+ Block::LimeWool,
+ Block::PinkWool,
+ Block::GrayWool,
+ Block::LightGrayWool,
+ Block::CyanWool,
+ Block::PurpleWool,
+ Block::BlueWool,
+ Block::BrownWool,
+ Block::GreenWool,
+ Block::RedWool,
+ Block::BlackWool,
])
});
-pub static SWORD_EFFICIENT: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static PLANKS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Vine,
- Block::GlowLichen,
- Block::Sunflower,
- Block::Lilac,
- Block::RoseBush,
- Block::Peony,
- Block::TallGrass,
- Block::LargeFern,
- Block::HangingRoots,
- Block::PitcherPlant,
- Block::BrownMushroom,
- Block::RedMushroom,
- Block::SugarCane,
- Block::Pumpkin,
- Block::CarvedPumpkin,
- Block::JackOLantern,
- Block::Melon,
- Block::AttachedPumpkinStem,
- Block::AttachedMelonStem,
- Block::LilyPad,
- Block::Cocoa,
- Block::PitcherCrop,
- Block::SweetBerryBush,
- Block::CaveVines,
- Block::CaveVinesPlant,
- Block::SporeBlossom,
- Block::MossCarpet,
- Block::PinkPetals,
- Block::BigDripleaf,
- Block::BigDripleafStem,
- Block::SmallDripleaf,
- Block::NetherWart,
- Block::WarpedFungus,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonFungus,
- Block::WeepingVines,
- Block::WeepingVinesPlant,
- Block::TwistingVines,
- Block::TwistingVinesPlant,
- Block::CrimsonRoots,
- Block::ChorusPlant,
- Block::ChorusFlower,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::OakSapling,
- Block::SpruceSapling,
- Block::BirchSapling,
- Block::JungleSapling,
- Block::AcaciaSapling,
- Block::DarkOakSapling,
- Block::Azalea,
- Block::FloweringAzalea,
- Block::MangrovePropagule,
- Block::CherrySapling,
- Block::Dandelion,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::Beetroots,
- Block::Carrots,
- Block::Potatoes,
- Block::Wheat,
- Block::MelonStem,
- Block::PumpkinStem,
- Block::TorchflowerCrop,
- Block::PitcherCrop,
+ Block::OakPlanks,
+ Block::SprucePlanks,
+ Block::BirchPlanks,
+ Block::JunglePlanks,
+ Block::AcaciaPlanks,
+ Block::DarkOakPlanks,
+ Block::CrimsonPlanks,
+ Block::WarpedPlanks,
+ Block::MangrovePlanks,
+ Block::BambooPlanks,
+ Block::CherryPlanks,
])
});
-pub static SNOW_LAYER_CANNOT_SURVIVE_ON: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Ice, Block::PackedIce, Block::Barrier]));
-pub static MUSHROOM_GROW_BLOCK: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOODEN_BUTTONS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Mycelium,
- Block::Podzol,
- Block::CrimsonNylium,
- Block::WarpedNylium,
+ Block::OakButton,
+ Block::SpruceButton,
+ Block::BirchButton,
+ Block::JungleButton,
+ Block::AcaciaButton,
+ Block::DarkOakButton,
+ Block::CrimsonButton,
+ Block::WarpedButton,
+ Block::MangroveButton,
+ Block::BambooButton,
+ Block::CherryButton,
])
});
-pub static DEAD_BUSH_MAY_PLACE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static BUTTONS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::SuspiciousSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
+ Block::OakButton,
+ Block::SpruceButton,
+ Block::BirchButton,
+ Block::JungleButton,
+ Block::AcaciaButton,
+ Block::DarkOakButton,
+ Block::CrimsonButton,
+ Block::WarpedButton,
+ Block::MangroveButton,
+ Block::BambooButton,
+ Block::CherryButton,
+ Block::StoneButton,
+ Block::PolishedBlackstoneButton,
])
});
-pub static CONCRETE_POWDER: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOOL_CARPETS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::WhiteConcretePowder,
- Block::OrangeConcretePowder,
- Block::MagentaConcretePowder,
- Block::LightBlueConcretePowder,
- Block::YellowConcretePowder,
- Block::LimeConcretePowder,
- Block::PinkConcretePowder,
- Block::GrayConcretePowder,
- Block::LightGrayConcretePowder,
- Block::CyanConcretePowder,
- Block::PurpleConcretePowder,
- Block::BlueConcretePowder,
- Block::BrownConcretePowder,
- Block::GreenConcretePowder,
- Block::RedConcretePowder,
- Block::BlackConcretePowder,
+ Block::WhiteCarpet,
+ Block::OrangeCarpet,
+ Block::MagentaCarpet,
+ Block::LightBlueCarpet,
+ Block::YellowCarpet,
+ Block::LimeCarpet,
+ Block::PinkCarpet,
+ Block::GrayCarpet,
+ Block::LightGrayCarpet,
+ Block::CyanCarpet,
+ Block::PurpleCarpet,
+ Block::BlueCarpet,
+ Block::BrownCarpet,
+ Block::GreenCarpet,
+ Block::RedCarpet,
+ Block::BlackCarpet,
])
});
-pub static WOLVES_SPAWNABLE_ON: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::GrassBlock, Block::Snow, Block::SnowBlock]));
-pub static LUSH_GROUND_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOODEN_DOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Clay,
- Block::Gravel,
- Block::Sand,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::CaveVinesPlant,
- Block::CaveVines,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
+ Block::OakDoor,
+ Block::SpruceDoor,
+ Block::BirchDoor,
+ Block::JungleDoor,
+ Block::AcaciaDoor,
+ Block::DarkOakDoor,
+ Block::CrimsonDoor,
+ Block::WarpedDoor,
+ Block::MangroveDoor,
+ Block::BambooDoor,
+ Block::CherryDoor,
])
});
-pub static PARROTS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOODEN_STAIRS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::GrassBlock,
- Block::Air,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
+ Block::OakStairs,
+ Block::SpruceStairs,
+ Block::BirchStairs,
+ Block::JungleStairs,
+ Block::AcaciaStairs,
+ Block::DarkOakStairs,
+ Block::CrimsonStairs,
+ Block::WarpedStairs,
+ Block::MangroveStairs,
+ Block::BambooStairs,
+ Block::CherryStairs,
])
});
pub static WOODEN_SLABS: Lazy<HashSet<Block>> = Lazy::new(|| {
@@ -1096,61 +900,53 @@ pub static WOODEN_SLABS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::CherrySlab,
])
});
-pub static WOODEN_STAIRS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakStairs,
- Block::SpruceStairs,
- Block::BirchStairs,
- Block::JungleStairs,
- Block::AcaciaStairs,
- Block::DarkOakStairs,
- Block::CrimsonStairs,
- Block::WarpedStairs,
- Block::MangroveStairs,
- Block::BambooStairs,
- Block::CherryStairs,
- ])
-});
-pub static WALL_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOODEN_FENCES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakWallSign,
- Block::SpruceWallSign,
- Block::BirchWallSign,
- Block::AcaciaWallSign,
- Block::JungleWallSign,
- Block::DarkOakWallSign,
- Block::CrimsonWallSign,
- Block::WarpedWallSign,
- Block::MangroveWallSign,
- Block::BambooWallSign,
- Block::CherryWallSign,
+ Block::OakFence,
+ Block::AcaciaFence,
+ Block::DarkOakFence,
+ Block::SpruceFence,
+ Block::BirchFence,
+ Block::JungleFence,
+ Block::CrimsonFence,
+ Block::WarpedFence,
+ Block::MangroveFence,
+ Block::BambooFence,
+ Block::CherryFence,
])
});
-pub static MANGROVE_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
+ Block::IronDoor,
+ Block::OakDoor,
+ Block::SpruceDoor,
+ Block::BirchDoor,
+ Block::JungleDoor,
+ Block::AcaciaDoor,
+ Block::DarkOakDoor,
+ Block::CrimsonDoor,
+ Block::WarpedDoor,
+ Block::MangroveDoor,
+ Block::BambooDoor,
+ Block::CherryDoor,
])
});
-pub static WITHER_IMMUNE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SAPLINGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Barrier,
- Block::Bedrock,
- Block::EndPortal,
- Block::EndPortalFrame,
- Block::EndGateway,
- Block::CommandBlock,
- Block::RepeatingCommandBlock,
- Block::ChainCommandBlock,
- Block::StructureBlock,
- Block::Jigsaw,
- Block::MovingPiston,
- Block::Light,
- Block::ReinforcedDeepslate,
+ Block::OakSapling,
+ Block::SpruceSapling,
+ Block::BirchSapling,
+ Block::JungleSapling,
+ Block::AcaciaSapling,
+ Block::DarkOakSapling,
+ Block::Azalea,
+ Block::FloweringAzalea,
+ Block::MangrovePropagule,
+ Block::CherrySapling,
])
});
+pub static BAMBOO_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::BambooBlock, Block::StrippedBambooBlock]));
pub static DARK_OAK_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::DarkOakLog,
@@ -1159,199 +955,76 @@ pub static DARK_OAK_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::StrippedDarkOakWood,
])
});
-pub static STONE_ORE_REPLACEABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- ])
-});
-pub static EMERALD_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::EmeraldOre, Block::DeepslateEmeraldOre]));
-pub static TALL_FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Sunflower,
- Block::Lilac,
- Block::Peony,
- Block::RoseBush,
- Block::PitcherPlant,
- ])
-});
-pub static BEE_GROWABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::SweetBerryBush,
- Block::CaveVines,
- Block::CaveVinesPlant,
- Block::Beetroots,
- Block::Carrots,
- Block::Potatoes,
- Block::Wheat,
- Block::MelonStem,
- Block::PumpkinStem,
- Block::TorchflowerCrop,
- Block::PitcherCrop,
- ])
-});
-pub static DOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static OAK_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::IronDoor,
- Block::OakDoor,
- Block::SpruceDoor,
- Block::BirchDoor,
- Block::JungleDoor,
- Block::AcaciaDoor,
- Block::DarkOakDoor,
- Block::CrimsonDoor,
- Block::WarpedDoor,
- Block::MangroveDoor,
- Block::BambooDoor,
- Block::CherryDoor,
+ Block::OakLog,
+ Block::OakWood,
+ Block::StrippedOakLog,
+ Block::StrippedOakWood,
])
});
-pub static BEDS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static ACACIA_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::RedBed,
- Block::BlackBed,
- Block::BlueBed,
- Block::BrownBed,
- Block::CyanBed,
- Block::GrayBed,
- Block::GreenBed,
- Block::LightBlueBed,
- Block::LightGrayBed,
- Block::LimeBed,
- Block::MagentaBed,
- Block::OrangeBed,
- Block::PinkBed,
- Block::PurpleBed,
- Block::WhiteBed,
- Block::YellowBed,
+ Block::AcaciaLog,
+ Block::AcaciaWood,
+ Block::StrippedAcaciaLog,
+ Block::StrippedAcaciaWood,
])
});
-pub static BASE_STONE_OVERWORLD: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static JUNGLE_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
+ Block::JungleLog,
+ Block::JungleWood,
+ Block::StrippedJungleLog,
+ Block::StrippedJungleWood,
])
});
-pub static SNIFFER_EGG_HATCH_BOOST: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::MossBlock]));
-pub static VALID_SPAWN: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::GrassBlock, Block::Podzol]));
-pub static NEEDS_STONE_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static BIRCH_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::IronBlock,
- Block::RawIronBlock,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::LapisBlock,
- Block::LapisOre,
- Block::DeepslateLapisOre,
- Block::CopperBlock,
- Block::RawCopperBlock,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- Block::CutCopperSlab,
- Block::CutCopperStairs,
- Block::CutCopper,
- Block::WeatheredCopper,
- Block::WeatheredCutCopperSlab,
- Block::WeatheredCutCopperStairs,
- Block::WeatheredCutCopper,
- Block::OxidizedCopper,
- Block::OxidizedCutCopperSlab,
- Block::OxidizedCutCopperStairs,
- Block::OxidizedCutCopper,
- Block::ExposedCopper,
- Block::ExposedCutCopperSlab,
- Block::ExposedCutCopperStairs,
- Block::ExposedCutCopper,
- Block::WaxedCopperBlock,
- Block::WaxedCutCopperSlab,
- Block::WaxedCutCopperStairs,
- Block::WaxedCutCopper,
- Block::WaxedWeatheredCopper,
- Block::WaxedWeatheredCutCopperSlab,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedWeatheredCutCopper,
- Block::WaxedExposedCopper,
- Block::WaxedExposedCutCopperSlab,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedExposedCutCopper,
- Block::WaxedOxidizedCopper,
- Block::WaxedOxidizedCutCopperSlab,
- Block::WaxedOxidizedCutCopperStairs,
- Block::WaxedOxidizedCutCopper,
- Block::LightningRod,
+ Block::BirchLog,
+ Block::BirchWood,
+ Block::StrippedBirchLog,
+ Block::StrippedBirchWood,
])
});
-pub static SNIFFER_DIGGABLE_BLOCK: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SPRUCE_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
+ Block::SpruceLog,
+ Block::SpruceWood,
+ Block::StrippedSpruceLog,
+ Block::StrippedSpruceWood,
])
});
-pub static ANCIENT_CITY_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CRIMSON_STEMS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Deepslate,
- Block::DeepslateBricks,
- Block::DeepslateTiles,
- Block::DeepslateBrickSlab,
- Block::DeepslateTileSlab,
- Block::DeepslateBrickStairs,
- Block::DeepslateTileWall,
- Block::DeepslateBrickWall,
- Block::CobbledDeepslate,
- Block::CrackedDeepslateBricks,
- Block::CrackedDeepslateTiles,
- Block::GrayWool,
+ Block::CrimsonStem,
+ Block::StrippedCrimsonStem,
+ Block::CrimsonHyphae,
+ Block::StrippedCrimsonHyphae,
])
});
-pub static COPPER_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::CopperOre, Block::DeepslateCopperOre]));
-pub static WOODEN_PRESSURE_PLATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WARPED_STEMS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakPressurePlate,
- Block::SprucePressurePlate,
- Block::BirchPressurePlate,
- Block::JunglePressurePlate,
- Block::AcaciaPressurePlate,
- Block::DarkOakPressurePlate,
- Block::CrimsonPressurePlate,
- Block::WarpedPressurePlate,
- Block::MangrovePressurePlate,
- Block::BambooPressurePlate,
- Block::CherryPressurePlate,
+ Block::WarpedStem,
+ Block::StrippedWarpedStem,
+ Block::WarpedHyphae,
+ Block::StrippedWarpedHyphae,
])
});
-pub static NYLIUM: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::CrimsonNylium, Block::WarpedNylium]));
-pub static FEATURES_CANNOT_REPLACE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static MANGROVE_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Bedrock,
- Block::Spawner,
- Block::Chest,
- Block::EndPortalFrame,
- Block::ReinforcedDeepslate,
+ Block::MangroveLog,
+ Block::MangroveWood,
+ Block::StrippedMangroveLog,
+ Block::StrippedMangroveWood,
])
});
-pub static SAND: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CHERRY_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::SuspiciousSand,
+ Block::CherryLog,
+ Block::CherryWood,
+ Block::StrippedCherryLog,
+ Block::StrippedCherryWood,
])
});
pub static LOGS_THAT_BURN: Lazy<HashSet<Block>> = Lazy::new(|| {
@@ -1390,190 +1063,114 @@ pub static LOGS_THAT_BURN: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::StrippedCherryWood,
])
});
-pub static CAMEL_SAND_STEP_SOUND_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static OVERWORLD_NATURAL_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::SuspiciousSand,
- Block::WhiteConcretePowder,
- Block::OrangeConcretePowder,
- Block::MagentaConcretePowder,
- Block::LightBlueConcretePowder,
- Block::YellowConcretePowder,
- Block::LimeConcretePowder,
- Block::PinkConcretePowder,
- Block::GrayConcretePowder,
- Block::LightGrayConcretePowder,
- Block::CyanConcretePowder,
- Block::PurpleConcretePowder,
- Block::BlueConcretePowder,
- Block::BrownConcretePowder,
- Block::GreenConcretePowder,
- Block::RedConcretePowder,
- Block::BlackConcretePowder,
+ Block::AcaciaLog,
+ Block::BirchLog,
+ Block::OakLog,
+ Block::JungleLog,
+ Block::SpruceLog,
+ Block::DarkOakLog,
+ Block::MangroveLog,
+ Block::CherryLog,
])
});
-pub static CHERRY_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Block::CrimsonStem,
+ Block::StrippedCrimsonStem,
+ Block::CrimsonHyphae,
+ Block::StrippedCrimsonHyphae,
+ Block::WarpedStem,
+ Block::StrippedWarpedStem,
+ Block::WarpedHyphae,
+ Block::StrippedWarpedHyphae,
+ Block::DarkOakLog,
+ Block::DarkOakWood,
+ Block::StrippedDarkOakLog,
+ Block::StrippedDarkOakWood,
+ Block::OakLog,
+ Block::OakWood,
+ Block::StrippedOakLog,
+ Block::StrippedOakWood,
+ Block::AcaciaLog,
+ Block::AcaciaWood,
+ Block::StrippedAcaciaLog,
+ Block::StrippedAcaciaWood,
+ Block::BirchLog,
+ Block::BirchWood,
+ Block::StrippedBirchLog,
+ Block::StrippedBirchWood,
+ Block::JungleLog,
+ Block::JungleWood,
+ Block::StrippedJungleLog,
+ Block::StrippedJungleWood,
+ Block::SpruceLog,
+ Block::SpruceWood,
+ Block::StrippedSpruceLog,
+ Block::StrippedSpruceWood,
+ Block::MangroveLog,
+ Block::MangroveWood,
+ Block::StrippedMangroveLog,
+ Block::StrippedMangroveWood,
Block::CherryLog,
Block::CherryWood,
Block::StrippedCherryLog,
Block::StrippedCherryWood,
])
});
-pub static DAMPENS_VIBRATIONS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::WhiteWool,
- Block::OrangeWool,
- Block::MagentaWool,
- Block::LightBlueWool,
- Block::YellowWool,
- Block::LimeWool,
- Block::PinkWool,
- Block::GrayWool,
- Block::LightGrayWool,
- Block::CyanWool,
- Block::PurpleWool,
- Block::BlueWool,
- Block::BrownWool,
- Block::GreenWool,
- Block::RedWool,
- Block::BlackWool,
- Block::WhiteCarpet,
- Block::OrangeCarpet,
- Block::MagentaCarpet,
- Block::LightBlueCarpet,
- Block::YellowCarpet,
- Block::LimeCarpet,
- Block::PinkCarpet,
- Block::GrayCarpet,
- Block::LightGrayCarpet,
- Block::CyanCarpet,
- Block::PurpleCarpet,
- Block::BlueCarpet,
- Block::BrownCarpet,
- Block::GreenCarpet,
- Block::RedCarpet,
- Block::BlackCarpet,
- ])
-});
-pub static DIAMOND_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::DiamondOre, Block::DeepslateDiamondOre]));
-pub static WOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static ANVIL: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Anvil, Block::ChippedAnvil, Block::DamagedAnvil]));
+pub static SMALL_FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::WhiteWool,
- Block::OrangeWool,
- Block::MagentaWool,
- Block::LightBlueWool,
- Block::YellowWool,
- Block::LimeWool,
- Block::PinkWool,
- Block::GrayWool,
- Block::LightGrayWool,
- Block::CyanWool,
- Block::PurpleWool,
- Block::BlueWool,
- Block::BrownWool,
- Block::GreenWool,
- Block::RedWool,
- Block::BlackWool,
+ Block::Dandelion,
+ Block::Poppy,
+ Block::BlueOrchid,
+ Block::Allium,
+ Block::AzureBluet,
+ Block::RedTulip,
+ Block::OrangeTulip,
+ Block::WhiteTulip,
+ Block::PinkTulip,
+ Block::OxeyeDaisy,
+ Block::Cornflower,
+ Block::LilyOfTheValley,
+ Block::WitherRose,
+ Block::Torchflower,
])
});
-pub static FOXES_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DIRT: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Block::Dirt,
Block::GrassBlock,
- Block::Snow,
- Block::SnowBlock,
Block::Podzol,
Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
])
});
-pub static ALL_HANGING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakHangingSign,
- Block::SpruceHangingSign,
- Block::BirchHangingSign,
- Block::AcaciaHangingSign,
- Block::CherryHangingSign,
- Block::JungleHangingSign,
- Block::DarkOakHangingSign,
- Block::CrimsonHangingSign,
- Block::WarpedHangingSign,
- Block::MangroveHangingSign,
- Block::BambooHangingSign,
- Block::OakWallHangingSign,
- Block::SpruceWallHangingSign,
- Block::BirchWallHangingSign,
- Block::AcaciaWallHangingSign,
- Block::CherryWallHangingSign,
- Block::JungleWallHangingSign,
- Block::DarkOakWallHangingSign,
- Block::CrimsonWallHangingSign,
- Block::WarpedWallHangingSign,
- Block::MangroveWallHangingSign,
- Block::BambooWallHangingSign,
- ])
-});
-pub static WOODEN_TRAPDOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::AcaciaTrapdoor,
- Block::BirchTrapdoor,
- Block::DarkOakTrapdoor,
- Block::JungleTrapdoor,
- Block::OakTrapdoor,
- Block::SpruceTrapdoor,
- Block::CrimsonTrapdoor,
- Block::WarpedTrapdoor,
- Block::MangroveTrapdoor,
- Block::BambooTrapdoor,
- Block::CherryTrapdoor,
- ])
-});
-pub static DRAGON_TRANSPARENT: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Light, Block::Fire, Block::SoulFire]));
-pub static REPLACEABLE_BY_TREES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static ENDERMAN_HOLDABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Vine,
- Block::GlowLichen,
- Block::Sunflower,
- Block::Lilac,
- Block::RoseBush,
- Block::Peony,
- Block::TallGrass,
- Block::LargeFern,
- Block::HangingRoots,
- Block::PitcherPlant,
- Block::Water,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::WarpedRoots,
- Block::NetherSprouts,
+ Block::Sand,
+ Block::RedSand,
+ Block::Gravel,
+ Block::BrownMushroom,
+ Block::RedMushroom,
+ Block::Tnt,
+ Block::Cactus,
+ Block::Clay,
+ Block::Pumpkin,
+ Block::CarvedPumpkin,
+ Block::Melon,
+ Block::CrimsonFungus,
+ Block::CrimsonNylium,
Block::CrimsonRoots,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- ])
-});
-pub static FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::FloweringAzaleaLeaves,
- Block::FloweringAzalea,
- Block::MangrovePropagule,
- Block::CherryLeaves,
- Block::PinkPetals,
- Block::ChorusFlower,
- Block::SporeBlossom,
+ Block::WarpedFungus,
+ Block::WarpedNylium,
+ Block::WarpedRoots,
Block::Dandelion,
Block::Poppy,
Block::BlueOrchid,
@@ -1588,34 +1185,94 @@ pub static FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::LilyOfTheValley,
Block::WitherRose,
Block::Torchflower,
- Block::Sunflower,
- Block::Lilac,
- Block::Peony,
- Block::RoseBush,
- Block::PitcherPlant,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
])
});
-pub static FIRE: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Fire, Block::SoulFire]));
-pub static CANDLE_CAKES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static FLOWER_POTS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::CandleCake,
- Block::WhiteCandleCake,
- Block::OrangeCandleCake,
- Block::MagentaCandleCake,
- Block::LightBlueCandleCake,
- Block::YellowCandleCake,
- Block::LimeCandleCake,
- Block::PinkCandleCake,
- Block::GrayCandleCake,
- Block::LightGrayCandleCake,
- Block::CyanCandleCake,
- Block::PurpleCandleCake,
- Block::BlueCandleCake,
- Block::BrownCandleCake,
- Block::GreenCandleCake,
- Block::RedCandleCake,
- Block::BlackCandleCake,
+ Block::FlowerPot,
+ Block::PottedPoppy,
+ Block::PottedBlueOrchid,
+ Block::PottedAllium,
+ Block::PottedAzureBluet,
+ Block::PottedRedTulip,
+ Block::PottedOrangeTulip,
+ Block::PottedWhiteTulip,
+ Block::PottedPinkTulip,
+ Block::PottedOxeyeDaisy,
+ Block::PottedDandelion,
+ Block::PottedOakSapling,
+ Block::PottedSpruceSapling,
+ Block::PottedBirchSapling,
+ Block::PottedJungleSapling,
+ Block::PottedAcaciaSapling,
+ Block::PottedDarkOakSapling,
+ Block::PottedRedMushroom,
+ Block::PottedBrownMushroom,
+ Block::PottedDeadBush,
+ Block::PottedFern,
+ Block::PottedCactus,
+ Block::PottedCornflower,
+ Block::PottedLilyOfTheValley,
+ Block::PottedWitherRose,
+ Block::PottedBamboo,
+ Block::PottedCrimsonFungus,
+ Block::PottedWarpedFungus,
+ Block::PottedCrimsonRoots,
+ Block::PottedWarpedRoots,
+ Block::PottedAzaleaBush,
+ Block::PottedFloweringAzaleaBush,
+ Block::PottedMangrovePropagule,
+ Block::PottedCherrySapling,
+ Block::PottedTorchflower,
+ ])
+});
+pub static WOODEN_PRESSURE_PLATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::OakPressurePlate,
+ Block::SprucePressurePlate,
+ Block::BirchPressurePlate,
+ Block::JunglePressurePlate,
+ Block::AcaciaPressurePlate,
+ Block::DarkOakPressurePlate,
+ Block::CrimsonPressurePlate,
+ Block::WarpedPressurePlate,
+ Block::MangrovePressurePlate,
+ Block::BambooPressurePlate,
+ Block::CherryPressurePlate,
+ ])
+});
+pub static STONE_PRESSURE_PLATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::StonePressurePlate,
+ Block::PolishedBlackstonePressurePlate,
+ ])
+});
+pub static PRESSURE_PLATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::LightWeightedPressurePlate,
+ Block::HeavyWeightedPressurePlate,
+ Block::OakPressurePlate,
+ Block::SprucePressurePlate,
+ Block::BirchPressurePlate,
+ Block::JunglePressurePlate,
+ Block::AcaciaPressurePlate,
+ Block::DarkOakPressurePlate,
+ Block::CrimsonPressurePlate,
+ Block::WarpedPressurePlate,
+ Block::MangrovePressurePlate,
+ Block::BambooPressurePlate,
+ Block::CherryPressurePlate,
+ Block::StonePressurePlate,
+ Block::PolishedBlackstonePressurePlate,
])
});
pub static BANNERS: Lazy<HashSet<Block>> = Lazy::new(|| {
@@ -1654,191 +1311,61 @@ pub static BANNERS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::BlackWallBanner,
])
});
-pub static TERRACOTTA: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- ])
-});
-pub static BIRCH_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- ])
-});
-pub static PIGLIN_REPELLENTS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::SoulFire,
- Block::SoulTorch,
- Block::SoulLantern,
- Block::SoulWallTorch,
- Block::SoulCampfire,
- ])
-});
-pub static MANGROVE_LOGS_CAN_GROW_THROUGH: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::MangroveRoots,
- Block::MangroveLeaves,
- Block::MangroveLog,
- Block::MangrovePropagule,
- Block::MossCarpet,
- Block::Vine,
- ])
-});
-pub static BEACON_BASE_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::NetheriteBlock,
- Block::EmeraldBlock,
- Block::DiamondBlock,
- Block::GoldBlock,
- Block::IronBlock,
- ])
-});
-pub static LAVA_POOL_STONE_CANNOT_REPLACE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Bedrock,
- Block::Spawner,
- Block::Chest,
- Block::EndPortalFrame,
- Block::ReinforcedDeepslate,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static OVERWORLD_CARVER_REPLACEABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Water,
- Block::Gravel,
- Block::SuspiciousGravel,
- Block::Sandstone,
- Block::RedSandstone,
- Block::Calcite,
- Block::Snow,
- Block::PackedIce,
- Block::RawIronBlock,
- Block::RawCopperBlock,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::SuspiciousSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- ])
-});
-pub static STANDING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static STAIRS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakSign,
- Block::SpruceSign,
- Block::BirchSign,
- Block::AcaciaSign,
- Block::JungleSign,
- Block::DarkOakSign,
- Block::CrimsonSign,
- Block::WarpedSign,
- Block::MangroveSign,
- Block::BambooSign,
- Block::CherrySign,
+ Block::BambooMosaicStairs,
+ Block::CobblestoneStairs,
+ Block::SandstoneStairs,
+ Block::NetherBrickStairs,
+ Block::StoneBrickStairs,
+ Block::BrickStairs,
+ Block::PurpurStairs,
+ Block::QuartzStairs,
+ Block::RedSandstoneStairs,
+ Block::PrismarineBrickStairs,
+ Block::PrismarineStairs,
+ Block::DarkPrismarineStairs,
+ Block::PolishedGraniteStairs,
+ Block::SmoothRedSandstoneStairs,
+ Block::MossyStoneBrickStairs,
+ Block::PolishedDioriteStairs,
+ Block::MossyCobblestoneStairs,
+ Block::EndStoneBrickStairs,
+ Block::StoneStairs,
+ Block::SmoothSandstoneStairs,
+ Block::SmoothQuartzStairs,
+ Block::GraniteStairs,
+ Block::AndesiteStairs,
+ Block::RedNetherBrickStairs,
+ Block::PolishedAndesiteStairs,
+ Block::DioriteStairs,
+ Block::BlackstoneStairs,
+ Block::PolishedBlackstoneBrickStairs,
+ Block::PolishedBlackstoneStairs,
+ Block::CobbledDeepslateStairs,
+ Block::PolishedDeepslateStairs,
+ Block::DeepslateTileStairs,
+ Block::DeepslateBrickStairs,
+ Block::OxidizedCutCopperStairs,
+ Block::WeatheredCutCopperStairs,
+ Block::ExposedCutCopperStairs,
+ Block::CutCopperStairs,
+ Block::WaxedWeatheredCutCopperStairs,
+ Block::WaxedExposedCutCopperStairs,
+ Block::WaxedCutCopperStairs,
+ Block::WaxedOxidizedCutCopperStairs,
+ Block::MudBrickStairs,
+ Block::OakStairs,
+ Block::SpruceStairs,
+ Block::BirchStairs,
+ Block::JungleStairs,
+ Block::AcaciaStairs,
+ Block::DarkOakStairs,
+ Block::CrimsonStairs,
+ Block::WarpedStairs,
+ Block::MangroveStairs,
+ Block::BambooStairs,
+ Block::CherryStairs,
])
});
pub static SLABS: Lazy<HashSet<Block>> = Lazy::new(|| {
@@ -1902,298 +1429,39 @@ pub static SLABS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::CherrySlab,
])
});
-pub static ANVIL: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Anvil, Block::ChippedAnvil, Block::DamagedAnvil]));
-pub static DRAGON_IMMUNE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Barrier,
- Block::Bedrock,
- Block::EndPortal,
- Block::EndPortalFrame,
- Block::EndGateway,
- Block::CommandBlock,
- Block::RepeatingCommandBlock,
- Block::ChainCommandBlock,
- Block::StructureBlock,
- Block::Jigsaw,
- Block::MovingPiston,
- Block::Obsidian,
- Block::CryingObsidian,
- Block::EndStone,
- Block::IronBars,
- Block::RespawnAnchor,
- Block::ReinforcedDeepslate,
- ])
-});
-pub static STAIRS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::BambooMosaicStairs,
- Block::CobblestoneStairs,
- Block::SandstoneStairs,
- Block::NetherBrickStairs,
- Block::StoneBrickStairs,
- Block::BrickStairs,
- Block::PurpurStairs,
- Block::QuartzStairs,
- Block::RedSandstoneStairs,
- Block::PrismarineBrickStairs,
- Block::PrismarineStairs,
- Block::DarkPrismarineStairs,
- Block::PolishedGraniteStairs,
- Block::SmoothRedSandstoneStairs,
- Block::MossyStoneBrickStairs,
- Block::PolishedDioriteStairs,
- Block::MossyCobblestoneStairs,
- Block::EndStoneBrickStairs,
- Block::StoneStairs,
- Block::SmoothSandstoneStairs,
- Block::SmoothQuartzStairs,
- Block::GraniteStairs,
- Block::AndesiteStairs,
- Block::RedNetherBrickStairs,
- Block::PolishedAndesiteStairs,
- Block::DioriteStairs,
- Block::BlackstoneStairs,
- Block::PolishedBlackstoneBrickStairs,
- Block::PolishedBlackstoneStairs,
- Block::CobbledDeepslateStairs,
- Block::PolishedDeepslateStairs,
- Block::DeepslateTileStairs,
- Block::DeepslateBrickStairs,
- Block::OxidizedCutCopperStairs,
- Block::WeatheredCutCopperStairs,
- Block::ExposedCutCopperStairs,
- Block::CutCopperStairs,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedCutCopperStairs,
- Block::WaxedOxidizedCutCopperStairs,
- Block::MudBrickStairs,
- Block::OakStairs,
- Block::SpruceStairs,
- Block::BirchStairs,
- Block::JungleStairs,
- Block::AcaciaStairs,
- Block::DarkOakStairs,
- Block::CrimsonStairs,
- Block::WarpedStairs,
- Block::MangroveStairs,
- Block::BambooStairs,
- Block::CherryStairs,
- ])
-});
-pub static CAVE_VINES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::CaveVinesPlant, Block::CaveVines]));
-pub static NEEDS_DIAMOND_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- ])
-});
-pub static ENDERMAN_HOLDABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Sand,
- Block::RedSand,
- Block::Gravel,
- Block::BrownMushroom,
- Block::RedMushroom,
- Block::Tnt,
- Block::Cactus,
- Block::Clay,
- Block::Pumpkin,
- Block::CarvedPumpkin,
- Block::Melon,
- Block::CrimsonFungus,
- Block::CrimsonNylium,
- Block::CrimsonRoots,
- Block::WarpedFungus,
- Block::WarpedNylium,
- Block::WarpedRoots,
- Block::Dandelion,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static ENCHANTMENT_POWER_TRANSMITTER: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Air,
- Block::Water,
- Block::Lava,
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::Fire,
- Block::SoulFire,
- Block::Snow,
- Block::Vine,
- Block::GlowLichen,
- Block::Light,
- Block::TallGrass,
- Block::LargeFern,
- Block::StructureVoid,
- Block::VoidAir,
- Block::CaveAir,
- Block::BubbleColumn,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonRoots,
- Block::HangingRoots,
- ])
-});
-pub static INFINIBURN_END: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Bedrock, Block::Netherrack, Block::MagmaBlock]));
-pub static SOUL_FIRE_BASE_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::SoulSand, Block::SoulSoil]));
-pub static WOOL_CARPETS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::WhiteCarpet,
- Block::OrangeCarpet,
- Block::MagentaCarpet,
- Block::LightBlueCarpet,
- Block::YellowCarpet,
- Block::LimeCarpet,
- Block::PinkCarpet,
- Block::GrayCarpet,
- Block::LightGrayCarpet,
- Block::CyanCarpet,
- Block::PurpleCarpet,
- Block::BlueCarpet,
- Block::BrownCarpet,
- Block::GreenCarpet,
- Block::RedCarpet,
- Block::BlackCarpet,
- ])
-});
-pub static GOATS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Stone,
- Block::Snow,
- Block::SnowBlock,
- Block::PackedIce,
- Block::Gravel,
- Block::GrassBlock,
- ])
-});
-pub static CORAL_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::TubeCoralBlock,
- Block::BrainCoralBlock,
- Block::BubbleCoralBlock,
- Block::FireCoralBlock,
- Block::HornCoralBlock,
- ])
-});
-pub static WOODEN_DOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakDoor,
- Block::SpruceDoor,
- Block::BirchDoor,
- Block::JungleDoor,
- Block::AcaciaDoor,
- Block::DarkOakDoor,
- Block::CrimsonDoor,
- Block::WarpedDoor,
- Block::MangroveDoor,
- Block::BambooDoor,
- Block::CherryDoor,
- ])
-});
-pub static COAL_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::CoalOre, Block::DeepslateCoalOre]));
-pub static BIG_DRIPLEAF_PLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Farmland,
- Block::Clay,
- Block::MossBlock,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static BUTTONS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakButton,
- Block::SpruceButton,
- Block::BirchButton,
- Block::JungleButton,
- Block::AcaciaButton,
- Block::DarkOakButton,
- Block::CrimsonButton,
- Block::WarpedButton,
- Block::MangroveButton,
- Block::BambooButton,
- Block::CherryButton,
- Block::StoneButton,
- Block::PolishedBlackstoneButton,
- ])
-});
-pub static GOLD_ORES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::GoldOre,
- Block::NetherGoldOre,
- Block::DeepslateGoldOre,
- ])
-});
-pub static NEEDS_IRON_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WALLS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::DiamondBlock,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EmeraldBlock,
- Block::GoldBlock,
- Block::RawGoldBlock,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
+ Block::CobblestoneWall,
+ Block::MossyCobblestoneWall,
+ Block::BrickWall,
+ Block::PrismarineWall,
+ Block::RedSandstoneWall,
+ Block::MossyStoneBrickWall,
+ Block::GraniteWall,
+ Block::StoneBrickWall,
+ Block::NetherBrickWall,
+ Block::AndesiteWall,
+ Block::RedNetherBrickWall,
+ Block::SandstoneWall,
+ Block::EndStoneBrickWall,
+ Block::DioriteWall,
+ Block::BlackstoneWall,
+ Block::PolishedBlackstoneBrickWall,
+ Block::PolishedBlackstoneWall,
+ Block::CobbledDeepslateWall,
+ Block::PolishedDeepslateWall,
+ Block::DeepslateTileWall,
+ Block::DeepslateBrickWall,
+ Block::MudBrickWall,
])
});
-pub static UNSTABLE_BOTTOM_CENTER: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CORAL_PLANTS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::AcaciaFenceGate,
- Block::BirchFenceGate,
- Block::DarkOakFenceGate,
- Block::JungleFenceGate,
- Block::OakFenceGate,
- Block::SpruceFenceGate,
- Block::CrimsonFenceGate,
- Block::WarpedFenceGate,
- Block::MangroveFenceGate,
- Block::BambooFenceGate,
- Block::CherryFenceGate,
+ Block::TubeCoral,
+ Block::BrainCoral,
+ Block::BubbleCoral,
+ Block::FireCoral,
+ Block::HornCoral,
])
});
pub static CORALS: Lazy<HashSet<Block>> = Lazy::new(|| {
@@ -2210,179 +1478,51 @@ pub static CORALS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::HornCoral,
])
});
-pub static WART_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::NetherWartBlock, Block::WarpedWartBlock]));
-pub static BEEHIVES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::BeeNest, Block::Beehive]));
-pub static POLAR_BEARS_SPAWNABLE_ON_ALTERNATE: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Ice]));
-pub static DEEPSLATE_ORE_REPLACEABLES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Deepslate, Block::Tuff]));
-pub static SNAPS_GOAT_HORN: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Stone,
- Block::PackedIce,
- Block::IronOre,
- Block::CoalOre,
- Block::CopperOre,
- Block::EmeraldOre,
- Block::AcaciaLog,
- Block::BirchLog,
- Block::OakLog,
- Block::JungleLog,
- Block::SpruceLog,
- Block::DarkOakLog,
- Block::MangroveLog,
- Block::CherryLog,
- ])
-});
-pub static PREVENT_MOB_SPAWNING_INSIDE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Rail,
- Block::PoweredRail,
- Block::DetectorRail,
- Block::ActivatorRail,
- ])
-});
-pub static CONVERTABLE_TO_MUD: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Dirt, Block::CoarseDirt, Block::RootedDirt]));
-pub static SOUL_SPEED_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::SoulSand, Block::SoulSoil]));
-pub static OVERWORLD_NATURAL_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::AcaciaLog,
- Block::BirchLog,
- Block::OakLog,
- Block::JungleLog,
- Block::SpruceLog,
- Block::DarkOakLog,
- Block::MangroveLog,
- Block::CherryLog,
- ])
-});
-pub static CORAL_PLANTS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::TubeCoral,
- Block::BrainCoral,
- Block::BubbleCoral,
- Block::FireCoral,
- Block::HornCoral,
- ])
-});
-pub static PORTALS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WALL_CORALS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::NetherPortal,
- Block::EndPortal,
- Block::EndGateway,
+ Block::TubeCoralWallFan,
+ Block::BrainCoralWallFan,
+ Block::BubbleCoralWallFan,
+ Block::FireCoralWallFan,
+ Block::HornCoralWallFan,
])
});
-pub static SCULK_REPLACEABLE_WORLD_GEN: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SAND: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::DeepslateBricks,
- Block::DeepslateTiles,
- Block::CobbledDeepslate,
- Block::CrackedDeepslateBricks,
- Block::CrackedDeepslateTiles,
- Block::PolishedDeepslate,
Block::Sand,
Block::RedSand,
- Block::Gravel,
- Block::SoulSand,
- Block::SoulSoil,
- Block::Calcite,
- Block::SmoothBasalt,
- Block::Clay,
- Block::DripstoneBlock,
- Block::EndStone,
- Block::RedSandstone,
- Block::Sandstone,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- Block::Netherrack,
- Block::Basalt,
- Block::Blackstone,
+ Block::SuspiciousSand,
+ Block::SuspiciousSand,
])
});
-pub static SHULKER_BOXES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CORAL_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::ShulkerBox,
- Block::BlackShulkerBox,
- Block::BlueShulkerBox,
- Block::BrownShulkerBox,
- Block::CyanShulkerBox,
- Block::GrayShulkerBox,
- Block::GreenShulkerBox,
- Block::LightBlueShulkerBox,
- Block::LightGrayShulkerBox,
- Block::LimeShulkerBox,
- Block::MagentaShulkerBox,
- Block::OrangeShulkerBox,
- Block::PinkShulkerBox,
- Block::PurpleShulkerBox,
- Block::RedShulkerBox,
- Block::WhiteShulkerBox,
- Block::YellowShulkerBox,
+ Block::TubeCoralBlock,
+ Block::BrainCoralBlock,
+ Block::BubbleCoralBlock,
+ Block::FireCoralBlock,
+ Block::HornCoralBlock,
])
});
-pub static FENCES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static RAILS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::NetherBrickFence,
- Block::OakFence,
- Block::AcaciaFence,
- Block::DarkOakFence,
- Block::SpruceFence,
- Block::BirchFence,
- Block::JungleFence,
- Block::CrimsonFence,
- Block::WarpedFence,
- Block::MangroveFence,
- Block::BambooFence,
- Block::CherryFence,
+ Block::Rail,
+ Block::PoweredRail,
+ Block::DetectorRail,
+ Block::ActivatorRail,
])
});
-pub static GEODE_INVALID_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static ICE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Bedrock,
- Block::Water,
- Block::Lava,
Block::Ice,
Block::PackedIce,
Block::BlueIce,
+ Block::FrostedIce,
])
});
-pub static COMPLETES_FIND_TREE_TUTORIAL: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static VALID_SPAWN: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::GrassBlock, Block::Podzol]));
+pub static LEAVES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::JungleLeaves,
Block::OakLeaves,
@@ -2394,238 +1534,8 @@ pub static COMPLETES_FIND_TREE_TUTORIAL: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::FloweringAzaleaLeaves,
Block::MangroveLeaves,
Block::CherryLeaves,
- Block::NetherWartBlock,
- Block::WarpedWartBlock,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static FROG_PREFER_JUMP_TO: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::LilyPad, Block::BigDripleaf]));
-pub static INFINIBURN_OVERWORLD: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Netherrack, Block::MagmaBlock]));
-pub static WITHER_SUMMON_BASE_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::SoulSand, Block::SoulSoil]));
-pub static FALL_DAMAGE_RESETTING: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::SweetBerryBush,
- Block::Cobweb,
- Block::Ladder,
- Block::Vine,
- Block::Scaffolding,
- Block::WeepingVines,
- Block::WeepingVinesPlant,
- Block::TwistingVines,
- Block::TwistingVinesPlant,
- Block::CaveVines,
- Block::CaveVinesPlant,
- ])
-});
-pub static SMALL_FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Dandelion,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- ])
-});
-pub static CEILING_HANGING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakHangingSign,
- Block::SpruceHangingSign,
- Block::BirchHangingSign,
- Block::AcaciaHangingSign,
- Block::CherryHangingSign,
- Block::JungleHangingSign,
- Block::DarkOakHangingSign,
- Block::CrimsonHangingSign,
- Block::WarpedHangingSign,
- Block::MangroveHangingSign,
- Block::BambooHangingSign,
- ])
-});
-pub static REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Air,
- Block::Water,
- Block::Lava,
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::Fire,
- Block::SoulFire,
- Block::Snow,
- Block::Vine,
- Block::GlowLichen,
- Block::Light,
- Block::TallGrass,
- Block::LargeFern,
- Block::StructureVoid,
- Block::VoidAir,
- Block::CaveAir,
- Block::BubbleColumn,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonRoots,
- Block::HangingRoots,
- ])
-});
-pub static STRIDER_WARM_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Lava]));
-pub static ANIMALS_SPAWNABLE_ON: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::GrassBlock]));
-pub static INVALID_SPAWN_INSIDE: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::EndPortal, Block::EndGateway]));
-pub static FENCE_GATES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::AcaciaFenceGate,
- Block::BirchFenceGate,
- Block::DarkOakFenceGate,
- Block::JungleFenceGate,
- Block::OakFenceGate,
- Block::SpruceFenceGate,
- Block::CrimsonFenceGate,
- Block::WarpedFenceGate,
- Block::MangroveFenceGate,
- Block::BambooFenceGate,
- Block::CherryFenceGate,
- ])
-});
-pub static GUARDED_BY_PIGLINS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::GoldBlock,
- Block::Barrel,
- Block::Chest,
- Block::EnderChest,
- Block::GildedBlackstone,
- Block::TrappedChest,
- Block::RawGoldBlock,
- Block::ShulkerBox,
- Block::BlackShulkerBox,
- Block::BlueShulkerBox,
- Block::BrownShulkerBox,
- Block::CyanShulkerBox,
- Block::GrayShulkerBox,
- Block::GreenShulkerBox,
- Block::LightBlueShulkerBox,
- Block::LightGrayShulkerBox,
- Block::LimeShulkerBox,
- Block::MagentaShulkerBox,
- Block::OrangeShulkerBox,
- Block::PinkShulkerBox,
- Block::PurpleShulkerBox,
- Block::RedShulkerBox,
- Block::WhiteShulkerBox,
- Block::YellowShulkerBox,
- Block::GoldOre,
- Block::NetherGoldOre,
- Block::DeepslateGoldOre,
- ])
-});
-pub static AZALEA_GROWS_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::SnowBlock,
- Block::PowderSnow,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::SuspiciousSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- ])
-});
-pub static OAK_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- ])
-});
-pub static STONE_BRICKS: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::StoneBricks,
- Block::MossyStoneBricks,
- Block::CrackedStoneBricks,
- Block::ChiseledStoneBricks,
])
});
-pub static LAPIS_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::LapisOre, Block::DeepslateLapisOre]));
pub static IMPERMEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::Glass,
@@ -2648,15 +1558,38 @@ pub static IMPERMEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::TintedGlass,
])
});
-pub static ICE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WOODEN_TRAPDOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Ice,
- Block::PackedIce,
- Block::BlueIce,
- Block::FrostedIce,
+ Block::AcaciaTrapdoor,
+ Block::BirchTrapdoor,
+ Block::DarkOakTrapdoor,
+ Block::JungleTrapdoor,
+ Block::OakTrapdoor,
+ Block::SpruceTrapdoor,
+ Block::CrimsonTrapdoor,
+ Block::WarpedTrapdoor,
+ Block::MangroveTrapdoor,
+ Block::BambooTrapdoor,
+ Block::CherryTrapdoor,
])
});
-pub static ALL_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static TRAPDOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::IronTrapdoor,
+ Block::AcaciaTrapdoor,
+ Block::BirchTrapdoor,
+ Block::DarkOakTrapdoor,
+ Block::JungleTrapdoor,
+ Block::OakTrapdoor,
+ Block::SpruceTrapdoor,
+ Block::CrimsonTrapdoor,
+ Block::WarpedTrapdoor,
+ Block::MangroveTrapdoor,
+ Block::BambooTrapdoor,
+ Block::CherryTrapdoor,
+ ])
+});
+pub static SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::OakSign,
Block::SpruceSign,
@@ -2680,6 +1613,45 @@ pub static ALL_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::MangroveWallSign,
Block::BambooWallSign,
Block::CherryWallSign,
+ ])
+});
+pub static UNDERWATER_BONEMEALS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Seagrass,
+ Block::TubeCoralFan,
+ Block::BrainCoralFan,
+ Block::BubbleCoralFan,
+ Block::FireCoralFan,
+ Block::HornCoralFan,
+ Block::TubeCoralWallFan,
+ Block::BrainCoralWallFan,
+ Block::BubbleCoralWallFan,
+ Block::FireCoralWallFan,
+ Block::HornCoralWallFan,
+ Block::TubeCoral,
+ Block::BrainCoral,
+ Block::BubbleCoral,
+ Block::FireCoral,
+ Block::HornCoral,
+ ])
+});
+pub static CEILING_HANGING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::OakHangingSign,
+ Block::SpruceHangingSign,
+ Block::BirchHangingSign,
+ Block::AcaciaHangingSign,
+ Block::CherryHangingSign,
+ Block::JungleHangingSign,
+ Block::DarkOakHangingSign,
+ Block::CrimsonHangingSign,
+ Block::WarpedHangingSign,
+ Block::MangroveHangingSign,
+ Block::BambooHangingSign,
+ ])
+});
+pub static ALL_HANGING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
Block::OakHangingSign,
Block::SpruceHangingSign,
Block::BirchHangingSign,
@@ -2704,7 +1676,7 @@ pub static ALL_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::BambooWallHangingSign,
])
});
-pub static SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static ALL_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::OakSign,
Block::SpruceSign,
@@ -2728,184 +1700,219 @@ pub static SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::MangroveWallSign,
Block::BambooWallSign,
Block::CherryWallSign,
+ Block::OakHangingSign,
+ Block::SpruceHangingSign,
+ Block::BirchHangingSign,
+ Block::AcaciaHangingSign,
+ Block::CherryHangingSign,
+ Block::JungleHangingSign,
+ Block::DarkOakHangingSign,
+ Block::CrimsonHangingSign,
+ Block::WarpedHangingSign,
+ Block::MangroveHangingSign,
+ Block::BambooHangingSign,
+ Block::OakWallHangingSign,
+ Block::SpruceWallHangingSign,
+ Block::BirchWallHangingSign,
+ Block::AcaciaWallHangingSign,
+ Block::CherryWallHangingSign,
+ Block::JungleWallHangingSign,
+ Block::DarkOakWallHangingSign,
+ Block::CrimsonWallHangingSign,
+ Block::WarpedWallHangingSign,
+ Block::MangroveWallHangingSign,
+ Block::BambooWallHangingSign,
])
});
-pub static INFINIBURN_NETHER: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Netherrack, Block::MagmaBlock]));
-pub static NETHER_CARVER_REPLACEABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static BEDS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::SoulSand,
- Block::SoulSoil,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Netherrack,
- Block::Basalt,
- Block::Blackstone,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- Block::NetherWartBlock,
- Block::WarpedWartBlock,
+ Block::RedBed,
+ Block::BlackBed,
+ Block::BlueBed,
+ Block::BrownBed,
+ Block::CyanBed,
+ Block::GrayBed,
+ Block::GreenBed,
+ Block::LightBlueBed,
+ Block::LightGrayBed,
+ Block::LimeBed,
+ Block::MagentaBed,
+ Block::OrangeBed,
+ Block::PinkBed,
+ Block::PurpleBed,
+ Block::WhiteBed,
+ Block::YellowBed,
])
});
-pub static CRYSTAL_SOUND_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::AmethystBlock, Block::BuddingAmethyst]));
-pub static DIRT: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static FENCES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
+ Block::NetherBrickFence,
+ Block::OakFence,
+ Block::AcaciaFence,
+ Block::DarkOakFence,
+ Block::SpruceFence,
+ Block::BirchFence,
+ Block::JungleFence,
+ Block::CrimsonFence,
+ Block::WarpedFence,
+ Block::MangroveFence,
+ Block::BambooFence,
+ Block::CherryFence,
])
});
-pub static MOOSHROOMS_SPAWNABLE_ON: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Mycelium]));
-pub static PRESSURE_PLATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DRAGON_IMMUNE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::LightWeightedPressurePlate,
- Block::HeavyWeightedPressurePlate,
- Block::OakPressurePlate,
- Block::SprucePressurePlate,
- Block::BirchPressurePlate,
- Block::JunglePressurePlate,
- Block::AcaciaPressurePlate,
- Block::DarkOakPressurePlate,
- Block::CrimsonPressurePlate,
- Block::WarpedPressurePlate,
- Block::MangrovePressurePlate,
- Block::BambooPressurePlate,
- Block::CherryPressurePlate,
- Block::StonePressurePlate,
- Block::PolishedBlackstonePressurePlate,
+ Block::Barrier,
+ Block::Bedrock,
+ Block::EndPortal,
+ Block::EndPortalFrame,
+ Block::EndGateway,
+ Block::CommandBlock,
+ Block::RepeatingCommandBlock,
+ Block::ChainCommandBlock,
+ Block::StructureBlock,
+ Block::Jigsaw,
+ Block::MovingPiston,
+ Block::Obsidian,
+ Block::CryingObsidian,
+ Block::EndStone,
+ Block::IronBars,
+ Block::RespawnAnchor,
+ Block::ReinforcedDeepslate,
])
});
-pub static LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DRAGON_TRANSPARENT: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Light, Block::Fire, Block::SoulFire]));
+pub static WITHER_IMMUNE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
+ Block::Barrier,
+ Block::Bedrock,
+ Block::EndPortal,
+ Block::EndPortalFrame,
+ Block::EndGateway,
+ Block::CommandBlock,
+ Block::RepeatingCommandBlock,
+ Block::ChainCommandBlock,
+ Block::StructureBlock,
+ Block::Jigsaw,
+ Block::MovingPiston,
+ Block::Light,
+ Block::ReinforcedDeepslate,
])
});
-pub static MANGROVE_ROOTS_CAN_GROW_THROUGH: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WITHER_SUMMON_BASE_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::SoulSand, Block::SoulSoil]));
+pub static TALL_FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::MangroveRoots,
- Block::MossCarpet,
- Block::Vine,
+ Block::Sunflower,
+ Block::Lilac,
+ Block::Peony,
+ Block::RoseBush,
+ Block::PitcherPlant,
+ ])
+});
+pub static FLOWERS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::FloweringAzaleaLeaves,
+ Block::FloweringAzalea,
Block::MangrovePropagule,
- Block::Snow,
+ Block::CherryLeaves,
+ Block::PinkPetals,
+ Block::ChorusFlower,
+ Block::SporeBlossom,
+ Block::Dandelion,
+ Block::Poppy,
+ Block::BlueOrchid,
+ Block::Allium,
+ Block::AzureBluet,
+ Block::RedTulip,
+ Block::OrangeTulip,
+ Block::WhiteTulip,
+ Block::PinkTulip,
+ Block::OxeyeDaisy,
+ Block::Cornflower,
+ Block::LilyOfTheValley,
+ Block::WitherRose,
+ Block::Torchflower,
+ Block::Sunflower,
+ Block::Lilac,
+ Block::Peony,
+ Block::RoseBush,
+ Block::PitcherPlant,
])
});
-pub static CLIMBABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static BEEHIVES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::BeeNest, Block::Beehive]));
+pub static BEE_GROWABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Ladder,
- Block::Vine,
- Block::Scaffolding,
- Block::WeepingVines,
- Block::WeepingVinesPlant,
- Block::TwistingVines,
- Block::TwistingVinesPlant,
+ Block::SweetBerryBush,
Block::CaveVines,
Block::CaveVinesPlant,
+ Block::Beetroots,
+ Block::Carrots,
+ Block::Potatoes,
+ Block::Wheat,
+ Block::MelonStem,
+ Block::PumpkinStem,
+ Block::TorchflowerCrop,
+ Block::PitcherCrop,
])
});
-pub static WOODEN_BUTTONS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SHULKER_BOXES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakButton,
- Block::SpruceButton,
- Block::BirchButton,
- Block::JungleButton,
- Block::AcaciaButton,
- Block::DarkOakButton,
- Block::CrimsonButton,
- Block::WarpedButton,
- Block::MangroveButton,
- Block::BambooButton,
- Block::CherryButton,
+ Block::ShulkerBox,
+ Block::BlackShulkerBox,
+ Block::BlueShulkerBox,
+ Block::BrownShulkerBox,
+ Block::CyanShulkerBox,
+ Block::GrayShulkerBox,
+ Block::GreenShulkerBox,
+ Block::LightBlueShulkerBox,
+ Block::LightGrayShulkerBox,
+ Block::LimeShulkerBox,
+ Block::MagentaShulkerBox,
+ Block::OrangeShulkerBox,
+ Block::PinkShulkerBox,
+ Block::PurpleShulkerBox,
+ Block::RedShulkerBox,
+ Block::WhiteShulkerBox,
+ Block::YellowShulkerBox,
])
});
-pub static ENCHANTMENT_POWER_PROVIDER: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Bookshelf]));
-pub static CAULDRONS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CROPS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Cauldron,
- Block::WaterCauldron,
- Block::LavaCauldron,
- Block::PowderSnowCauldron,
+ Block::Beetroots,
+ Block::Carrots,
+ Block::Potatoes,
+ Block::Wheat,
+ Block::MelonStem,
+ Block::PumpkinStem,
+ Block::TorchflowerCrop,
+ Block::PitcherCrop,
])
});
-pub static SMELTS_TO_GLASS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Sand, Block::RedSand]));
-pub static WALL_HANGING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static PORTALS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakWallHangingSign,
- Block::SpruceWallHangingSign,
- Block::BirchWallHangingSign,
- Block::AcaciaWallHangingSign,
- Block::CherryWallHangingSign,
- Block::JungleWallHangingSign,
- Block::DarkOakWallHangingSign,
- Block::CrimsonWallHangingSign,
- Block::WarpedWallHangingSign,
- Block::MangroveWallHangingSign,
- Block::BambooWallHangingSign,
+ Block::NetherPortal,
+ Block::EndPortal,
+ Block::EndGateway,
+ ])
+});
+pub static FIRE: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Fire, Block::SoulFire]));
+pub static BEACON_BASE_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::NetheriteBlock,
+ Block::EmeraldBlock,
+ Block::DiamondBlock,
+ Block::GoldBlock,
+ Block::IronBlock,
])
});
+pub static WART_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::NetherWartBlock, Block::WarpedWartBlock]));
+pub static SOUL_SPEED_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::SoulSand, Block::SoulSoil]));
pub static WALL_POST_OVERRIDE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::Torch,
@@ -2983,6 +1990,34 @@ pub static WALL_POST_OVERRIDE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::PolishedBlackstonePressurePlate,
])
});
+pub static CLIMBABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Ladder,
+ Block::Vine,
+ Block::Scaffolding,
+ Block::WeepingVines,
+ Block::WeepingVinesPlant,
+ Block::TwistingVines,
+ Block::TwistingVinesPlant,
+ Block::CaveVines,
+ Block::CaveVinesPlant,
+ ])
+});
+pub static FALL_DAMAGE_RESETTING: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::SweetBerryBush,
+ Block::Cobweb,
+ Block::Ladder,
+ Block::Vine,
+ Block::Scaffolding,
+ Block::WeepingVines,
+ Block::WeepingVinesPlant,
+ Block::TwistingVines,
+ Block::TwistingVinesPlant,
+ Block::CaveVines,
+ Block::CaveVinesPlant,
+ ])
+});
pub static HOGLIN_REPELLENTS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::WarpedFungus,
@@ -2991,54 +2026,157 @@ pub static HOGLIN_REPELLENTS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::RespawnAnchor,
])
});
-pub static FLOWER_POTS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static PIGLIN_REPELLENTS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::FlowerPot,
- Block::PottedPoppy,
- Block::PottedBlueOrchid,
- Block::PottedAllium,
- Block::PottedAzureBluet,
- Block::PottedRedTulip,
- Block::PottedOrangeTulip,
- Block::PottedWhiteTulip,
- Block::PottedPinkTulip,
- Block::PottedOxeyeDaisy,
- Block::PottedDandelion,
- Block::PottedOakSapling,
- Block::PottedSpruceSapling,
- Block::PottedBirchSapling,
- Block::PottedJungleSapling,
- Block::PottedAcaciaSapling,
- Block::PottedDarkOakSapling,
- Block::PottedRedMushroom,
- Block::PottedBrownMushroom,
- Block::PottedDeadBush,
- Block::PottedFern,
- Block::PottedCactus,
- Block::PottedCornflower,
- Block::PottedLilyOfTheValley,
- Block::PottedWitherRose,
- Block::PottedBamboo,
- Block::PottedCrimsonFungus,
- Block::PottedWarpedFungus,
- Block::PottedCrimsonRoots,
- Block::PottedWarpedRoots,
- Block::PottedAzaleaBush,
- Block::PottedFloweringAzaleaBush,
- Block::PottedMangrovePropagule,
- Block::PottedCherrySapling,
- Block::PottedTorchflower,
+ Block::SoulFire,
+ Block::SoulTorch,
+ Block::SoulLantern,
+ Block::SoulWallTorch,
+ Block::SoulCampfire,
])
});
-pub static JUNGLE_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static GOLD_ORES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
+ Block::GoldOre,
+ Block::NetherGoldOre,
+ Block::DeepslateGoldOre,
])
});
-pub static DRIPSTONE_REPLACEABLE_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static IRON_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::IronOre, Block::DeepslateIronOre]));
+pub static DIAMOND_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::DiamondOre, Block::DeepslateDiamondOre]));
+pub static BAMBOO_PLANTABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Bamboo,
+ Block::BambooSapling,
+ Block::Gravel,
+ Block::SuspiciousGravel,
+ Block::Sand,
+ Block::RedSand,
+ Block::SuspiciousSand,
+ Block::SuspiciousSand,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ ])
+});
+pub static COAL_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::CoalOre, Block::DeepslateCoalOre]));
+pub static REDSTONE_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::RedstoneOre, Block::DeepslateRedstoneOre]));
+pub static EMERALD_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::EmeraldOre, Block::DeepslateEmeraldOre]));
+pub static COPPER_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::CopperOre, Block::DeepslateCopperOre]));
+pub static LAPIS_ORES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::LapisOre, Block::DeepslateLapisOre]));
+pub static SOUL_FIRE_BASE_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::SoulSand, Block::SoulSoil]));
+pub static STRIDER_WARM_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Lava]));
+pub static CAMPFIRES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Campfire, Block::SoulCampfire]));
+pub static GUARDED_BY_PIGLINS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::GoldBlock,
+ Block::Barrel,
+ Block::Chest,
+ Block::EnderChest,
+ Block::GildedBlackstone,
+ Block::TrappedChest,
+ Block::RawGoldBlock,
+ Block::ShulkerBox,
+ Block::BlackShulkerBox,
+ Block::BlueShulkerBox,
+ Block::BrownShulkerBox,
+ Block::CyanShulkerBox,
+ Block::GrayShulkerBox,
+ Block::GreenShulkerBox,
+ Block::LightBlueShulkerBox,
+ Block::LightGrayShulkerBox,
+ Block::LimeShulkerBox,
+ Block::MagentaShulkerBox,
+ Block::OrangeShulkerBox,
+ Block::PinkShulkerBox,
+ Block::PurpleShulkerBox,
+ Block::RedShulkerBox,
+ Block::WhiteShulkerBox,
+ Block::YellowShulkerBox,
+ Block::GoldOre,
+ Block::NetherGoldOre,
+ Block::DeepslateGoldOre,
+ ])
+});
+pub static PREVENT_MOB_SPAWNING_INSIDE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Rail,
+ Block::PoweredRail,
+ Block::DetectorRail,
+ Block::ActivatorRail,
+ ])
+});
+pub static FENCE_GATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::AcaciaFenceGate,
+ Block::BirchFenceGate,
+ Block::DarkOakFenceGate,
+ Block::JungleFenceGate,
+ Block::OakFenceGate,
+ Block::SpruceFenceGate,
+ Block::CrimsonFenceGate,
+ Block::WarpedFenceGate,
+ Block::MangroveFenceGate,
+ Block::BambooFenceGate,
+ Block::CherryFenceGate,
+ ])
+});
+pub static UNSTABLE_BOTTOM_CENTER: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::AcaciaFenceGate,
+ Block::BirchFenceGate,
+ Block::DarkOakFenceGate,
+ Block::JungleFenceGate,
+ Block::OakFenceGate,
+ Block::SpruceFenceGate,
+ Block::CrimsonFenceGate,
+ Block::WarpedFenceGate,
+ Block::MangroveFenceGate,
+ Block::BambooFenceGate,
+ Block::CherryFenceGate,
+ ])
+});
+pub static MUSHROOM_GROW_BLOCK: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Mycelium,
+ Block::Podzol,
+ Block::CrimsonNylium,
+ Block::WarpedNylium,
+ ])
+});
+pub static INFINIBURN_OVERWORLD: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Netherrack, Block::MagmaBlock]));
+pub static INFINIBURN_NETHER: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Netherrack, Block::MagmaBlock]));
+pub static INFINIBURN_END: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Bedrock, Block::Netherrack, Block::MagmaBlock]));
+pub static STONE_ORE_REPLACEABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ ])
+});
+pub static DEEPSLATE_ORE_REPLACEABLES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Deepslate, Block::Tuff]));
+pub static BASE_STONE_OVERWORLD: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::Stone,
Block::Granite,
@@ -3048,65 +2186,90 @@ pub static DRIPSTONE_REPLACEABLE_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::Deepslate,
])
});
-pub static SNOW: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Snow, Block::SnowBlock, Block::PowderSnow]));
-pub static TRAPDOORS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CANDLES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::IronTrapdoor,
- Block::AcaciaTrapdoor,
- Block::BirchTrapdoor,
- Block::DarkOakTrapdoor,
- Block::JungleTrapdoor,
- Block::OakTrapdoor,
- Block::SpruceTrapdoor,
- Block::CrimsonTrapdoor,
- Block::WarpedTrapdoor,
- Block::MangroveTrapdoor,
- Block::BambooTrapdoor,
- Block::CherryTrapdoor,
+ Block::Candle,
+ Block::WhiteCandle,
+ Block::OrangeCandle,
+ Block::MagentaCandle,
+ Block::LightBlueCandle,
+ Block::YellowCandle,
+ Block::LimeCandle,
+ Block::PinkCandle,
+ Block::GrayCandle,
+ Block::LightGrayCandle,
+ Block::CyanCandle,
+ Block::PurpleCandle,
+ Block::BlueCandle,
+ Block::BrownCandle,
+ Block::GreenCandle,
+ Block::RedCandle,
+ Block::BlackCandle,
])
});
-pub static AXOLOTLS_SPAWNABLE_ON: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Clay]));
-pub static TRAIL_RUINS_REPLACEABLE: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Gravel]));
-pub static WARPED_STEMS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static STANDING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
+ Block::OakSign,
+ Block::SpruceSign,
+ Block::BirchSign,
+ Block::AcaciaSign,
+ Block::JungleSign,
+ Block::DarkOakSign,
+ Block::CrimsonSign,
+ Block::WarpedSign,
+ Block::MangroveSign,
+ Block::BambooSign,
+ Block::CherrySign,
])
});
-pub static SNOW_LAYER_CAN_SURVIVE_ON: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::HoneyBlock, Block::SoulSand, Block::Mud]));
-pub static BASE_STONE_NETHER: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Netherrack, Block::Basalt, Block::Blackstone]));
-pub static CAMPFIRES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::Campfire, Block::SoulCampfire]));
-pub static IRON_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::IronOre, Block::DeepslateIronOre]));
-pub static RAILS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static WALL_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Rail,
- Block::PoweredRail,
- Block::DetectorRail,
- Block::ActivatorRail,
+ Block::OakWallSign,
+ Block::SpruceWallSign,
+ Block::BirchWallSign,
+ Block::AcaciaWallSign,
+ Block::JungleWallSign,
+ Block::DarkOakWallSign,
+ Block::CrimsonWallSign,
+ Block::WarpedWallSign,
+ Block::MangroveWallSign,
+ Block::BambooWallSign,
+ Block::CherryWallSign,
])
});
-pub static PLANKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CANDLE_CAKES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakPlanks,
- Block::SprucePlanks,
- Block::BirchPlanks,
- Block::JunglePlanks,
- Block::AcaciaPlanks,
- Block::DarkOakPlanks,
- Block::CrimsonPlanks,
- Block::WarpedPlanks,
- Block::MangrovePlanks,
- Block::BambooPlanks,
- Block::CherryPlanks,
+ Block::CandleCake,
+ Block::WhiteCandleCake,
+ Block::OrangeCandleCake,
+ Block::MagentaCandleCake,
+ Block::LightBlueCandleCake,
+ Block::YellowCandleCake,
+ Block::LimeCandleCake,
+ Block::PinkCandleCake,
+ Block::GrayCandleCake,
+ Block::LightGrayCandleCake,
+ Block::CyanCandleCake,
+ Block::PurpleCandleCake,
+ Block::BlueCandleCake,
+ Block::BrownCandleCake,
+ Block::GreenCandleCake,
+ Block::RedCandleCake,
+ Block::BlackCandleCake,
+ ])
+});
+pub static CRYSTAL_SOUND_BLOCKS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::AmethystBlock, Block::BuddingAmethyst]));
+pub static SMELTS_TO_GLASS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Sand, Block::RedSand]));
+pub static INSIDE_STEP_SOUND_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::PowderSnow,
+ Block::SculkVein,
+ Block::GlowLichen,
+ Block::LilyPad,
+ Block::SmallAmethystBud,
+ Block::PinkPetals,
])
});
pub static COMBINATION_STEP_SOUND_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
@@ -3134,20 +2297,75 @@ pub static COMBINATION_STEP_SOUND_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::BlackCarpet,
])
});
-pub static SCULK_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DRIPSTONE_REPLACEABLE_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ Block::Tuff,
+ Block::Deepslate,
+ ])
+});
+pub static BASE_STONE_NETHER: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Netherrack, Block::Basalt, Block::Blackstone]));
+pub static MOSS_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ Block::Tuff,
+ Block::Deepslate,
+ Block::CaveVinesPlant,
+ Block::CaveVines,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ ])
+});
+pub static CAVE_VINES: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::CaveVinesPlant, Block::CaveVines]));
+pub static LUSH_GROUND_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Block::Clay,
+ Block::Gravel,
Block::Sand,
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ Block::Tuff,
+ Block::Deepslate,
+ Block::CaveVinesPlant,
+ Block::CaveVines,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ ])
+});
+pub static SMALL_DRIPLEAF_PLACEABLE: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Clay, Block::MossBlock]));
+pub static AZALEA_ROOT_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
Block::RedSand,
- Block::Gravel,
- Block::SoulSand,
- Block::SoulSoil,
- Block::Calcite,
- Block::SmoothBasalt,
Block::Clay,
- Block::DripstoneBlock,
- Block::EndStone,
- Block::RedSandstone,
- Block::Sandstone,
+ Block::Gravel,
+ Block::Sand,
+ Block::SnowBlock,
+ Block::PowderSnow,
Block::Stone,
Block::Granite,
Block::Diorite,
@@ -3180,25 +2398,13 @@ pub static SCULK_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::GreenTerracotta,
Block::RedTerracotta,
Block::BlackTerracotta,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- Block::Netherrack,
- Block::Basalt,
- Block::Blackstone,
])
});
-pub static BAMBOO_BLOCKS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::BambooBlock, Block::StrippedBambooBlock]));
-pub static MOSS_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static BIG_DRIPLEAF_PLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::CaveVinesPlant,
- Block::CaveVines,
+ Block::Farmland,
+ Block::Clay,
+ Block::MossBlock,
Block::Dirt,
Block::GrassBlock,
Block::Podzol,
@@ -3210,36 +2416,27 @@ pub static MOSS_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::MuddyMangroveRoots,
])
});
-pub static CANDLES: Lazy<HashSet<Block>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Block::Candle,
- Block::WhiteCandle,
- Block::OrangeCandle,
- Block::MagentaCandle,
- Block::LightBlueCandle,
- Block::YellowCandle,
- Block::LimeCandle,
- Block::PinkCandle,
- Block::GrayCandle,
- Block::LightGrayCandle,
- Block::CyanCandle,
- Block::PurpleCandle,
- Block::BlueCandle,
- Block::BrownCandle,
- Block::GreenCandle,
- Block::RedCandle,
- Block::BlackCandle,
- ])
-});
-pub static SPRUCE_LOGS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static OCCLUDES_VIBRATION_SIGNALS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
+ Block::WhiteWool,
+ Block::OrangeWool,
+ Block::MagentaWool,
+ Block::LightBlueWool,
+ Block::YellowWool,
+ Block::LimeWool,
+ Block::PinkWool,
+ Block::GrayWool,
+ Block::LightGrayWool,
+ Block::CyanWool,
+ Block::PurpleWool,
+ Block::BlueWool,
+ Block::BrownWool,
+ Block::GreenWool,
+ Block::RedWool,
+ Block::BlackWool,
])
});
-pub static OCCLUDES_VIBRATION_SIGNALS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DAMPENS_VIBRATIONS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::WhiteWool,
Block::OrangeWool,
@@ -3257,16 +2454,617 @@ pub static OCCLUDES_VIBRATION_SIGNALS: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::GreenWool,
Block::RedWool,
Block::BlackWool,
+ Block::WhiteCarpet,
+ Block::OrangeCarpet,
+ Block::MagentaCarpet,
+ Block::LightBlueCarpet,
+ Block::YellowCarpet,
+ Block::LimeCarpet,
+ Block::PinkCarpet,
+ Block::GrayCarpet,
+ Block::LightGrayCarpet,
+ Block::CyanCarpet,
+ Block::PurpleCarpet,
+ Block::BlueCarpet,
+ Block::BrownCarpet,
+ Block::GreenCarpet,
+ Block::RedCarpet,
+ Block::BlackCarpet,
])
});
-pub static AZALEA_ROOT_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SNOW: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Snow, Block::SnowBlock, Block::PowderSnow]));
+pub static NEEDS_DIAMOND_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Obsidian,
+ Block::CryingObsidian,
+ Block::NetheriteBlock,
+ Block::RespawnAnchor,
+ Block::AncientDebris,
+ ])
+});
+pub static SWORD_EFFICIENT: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::ShortGrass,
+ Block::Fern,
+ Block::DeadBush,
+ Block::Vine,
+ Block::GlowLichen,
+ Block::Sunflower,
+ Block::Lilac,
+ Block::RoseBush,
+ Block::Peony,
+ Block::TallGrass,
+ Block::LargeFern,
+ Block::HangingRoots,
+ Block::PitcherPlant,
+ Block::BrownMushroom,
+ Block::RedMushroom,
+ Block::SugarCane,
+ Block::Pumpkin,
+ Block::CarvedPumpkin,
+ Block::JackOLantern,
+ Block::Melon,
+ Block::AttachedPumpkinStem,
+ Block::AttachedMelonStem,
+ Block::LilyPad,
+ Block::Cocoa,
+ Block::PitcherCrop,
+ Block::SweetBerryBush,
+ Block::CaveVines,
+ Block::CaveVinesPlant,
+ Block::SporeBlossom,
+ Block::MossCarpet,
+ Block::PinkPetals,
+ Block::BigDripleaf,
+ Block::BigDripleafStem,
+ Block::SmallDripleaf,
+ Block::NetherWart,
+ Block::WarpedFungus,
+ Block::WarpedRoots,
+ Block::NetherSprouts,
+ Block::CrimsonFungus,
+ Block::WeepingVines,
+ Block::WeepingVinesPlant,
+ Block::TwistingVines,
+ Block::TwistingVinesPlant,
+ Block::CrimsonRoots,
+ Block::ChorusPlant,
+ Block::ChorusFlower,
+ Block::JungleLeaves,
+ Block::OakLeaves,
+ Block::SpruceLeaves,
+ Block::DarkOakLeaves,
+ Block::AcaciaLeaves,
+ Block::BirchLeaves,
+ Block::AzaleaLeaves,
+ Block::FloweringAzaleaLeaves,
+ Block::MangroveLeaves,
+ Block::CherryLeaves,
+ Block::OakSapling,
+ Block::SpruceSapling,
+ Block::BirchSapling,
+ Block::JungleSapling,
+ Block::AcaciaSapling,
+ Block::DarkOakSapling,
+ Block::Azalea,
+ Block::FloweringAzalea,
+ Block::MangrovePropagule,
+ Block::CherrySapling,
+ Block::Dandelion,
+ Block::Poppy,
+ Block::BlueOrchid,
+ Block::Allium,
+ Block::AzureBluet,
+ Block::RedTulip,
+ Block::OrangeTulip,
+ Block::WhiteTulip,
+ Block::PinkTulip,
+ Block::OxeyeDaisy,
+ Block::Cornflower,
+ Block::LilyOfTheValley,
+ Block::WitherRose,
+ Block::Torchflower,
+ Block::Beetroots,
+ Block::Carrots,
+ Block::Potatoes,
+ Block::Wheat,
+ Block::MelonStem,
+ Block::PumpkinStem,
+ Block::TorchflowerCrop,
+ Block::PitcherCrop,
+ ])
+});
+pub static NEEDS_IRON_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::DiamondBlock,
+ Block::DiamondOre,
+ Block::DeepslateDiamondOre,
+ Block::EmeraldOre,
+ Block::DeepslateEmeraldOre,
+ Block::EmeraldBlock,
+ Block::GoldBlock,
+ Block::RawGoldBlock,
+ Block::GoldOre,
+ Block::DeepslateGoldOre,
+ Block::RedstoneOre,
+ Block::DeepslateRedstoneOre,
+ ])
+});
+pub static INCORRECT_FOR_NETHERITE_TOOL: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![]));
+pub static CAULDRONS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Cauldron,
+ Block::WaterCauldron,
+ Block::LavaCauldron,
+ Block::PowderSnowCauldron,
+ ])
+});
+pub static INCORRECT_FOR_DIAMOND_TOOL: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![]));
+pub static INCORRECT_FOR_IRON_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Obsidian,
+ Block::CryingObsidian,
+ Block::NetheriteBlock,
+ Block::RespawnAnchor,
+ Block::AncientDebris,
+ ])
+});
+pub static INCORRECT_FOR_STONE_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Obsidian,
+ Block::CryingObsidian,
+ Block::NetheriteBlock,
+ Block::RespawnAnchor,
+ Block::AncientDebris,
+ Block::DiamondBlock,
+ Block::DiamondOre,
+ Block::DeepslateDiamondOre,
+ Block::EmeraldOre,
+ Block::DeepslateEmeraldOre,
+ Block::EmeraldBlock,
+ Block::GoldBlock,
+ Block::RawGoldBlock,
+ Block::GoldOre,
+ Block::DeepslateGoldOre,
+ Block::RedstoneOre,
+ Block::DeepslateRedstoneOre,
+ ])
+});
+pub static INCORRECT_FOR_GOLD_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Obsidian,
+ Block::CryingObsidian,
+ Block::NetheriteBlock,
+ Block::RespawnAnchor,
+ Block::AncientDebris,
+ Block::DiamondBlock,
+ Block::DiamondOre,
+ Block::DeepslateDiamondOre,
+ Block::EmeraldOre,
+ Block::DeepslateEmeraldOre,
+ Block::EmeraldBlock,
+ Block::GoldBlock,
+ Block::RawGoldBlock,
+ Block::GoldOre,
+ Block::DeepslateGoldOre,
+ Block::RedstoneOre,
+ Block::DeepslateRedstoneOre,
+ Block::IronBlock,
+ Block::RawIronBlock,
+ Block::IronOre,
+ Block::DeepslateIronOre,
+ Block::LapisBlock,
+ Block::LapisOre,
+ Block::DeepslateLapisOre,
+ Block::CopperBlock,
+ Block::RawCopperBlock,
+ Block::CopperOre,
+ Block::DeepslateCopperOre,
+ Block::CutCopperSlab,
+ Block::CutCopperStairs,
+ Block::CutCopper,
+ Block::WeatheredCopper,
+ Block::WeatheredCutCopperSlab,
+ Block::WeatheredCutCopperStairs,
+ Block::WeatheredCutCopper,
+ Block::OxidizedCopper,
+ Block::OxidizedCutCopperSlab,
+ Block::OxidizedCutCopperStairs,
+ Block::OxidizedCutCopper,
+ Block::ExposedCopper,
+ Block::ExposedCutCopperSlab,
+ Block::ExposedCutCopperStairs,
+ Block::ExposedCutCopper,
+ Block::WaxedCopperBlock,
+ Block::WaxedCutCopperSlab,
+ Block::WaxedCutCopperStairs,
+ Block::WaxedCutCopper,
+ Block::WaxedWeatheredCopper,
+ Block::WaxedWeatheredCutCopperSlab,
+ Block::WaxedWeatheredCutCopperStairs,
+ Block::WaxedWeatheredCutCopper,
+ Block::WaxedExposedCopper,
+ Block::WaxedExposedCutCopperSlab,
+ Block::WaxedExposedCutCopperStairs,
+ Block::WaxedExposedCutCopper,
+ Block::WaxedOxidizedCopper,
+ Block::WaxedOxidizedCutCopperSlab,
+ Block::WaxedOxidizedCutCopperStairs,
+ Block::WaxedOxidizedCutCopper,
+ Block::LightningRod,
+ ])
+});
+pub static INCORRECT_FOR_WOODEN_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Obsidian,
+ Block::CryingObsidian,
+ Block::NetheriteBlock,
+ Block::RespawnAnchor,
+ Block::AncientDebris,
+ Block::DiamondBlock,
+ Block::DiamondOre,
+ Block::DeepslateDiamondOre,
+ Block::EmeraldOre,
+ Block::DeepslateEmeraldOre,
+ Block::EmeraldBlock,
+ Block::GoldBlock,
+ Block::RawGoldBlock,
+ Block::GoldOre,
+ Block::DeepslateGoldOre,
+ Block::RedstoneOre,
+ Block::DeepslateRedstoneOre,
+ Block::IronBlock,
+ Block::RawIronBlock,
+ Block::IronOre,
+ Block::DeepslateIronOre,
+ Block::LapisBlock,
+ Block::LapisOre,
+ Block::DeepslateLapisOre,
+ Block::CopperBlock,
+ Block::RawCopperBlock,
+ Block::CopperOre,
+ Block::DeepslateCopperOre,
+ Block::CutCopperSlab,
+ Block::CutCopperStairs,
+ Block::CutCopper,
+ Block::WeatheredCopper,
+ Block::WeatheredCutCopperSlab,
+ Block::WeatheredCutCopperStairs,
+ Block::WeatheredCutCopper,
+ Block::OxidizedCopper,
+ Block::OxidizedCutCopperSlab,
+ Block::OxidizedCutCopperStairs,
+ Block::OxidizedCutCopper,
+ Block::ExposedCopper,
+ Block::ExposedCutCopperSlab,
+ Block::ExposedCutCopperStairs,
+ Block::ExposedCutCopper,
+ Block::WaxedCopperBlock,
+ Block::WaxedCutCopperSlab,
+ Block::WaxedCutCopperStairs,
+ Block::WaxedCutCopper,
+ Block::WaxedWeatheredCopper,
+ Block::WaxedWeatheredCutCopperSlab,
+ Block::WaxedWeatheredCutCopperStairs,
+ Block::WaxedWeatheredCutCopper,
+ Block::WaxedExposedCopper,
+ Block::WaxedExposedCutCopperSlab,
+ Block::WaxedExposedCutCopperStairs,
+ Block::WaxedExposedCutCopper,
+ Block::WaxedOxidizedCopper,
+ Block::WaxedOxidizedCutCopperSlab,
+ Block::WaxedOxidizedCutCopperStairs,
+ Block::WaxedOxidizedCutCopper,
+ Block::LightningRod,
+ ])
+});
+pub static FEATURES_CANNOT_REPLACE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Bedrock,
+ Block::Spawner,
+ Block::Chest,
+ Block::EndPortalFrame,
+ Block::ReinforcedDeepslate,
+ ])
+});
+pub static LAVA_POOL_STONE_CANNOT_REPLACE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Bedrock,
+ Block::Spawner,
+ Block::Chest,
+ Block::EndPortalFrame,
+ Block::ReinforcedDeepslate,
+ Block::JungleLeaves,
+ Block::OakLeaves,
+ Block::SpruceLeaves,
+ Block::DarkOakLeaves,
+ Block::AcaciaLeaves,
+ Block::BirchLeaves,
+ Block::AzaleaLeaves,
+ Block::FloweringAzaleaLeaves,
+ Block::MangroveLeaves,
+ Block::CherryLeaves,
+ Block::CrimsonStem,
+ Block::StrippedCrimsonStem,
+ Block::CrimsonHyphae,
+ Block::StrippedCrimsonHyphae,
+ Block::WarpedStem,
+ Block::StrippedWarpedStem,
+ Block::WarpedHyphae,
+ Block::StrippedWarpedHyphae,
+ Block::DarkOakLog,
+ Block::DarkOakWood,
+ Block::StrippedDarkOakLog,
+ Block::StrippedDarkOakWood,
+ Block::OakLog,
+ Block::OakWood,
+ Block::StrippedOakLog,
+ Block::StrippedOakWood,
+ Block::AcaciaLog,
+ Block::AcaciaWood,
+ Block::StrippedAcaciaLog,
+ Block::StrippedAcaciaWood,
+ Block::BirchLog,
+ Block::BirchWood,
+ Block::StrippedBirchLog,
+ Block::StrippedBirchWood,
+ Block::JungleLog,
+ Block::JungleWood,
+ Block::StrippedJungleLog,
+ Block::StrippedJungleWood,
+ Block::SpruceLog,
+ Block::SpruceWood,
+ Block::StrippedSpruceLog,
+ Block::StrippedSpruceWood,
+ Block::MangroveLog,
+ Block::MangroveWood,
+ Block::StrippedMangroveLog,
+ Block::StrippedMangroveWood,
+ Block::CherryLog,
+ Block::CherryWood,
+ Block::StrippedCherryLog,
+ Block::StrippedCherryWood,
+ ])
+});
+pub static GEODE_INVALID_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Bedrock,
+ Block::Water,
+ Block::Lava,
+ Block::Ice,
+ Block::PackedIce,
+ Block::BlueIce,
+ ])
+});
+pub static ANIMALS_SPAWNABLE_ON: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::GrassBlock]));
+pub static ARMADILLO_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::RedSand,
- Block::Clay,
+ Block::CoarseDirt,
+ Block::GrassBlock,
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::YellowTerracotta,
+ Block::OrangeTerracotta,
+ Block::RedTerracotta,
+ Block::BrownTerracotta,
+ Block::LightGrayTerracotta,
+ ])
+});
+pub static AXOLOTLS_SPAWNABLE_ON: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Clay]));
+pub static GOATS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Stone,
+ Block::Snow,
+ Block::SnowBlock,
+ Block::PackedIce,
Block::Gravel,
+ Block::GrassBlock,
+ ])
+});
+pub static MOOSHROOMS_SPAWNABLE_ON: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Mycelium]));
+pub static PARROTS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::GrassBlock,
+ Block::Air,
+ Block::JungleLeaves,
+ Block::OakLeaves,
+ Block::SpruceLeaves,
+ Block::DarkOakLeaves,
+ Block::AcaciaLeaves,
+ Block::BirchLeaves,
+ Block::AzaleaLeaves,
+ Block::FloweringAzaleaLeaves,
+ Block::MangroveLeaves,
+ Block::CherryLeaves,
+ Block::CrimsonStem,
+ Block::StrippedCrimsonStem,
+ Block::CrimsonHyphae,
+ Block::StrippedCrimsonHyphae,
+ Block::WarpedStem,
+ Block::StrippedWarpedStem,
+ Block::WarpedHyphae,
+ Block::StrippedWarpedHyphae,
+ Block::DarkOakLog,
+ Block::DarkOakWood,
+ Block::StrippedDarkOakLog,
+ Block::StrippedDarkOakWood,
+ Block::OakLog,
+ Block::OakWood,
+ Block::StrippedOakLog,
+ Block::StrippedOakWood,
+ Block::AcaciaLog,
+ Block::AcaciaWood,
+ Block::StrippedAcaciaLog,
+ Block::StrippedAcaciaWood,
+ Block::BirchLog,
+ Block::BirchWood,
+ Block::StrippedBirchLog,
+ Block::StrippedBirchWood,
+ Block::JungleLog,
+ Block::JungleWood,
+ Block::StrippedJungleLog,
+ Block::StrippedJungleWood,
+ Block::SpruceLog,
+ Block::SpruceWood,
+ Block::StrippedSpruceLog,
+ Block::StrippedSpruceWood,
+ Block::MangroveLog,
+ Block::MangroveWood,
+ Block::StrippedMangroveLog,
+ Block::StrippedMangroveWood,
+ Block::CherryLog,
+ Block::CherryWood,
+ Block::StrippedCherryLog,
+ Block::StrippedCherryWood,
+ ])
+});
+pub static POLAR_BEARS_SPAWNABLE_ON_ALTERNATE: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Ice]));
+pub static RABBITS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::GrassBlock,
+ Block::Snow,
+ Block::SnowBlock,
Block::Sand,
+ ])
+});
+pub static FOXES_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::GrassBlock,
+ Block::Snow,
+ Block::SnowBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ ])
+});
+pub static WOLVES_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::GrassBlock,
+ Block::Snow,
+ Block::SnowBlock,
+ Block::CoarseDirt,
+ Block::Podzol,
+ ])
+});
+pub static FROGS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::GrassBlock,
+ Block::Mud,
+ Block::MangroveRoots,
+ Block::MuddyMangroveRoots,
+ ])
+});
+pub static BADLANDS_TERRACOTTA: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::YellowTerracotta,
+ Block::OrangeTerracotta,
+ Block::RedTerracotta,
+ Block::BrownTerracotta,
+ Block::LightGrayTerracotta,
+ ])
+});
+pub static TERRACOTTA: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::OrangeTerracotta,
+ Block::MagentaTerracotta,
+ Block::LightBlueTerracotta,
+ Block::YellowTerracotta,
+ Block::LimeTerracotta,
+ Block::PinkTerracotta,
+ Block::GrayTerracotta,
+ Block::LightGrayTerracotta,
+ Block::CyanTerracotta,
+ Block::PurpleTerracotta,
+ Block::BlueTerracotta,
+ Block::BrownTerracotta,
+ Block::GreenTerracotta,
+ Block::RedTerracotta,
+ Block::BlackTerracotta,
+ ])
+});
+pub static CONCRETE_POWDER: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::WhiteConcretePowder,
+ Block::OrangeConcretePowder,
+ Block::MagentaConcretePowder,
+ Block::LightBlueConcretePowder,
+ Block::YellowConcretePowder,
+ Block::LimeConcretePowder,
+ Block::PinkConcretePowder,
+ Block::GrayConcretePowder,
+ Block::LightGrayConcretePowder,
+ Block::CyanConcretePowder,
+ Block::PurpleConcretePowder,
+ Block::BlueConcretePowder,
+ Block::BrownConcretePowder,
+ Block::GreenConcretePowder,
+ Block::RedConcretePowder,
+ Block::BlackConcretePowder,
+ ])
+});
+pub static AZALEA_GROWS_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
Block::SnowBlock,
Block::PowderSnow,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ Block::Sand,
+ Block::RedSand,
+ Block::SuspiciousSand,
+ Block::SuspiciousSand,
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::OrangeTerracotta,
+ Block::MagentaTerracotta,
+ Block::LightBlueTerracotta,
+ Block::YellowTerracotta,
+ Block::LimeTerracotta,
+ Block::PinkTerracotta,
+ Block::GrayTerracotta,
+ Block::LightGrayTerracotta,
+ Block::CyanTerracotta,
+ Block::PurpleTerracotta,
+ Block::BlueTerracotta,
+ Block::BrownTerracotta,
+ Block::GreenTerracotta,
+ Block::RedTerracotta,
+ Block::BlackTerracotta,
+ ])
+});
+pub static FROG_PREFER_JUMP_TO: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::LilyPad, Block::BigDripleaf]));
+pub static SCULK_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Sand,
+ Block::RedSand,
+ Block::Gravel,
+ Block::SoulSand,
+ Block::SoulSoil,
+ Block::Calcite,
+ Block::SmoothBasalt,
+ Block::Clay,
+ Block::DripstoneBlock,
+ Block::EndStone,
+ Block::RedSandstone,
+ Block::Sandstone,
Block::Stone,
Block::Granite,
Block::Diorite,
@@ -3299,32 +3097,174 @@ pub static AZALEA_ROOT_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::GreenTerracotta,
Block::RedTerracotta,
Block::BlackTerracotta,
+ Block::CrimsonNylium,
+ Block::WarpedNylium,
+ Block::Netherrack,
+ Block::Basalt,
+ Block::Blackstone,
])
});
-pub static RABBITS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SCULK_REPLACEABLE_WORLD_GEN: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::GrassBlock,
- Block::Snow,
- Block::SnowBlock,
+ Block::DeepslateBricks,
+ Block::DeepslateTiles,
+ Block::CobbledDeepslate,
+ Block::CrackedDeepslateBricks,
+ Block::CrackedDeepslateTiles,
+ Block::PolishedDeepslate,
Block::Sand,
+ Block::RedSand,
+ Block::Gravel,
+ Block::SoulSand,
+ Block::SoulSoil,
+ Block::Calcite,
+ Block::SmoothBasalt,
+ Block::Clay,
+ Block::DripstoneBlock,
+ Block::EndStone,
+ Block::RedSandstone,
+ Block::Sandstone,
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ Block::Tuff,
+ Block::Deepslate,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::OrangeTerracotta,
+ Block::MagentaTerracotta,
+ Block::LightBlueTerracotta,
+ Block::YellowTerracotta,
+ Block::LimeTerracotta,
+ Block::PinkTerracotta,
+ Block::GrayTerracotta,
+ Block::LightGrayTerracotta,
+ Block::CyanTerracotta,
+ Block::PurpleTerracotta,
+ Block::BlueTerracotta,
+ Block::BrownTerracotta,
+ Block::GreenTerracotta,
+ Block::RedTerracotta,
+ Block::BlackTerracotta,
+ Block::CrimsonNylium,
+ Block::WarpedNylium,
+ Block::Netherrack,
+ Block::Basalt,
+ Block::Blackstone,
])
});
-pub static SAPLINGS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CONVERTABLE_TO_MUD: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Dirt, Block::CoarseDirt, Block::RootedDirt]));
+pub static VIBRATION_RESONATORS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::AmethystBlock]));
+pub static ANCIENT_CITY_REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::OakSapling,
- Block::SpruceSapling,
- Block::BirchSapling,
- Block::JungleSapling,
- Block::AcaciaSapling,
- Block::DarkOakSapling,
- Block::Azalea,
- Block::FloweringAzalea,
+ Block::Deepslate,
+ Block::DeepslateBricks,
+ Block::DeepslateTiles,
+ Block::DeepslateBrickSlab,
+ Block::DeepslateTileSlab,
+ Block::DeepslateBrickStairs,
+ Block::DeepslateTileWall,
+ Block::DeepslateBrickWall,
+ Block::CobbledDeepslate,
+ Block::CrackedDeepslateBricks,
+ Block::CrackedDeepslateTiles,
+ Block::GrayWool,
+ ])
+});
+pub static MANGROVE_LOGS_CAN_GROW_THROUGH: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ Block::MangroveRoots,
+ Block::MangroveLeaves,
+ Block::MangroveLog,
Block::MangrovePropagule,
- Block::CherrySapling,
+ Block::MossCarpet,
+ Block::Vine,
])
});
-pub static LEAVES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static MANGROVE_ROOTS_CAN_GROW_THROUGH: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ Block::MangroveRoots,
+ Block::MossCarpet,
+ Block::Vine,
+ Block::MangrovePropagule,
+ Block::Snow,
+ ])
+});
+pub static DEAD_BUSH_MAY_PLACE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Block::Sand,
+ Block::RedSand,
+ Block::SuspiciousSand,
+ Block::SuspiciousSand,
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::OrangeTerracotta,
+ Block::MagentaTerracotta,
+ Block::LightBlueTerracotta,
+ Block::YellowTerracotta,
+ Block::LimeTerracotta,
+ Block::PinkTerracotta,
+ Block::GrayTerracotta,
+ Block::LightGrayTerracotta,
+ Block::CyanTerracotta,
+ Block::PurpleTerracotta,
+ Block::BlueTerracotta,
+ Block::BrownTerracotta,
+ Block::GreenTerracotta,
+ Block::RedTerracotta,
+ Block::BlackTerracotta,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ ])
+});
+pub static SNOW_LAYER_CANNOT_SURVIVE_ON: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Ice, Block::PackedIce, Block::Barrier]));
+pub static SNOW_LAYER_CAN_SURVIVE_ON: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::HoneyBlock, Block::SoulSand, Block::Mud]));
+pub static REPLACEABLE_BY_TREES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::ShortGrass,
+ Block::Fern,
+ Block::DeadBush,
+ Block::Vine,
+ Block::GlowLichen,
+ Block::Sunflower,
+ Block::Lilac,
+ Block::RoseBush,
+ Block::Peony,
+ Block::TallGrass,
+ Block::LargeFern,
+ Block::HangingRoots,
+ Block::PitcherPlant,
+ Block::Water,
+ Block::Seagrass,
+ Block::TallSeagrass,
+ Block::WarpedRoots,
+ Block::NetherSprouts,
+ Block::CrimsonRoots,
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
@@ -3337,26 +3277,156 @@ pub static LEAVES: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::CherryLeaves,
])
});
-pub static STONE_BUTTONS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::StoneButton, Block::PolishedBlackstoneButton]));
-pub static REDSTONE_ORES: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::RedstoneOre, Block::DeepslateRedstoneOre]));
-pub static CRIMSON_STEMS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static COMPLETES_FIND_TREE_TUTORIAL: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Block::JungleLeaves,
+ Block::OakLeaves,
+ Block::SpruceLeaves,
+ Block::DarkOakLeaves,
+ Block::AcaciaLeaves,
+ Block::BirchLeaves,
+ Block::AzaleaLeaves,
+ Block::FloweringAzaleaLeaves,
+ Block::MangroveLeaves,
+ Block::CherryLeaves,
+ Block::NetherWartBlock,
+ Block::WarpedWartBlock,
Block::CrimsonStem,
Block::StrippedCrimsonStem,
Block::CrimsonHyphae,
Block::StrippedCrimsonHyphae,
+ Block::WarpedStem,
+ Block::StrippedWarpedStem,
+ Block::WarpedHyphae,
+ Block::StrippedWarpedHyphae,
+ Block::DarkOakLog,
+ Block::DarkOakWood,
+ Block::StrippedDarkOakLog,
+ Block::StrippedDarkOakWood,
+ Block::OakLog,
+ Block::OakWood,
+ Block::StrippedOakLog,
+ Block::StrippedOakWood,
+ Block::AcaciaLog,
+ Block::AcaciaWood,
+ Block::StrippedAcaciaLog,
+ Block::StrippedAcaciaWood,
+ Block::BirchLog,
+ Block::BirchWood,
+ Block::StrippedBirchLog,
+ Block::StrippedBirchWood,
+ Block::JungleLog,
+ Block::JungleWood,
+ Block::StrippedJungleLog,
+ Block::StrippedJungleWood,
+ Block::SpruceLog,
+ Block::SpruceWood,
+ Block::StrippedSpruceLog,
+ Block::StrippedSpruceWood,
+ Block::MangroveLog,
+ Block::MangroveWood,
+ Block::StrippedMangroveLog,
+ Block::StrippedMangroveWood,
+ Block::CherryLog,
+ Block::CherryWood,
+ Block::StrippedCherryLog,
+ Block::StrippedCherryWood,
])
});
-pub static FROGS_SPAWNABLE_ON: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static SNAPS_GOAT_HORN: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Block::Stone,
+ Block::PackedIce,
+ Block::IronOre,
+ Block::CoalOre,
+ Block::CopperOre,
+ Block::EmeraldOre,
+ Block::AcaciaLog,
+ Block::BirchLog,
+ Block::OakLog,
+ Block::JungleLog,
+ Block::SpruceLog,
+ Block::DarkOakLog,
+ Block::MangroveLog,
+ Block::CherryLog,
+ ])
+});
+pub static TRAIL_RUINS_REPLACEABLE: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Gravel]));
+pub static INVALID_SPAWN_INSIDE: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::EndPortal, Block::EndGateway]));
+pub static SNIFFER_DIGGABLE_BLOCK: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Dirt,
Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::RootedDirt,
+ Block::MossBlock,
Block::Mud,
- Block::MangroveRoots,
Block::MuddyMangroveRoots,
])
});
+pub static SNIFFER_EGG_HATCH_BOOST: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::MossBlock]));
+pub static REPLACEABLE: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Air,
+ Block::Water,
+ Block::Lava,
+ Block::ShortGrass,
+ Block::Fern,
+ Block::DeadBush,
+ Block::Seagrass,
+ Block::TallSeagrass,
+ Block::Fire,
+ Block::SoulFire,
+ Block::Snow,
+ Block::Vine,
+ Block::GlowLichen,
+ Block::Light,
+ Block::TallGrass,
+ Block::LargeFern,
+ Block::StructureVoid,
+ Block::VoidAir,
+ Block::CaveAir,
+ Block::BubbleColumn,
+ Block::WarpedRoots,
+ Block::NetherSprouts,
+ Block::CrimsonRoots,
+ Block::HangingRoots,
+ ])
+});
+pub static ENCHANTMENT_POWER_PROVIDER: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::Bookshelf]));
+pub static ENCHANTMENT_POWER_TRANSMITTER: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::Air,
+ Block::Water,
+ Block::Lava,
+ Block::ShortGrass,
+ Block::Fern,
+ Block::DeadBush,
+ Block::Seagrass,
+ Block::TallSeagrass,
+ Block::Fire,
+ Block::SoulFire,
+ Block::Snow,
+ Block::Vine,
+ Block::GlowLichen,
+ Block::Light,
+ Block::TallGrass,
+ Block::LargeFern,
+ Block::StructureVoid,
+ Block::VoidAir,
+ Block::CaveAir,
+ Block::BubbleColumn,
+ Block::WarpedRoots,
+ Block::NetherSprouts,
+ Block::CrimsonRoots,
+ Block::HangingRoots,
+ ])
+});
pub static MAINTAINS_FARMLAND: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
Block::PumpkinStem,
@@ -3372,49 +3442,175 @@ pub static MAINTAINS_FARMLAND: Lazy<HashSet<Block>> = Lazy::new(|| {
Block::Wheat,
])
});
-pub static CROPS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static CAMEL_SAND_STEP_SOUND_BLOCKS: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::Beetroots,
- Block::Carrots,
- Block::Potatoes,
- Block::Wheat,
- Block::MelonStem,
- Block::PumpkinStem,
- Block::TorchflowerCrop,
- Block::PitcherCrop,
+ Block::Sand,
+ Block::RedSand,
+ Block::SuspiciousSand,
+ Block::SuspiciousSand,
+ Block::WhiteConcretePowder,
+ Block::OrangeConcretePowder,
+ Block::MagentaConcretePowder,
+ Block::LightBlueConcretePowder,
+ Block::YellowConcretePowder,
+ Block::LimeConcretePowder,
+ Block::PinkConcretePowder,
+ Block::GrayConcretePowder,
+ Block::LightGrayConcretePowder,
+ Block::CyanConcretePowder,
+ Block::PurpleConcretePowder,
+ Block::BlueConcretePowder,
+ Block::BrownConcretePowder,
+ Block::GreenConcretePowder,
+ Block::RedConcretePowder,
+ Block::BlackConcretePowder,
])
});
-pub static WALLS: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static DOES_NOT_BLOCK_HOPPERS: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::BeeNest, Block::Beehive]));
+pub static NEEDS_STONE_TOOL: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::CobblestoneWall,
- Block::MossyCobblestoneWall,
- Block::BrickWall,
- Block::PrismarineWall,
- Block::RedSandstoneWall,
- Block::MossyStoneBrickWall,
- Block::GraniteWall,
- Block::StoneBrickWall,
- Block::NetherBrickWall,
- Block::AndesiteWall,
- Block::RedNetherBrickWall,
- Block::SandstoneWall,
- Block::EndStoneBrickWall,
- Block::DioriteWall,
- Block::BlackstoneWall,
- Block::PolishedBlackstoneBrickWall,
- Block::PolishedBlackstoneWall,
- Block::CobbledDeepslateWall,
- Block::PolishedDeepslateWall,
- Block::DeepslateTileWall,
- Block::DeepslateBrickWall,
- Block::MudBrickWall,
+ Block::IronBlock,
+ Block::RawIronBlock,
+ Block::IronOre,
+ Block::DeepslateIronOre,
+ Block::LapisBlock,
+ Block::LapisOre,
+ Block::DeepslateLapisOre,
+ Block::CopperBlock,
+ Block::RawCopperBlock,
+ Block::CopperOre,
+ Block::DeepslateCopperOre,
+ Block::CutCopperSlab,
+ Block::CutCopperStairs,
+ Block::CutCopper,
+ Block::WeatheredCopper,
+ Block::WeatheredCutCopperSlab,
+ Block::WeatheredCutCopperStairs,
+ Block::WeatheredCutCopper,
+ Block::OxidizedCopper,
+ Block::OxidizedCutCopperSlab,
+ Block::OxidizedCutCopperStairs,
+ Block::OxidizedCutCopper,
+ Block::ExposedCopper,
+ Block::ExposedCutCopperSlab,
+ Block::ExposedCutCopperStairs,
+ Block::ExposedCutCopper,
+ Block::WaxedCopperBlock,
+ Block::WaxedCutCopperSlab,
+ Block::WaxedCutCopperStairs,
+ Block::WaxedCutCopper,
+ Block::WaxedWeatheredCopper,
+ Block::WaxedWeatheredCutCopperSlab,
+ Block::WaxedWeatheredCutCopperStairs,
+ Block::WaxedWeatheredCutCopper,
+ Block::WaxedExposedCopper,
+ Block::WaxedExposedCutCopperSlab,
+ Block::WaxedExposedCutCopperStairs,
+ Block::WaxedExposedCutCopper,
+ Block::WaxedOxidizedCopper,
+ Block::WaxedOxidizedCutCopperSlab,
+ Block::WaxedOxidizedCutCopperStairs,
+ Block::WaxedOxidizedCutCopper,
+ Block::LightningRod,
])
});
-pub static STONE_PRESSURE_PLATES: Lazy<HashSet<Block>> = Lazy::new(|| {
+pub static OVERWORLD_CARVER_REPLACEABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Block::StonePressurePlate,
- Block::PolishedBlackstonePressurePlate,
+ Block::Water,
+ Block::Gravel,
+ Block::SuspiciousGravel,
+ Block::Sandstone,
+ Block::RedSandstone,
+ Block::Calcite,
+ Block::Snow,
+ Block::PackedIce,
+ Block::RawIronBlock,
+ Block::RawCopperBlock,
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ Block::Tuff,
+ Block::Deepslate,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ Block::Sand,
+ Block::RedSand,
+ Block::SuspiciousSand,
+ Block::SuspiciousSand,
+ Block::Terracotta,
+ Block::WhiteTerracotta,
+ Block::OrangeTerracotta,
+ Block::MagentaTerracotta,
+ Block::LightBlueTerracotta,
+ Block::YellowTerracotta,
+ Block::LimeTerracotta,
+ Block::PinkTerracotta,
+ Block::GrayTerracotta,
+ Block::LightGrayTerracotta,
+ Block::CyanTerracotta,
+ Block::PurpleTerracotta,
+ Block::BlueTerracotta,
+ Block::BrownTerracotta,
+ Block::GreenTerracotta,
+ Block::RedTerracotta,
+ Block::BlackTerracotta,
+ Block::IronOre,
+ Block::DeepslateIronOre,
+ Block::CopperOre,
+ Block::DeepslateCopperOre,
+ ])
+});
+pub static NYLIUM: Lazy<HashSet<Block>> =
+ Lazy::new(|| HashSet::from_iter(vec![Block::CrimsonNylium, Block::WarpedNylium]));
+pub static WALL_HANGING_SIGNS: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::OakWallHangingSign,
+ Block::SpruceWallHangingSign,
+ Block::BirchWallHangingSign,
+ Block::AcaciaWallHangingSign,
+ Block::CherryWallHangingSign,
+ Block::JungleWallHangingSign,
+ Block::DarkOakWallHangingSign,
+ Block::CrimsonWallHangingSign,
+ Block::WarpedWallHangingSign,
+ Block::MangroveWallHangingSign,
+ Block::BambooWallHangingSign,
+ ])
+});
+pub static NETHER_CARVER_REPLACEABLES: Lazy<HashSet<Block>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Block::SoulSand,
+ Block::SoulSoil,
+ Block::Stone,
+ Block::Granite,
+ Block::Diorite,
+ Block::Andesite,
+ Block::Tuff,
+ Block::Deepslate,
+ Block::Netherrack,
+ Block::Basalt,
+ Block::Blackstone,
+ Block::Dirt,
+ Block::GrassBlock,
+ Block::Podzol,
+ Block::CoarseDirt,
+ Block::Mycelium,
+ Block::RootedDirt,
+ Block::MossBlock,
+ Block::Mud,
+ Block::MuddyMangroveRoots,
+ Block::CrimsonNylium,
+ Block::WarpedNylium,
+ Block::NetherWartBlock,
+ Block::WarpedWartBlock,
])
});
-pub static VIBRATION_RESONATORS: Lazy<HashSet<Block>> =
- Lazy::new(|| HashSet::from_iter(vec![Block::AmethystBlock]));
diff --git a/azalea-registry/src/tags/fluids.rs b/azalea-registry/src/tags/fluids.rs
index 4f177f95..c29c9eba 100644
--- a/azalea-registry/src/tags/fluids.rs
+++ b/azalea-registry/src/tags/fluids.rs
@@ -6,7 +6,7 @@ use once_cell::sync::Lazy;
use crate::Fluid;
-pub static LAVA: Lazy<HashSet<Fluid>> =
- Lazy::new(|| HashSet::from_iter(vec![Fluid::Lava, Fluid::FlowingLava]));
pub static WATER: Lazy<HashSet<Fluid>> =
Lazy::new(|| HashSet::from_iter(vec![Fluid::Water, Fluid::FlowingWater]));
+pub static LAVA: Lazy<HashSet<Fluid>> =
+ Lazy::new(|| HashSet::from_iter(vec![Fluid::Lava, Fluid::FlowingLava]));
diff --git a/azalea-registry/src/tags/items.rs b/azalea-registry/src/tags/items.rs
index 6d5d3755..71cf247c 100644
--- a/azalea-registry/src/tags/items.rs
+++ b/azalea-registry/src/tags/items.rs
@@ -6,136 +6,714 @@ use once_cell::sync::Lazy;
use crate::Item;
-pub static WOODEN_FENCES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_FOOT_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakFence,
- Item::AcaciaFence,
- Item::DarkOakFence,
- Item::SpruceFence,
- Item::BirchFence,
- Item::JungleFence,
- Item::CrimsonFence,
- Item::WarpedFence,
- Item::MangroveFence,
- Item::BambooFence,
- Item::CherryFence,
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
])
});
-pub static ACACIA_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_LEG_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::AcaciaLog,
- Item::AcaciaWood,
- Item::StrippedAcaciaLog,
- Item::StrippedAcaciaWood,
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
])
});
-pub static CREEPER_IGNITERS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::FlintAndSteel, Item::FireCharge]));
-pub static WOODEN_SLABS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_CHEST_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakSlab,
- Item::SpruceSlab,
- Item::BirchSlab,
- Item::JungleSlab,
- Item::AcaciaSlab,
- Item::DarkOakSlab,
- Item::CrimsonSlab,
- Item::WarpedSlab,
- Item::MangroveSlab,
- Item::BambooSlab,
- Item::CherrySlab,
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
])
});
-pub static WOODEN_STAIRS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_HEAD_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakStairs,
- Item::SpruceStairs,
- Item::BirchStairs,
- Item::JungleStairs,
- Item::AcaciaStairs,
- Item::DarkOakStairs,
- Item::CrimsonStairs,
- Item::WarpedStairs,
- Item::MangroveStairs,
- Item::BambooStairs,
- Item::CherryStairs,
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
])
});
-pub static MANGROVE_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::MangroveLog,
- Item::MangroveWood,
- Item::StrippedMangroveLog,
- Item::StrippedMangroveWood,
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
])
});
-pub static SHOVELS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_SWORD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ ])
+});
+pub static ENCHANTABLE_FIRE_ASPECT: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ ])
+});
+pub static ENCHANTABLE_MINING: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Item::Shears,
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
+ Item::DiamondPickaxe,
+ Item::StonePickaxe,
+ Item::GoldenPickaxe,
+ Item::NetheritePickaxe,
+ Item::WoodenPickaxe,
+ Item::IronPickaxe,
Item::DiamondShovel,
Item::StoneShovel,
Item::GoldenShovel,
Item::NetheriteShovel,
Item::WoodenShovel,
Item::IronShovel,
+ Item::DiamondHoe,
+ Item::StoneHoe,
+ Item::GoldenHoe,
+ Item::NetheriteHoe,
+ Item::WoodenHoe,
+ Item::IronHoe,
])
});
-pub static DARK_OAK_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_FISHING: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::FishingRod]));
+pub static ENCHANTABLE_SHARP_WEAPON: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::DarkOakLog,
- Item::DarkOakWood,
- Item::StrippedDarkOakLog,
- Item::StrippedDarkOakWood,
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
])
});
-pub static EMERALD_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::EmeraldOre, Item::DeepslateEmeraldOre]));
-pub static TALL_FLOWERS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_WEAPON: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Sunflower,
- Item::Lilac,
- Item::Peony,
- Item::RoseBush,
- Item::PitcherPlant,
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
])
});
-pub static DOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ENCHANTABLE_TRIDENT: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Trident]));
+pub static ENCHANTABLE_DURABILITY: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::IronDoor,
- Item::OakDoor,
- Item::SpruceDoor,
- Item::BirchDoor,
- Item::JungleDoor,
- Item::AcaciaDoor,
- Item::DarkOakDoor,
+ Item::Elytra,
+ Item::Shield,
+ Item::Bow,
+ Item::Crossbow,
+ Item::Trident,
+ Item::FlintAndSteel,
+ Item::Shears,
+ Item::Brush,
+ Item::FishingRod,
+ Item::CarrotOnAStick,
+ Item::WarpedFungusOnAStick,
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
+ Item::DiamondPickaxe,
+ Item::StonePickaxe,
+ Item::GoldenPickaxe,
+ Item::NetheritePickaxe,
+ Item::WoodenPickaxe,
+ Item::IronPickaxe,
+ Item::DiamondShovel,
+ Item::StoneShovel,
+ Item::GoldenShovel,
+ Item::NetheriteShovel,
+ Item::WoodenShovel,
+ Item::IronShovel,
+ Item::DiamondHoe,
+ Item::StoneHoe,
+ Item::GoldenHoe,
+ Item::NetheriteHoe,
+ Item::WoodenHoe,
+ Item::IronHoe,
+ ])
+});
+pub static ENCHANTABLE_BOW: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::Bow]));
+pub static ENCHANTABLE_CROSSBOW: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Crossbow]));
+pub static ENCHANTABLE_EQUIPPABLE: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Elytra,
+ Item::CarvedPumpkin,
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
+ Item::PlayerHead,
+ Item::CreeperHead,
+ Item::ZombieHead,
+ Item::SkeletonSkull,
+ Item::WitherSkeletonSkull,
+ Item::DragonHead,
+ Item::PiglinHead,
+ ])
+});
+pub static ENCHANTABLE_VANISHING: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Compass,
+ Item::CarvedPumpkin,
+ Item::Elytra,
+ Item::Shield,
+ Item::Bow,
+ Item::Crossbow,
+ Item::Trident,
+ Item::FlintAndSteel,
+ Item::Shears,
+ Item::Brush,
+ Item::FishingRod,
+ Item::CarrotOnAStick,
+ Item::WarpedFungusOnAStick,
+ Item::PlayerHead,
+ Item::CreeperHead,
+ Item::ZombieHead,
+ Item::SkeletonSkull,
+ Item::WitherSkeletonSkull,
+ Item::DragonHead,
+ Item::PiglinHead,
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
+ Item::DiamondPickaxe,
+ Item::StonePickaxe,
+ Item::GoldenPickaxe,
+ Item::NetheritePickaxe,
+ Item::WoodenPickaxe,
+ Item::IronPickaxe,
+ Item::DiamondShovel,
+ Item::StoneShovel,
+ Item::GoldenShovel,
+ Item::NetheriteShovel,
+ Item::WoodenShovel,
+ Item::IronShovel,
+ Item::DiamondHoe,
+ Item::StoneHoe,
+ Item::GoldenHoe,
+ Item::NetheriteHoe,
+ Item::WoodenHoe,
+ Item::IronHoe,
+ ])
+});
+pub static ENCHANTABLE_MINING_LOOT: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
+ Item::DiamondPickaxe,
+ Item::StonePickaxe,
+ Item::GoldenPickaxe,
+ Item::NetheritePickaxe,
+ Item::WoodenPickaxe,
+ Item::IronPickaxe,
+ Item::DiamondShovel,
+ Item::StoneShovel,
+ Item::GoldenShovel,
+ Item::NetheriteShovel,
+ Item::WoodenShovel,
+ Item::IronShovel,
+ Item::DiamondHoe,
+ Item::StoneHoe,
+ Item::GoldenHoe,
+ Item::NetheriteHoe,
+ Item::WoodenHoe,
+ Item::IronHoe,
+ ])
+});
+pub static BANNERS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::WhiteBanner,
+ Item::OrangeBanner,
+ Item::MagentaBanner,
+ Item::LightBlueBanner,
+ Item::YellowBanner,
+ Item::LimeBanner,
+ Item::PinkBanner,
+ Item::GrayBanner,
+ Item::LightGrayBanner,
+ Item::CyanBanner,
+ Item::PurpleBanner,
+ Item::BlueBanner,
+ Item::BrownBanner,
+ Item::GreenBanner,
+ Item::RedBanner,
+ Item::BlackBanner,
+ ])
+});
+pub static FISHES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Cod,
+ Item::CookedCod,
+ Item::Salmon,
+ Item::CookedSalmon,
+ Item::Pufferfish,
+ Item::TropicalFish,
+ ])
+});
+pub static CHEST_BOATS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::OakChestBoat,
+ Item::SpruceChestBoat,
+ Item::BirchChestBoat,
+ Item::JungleChestBoat,
+ Item::AcaciaChestBoat,
+ Item::DarkOakChestBoat,
+ Item::MangroveChestBoat,
+ Item::BambooChestRaft,
+ Item::CherryChestBoat,
+ ])
+});
+pub static BOATS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::OakBoat,
+ Item::SpruceBoat,
+ Item::BirchBoat,
+ Item::JungleBoat,
+ Item::AcaciaBoat,
+ Item::DarkOakBoat,
+ Item::MangroveBoat,
+ Item::BambooRaft,
+ Item::CherryBoat,
+ Item::OakChestBoat,
+ Item::SpruceChestBoat,
+ Item::BirchChestBoat,
+ Item::JungleChestBoat,
+ Item::AcaciaChestBoat,
+ Item::DarkOakChestBoat,
+ Item::MangroveChestBoat,
+ Item::BambooChestRaft,
+ Item::CherryChestBoat,
+ ])
+});
+pub static CREEPER_DROP_MUSIC_DISCS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::MusicDisc13,
+ Item::MusicDiscCat,
+ Item::MusicDiscBlocks,
+ Item::MusicDiscChirp,
+ Item::MusicDiscFar,
+ Item::MusicDiscMall,
+ Item::MusicDiscMellohi,
+ Item::MusicDiscStal,
+ Item::MusicDiscStrad,
+ Item::MusicDiscWard,
+ Item::MusicDisc11,
+ Item::MusicDiscWait,
+ ])
+});
+pub static MUSIC_DISCS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::MusicDiscPigstep,
+ Item::MusicDiscOtherside,
+ Item::MusicDisc5,
+ Item::MusicDiscRelic,
+ Item::MusicDisc13,
+ Item::MusicDiscCat,
+ Item::MusicDiscBlocks,
+ Item::MusicDiscChirp,
+ Item::MusicDiscFar,
+ Item::MusicDiscMall,
+ Item::MusicDiscMellohi,
+ Item::MusicDiscStal,
+ Item::MusicDiscStrad,
+ Item::MusicDiscWard,
+ Item::MusicDisc11,
+ Item::MusicDiscWait,
+ ])
+});
+pub static COALS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Coal, Item::Charcoal]));
+pub static ARROWS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Arrow, Item::TippedArrow, Item::SpectralArrow]));
+pub static LECTERN_BOOKS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::WrittenBook, Item::WritableBook]));
+pub static BEACON_PAYMENT_ITEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::NetheriteIngot,
+ Item::Emerald,
+ Item::Diamond,
+ Item::GoldIngot,
+ Item::IronIngot,
+ ])
+});
+pub static PIGLIN_REPELLENTS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::SoulTorch, Item::SoulLantern, Item::SoulCampfire]));
+pub static IGNORED_BY_PIGLIN_BABIES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Leather]));
+pub static PIGLIN_LOVED: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::GoldBlock,
+ Item::GildedBlackstone,
+ Item::LightWeightedPressurePlate,
+ Item::GoldIngot,
+ Item::Bell,
+ Item::Clock,
+ Item::GoldenCarrot,
+ Item::GlisteringMelonSlice,
+ Item::GoldenApple,
+ Item::EnchantedGoldenApple,
+ Item::GoldenHelmet,
+ Item::GoldenChestplate,
+ Item::GoldenLeggings,
+ Item::GoldenBoots,
+ Item::GoldenHorseArmor,
+ Item::GoldenSword,
+ Item::GoldenPickaxe,
+ Item::GoldenShovel,
+ Item::GoldenAxe,
+ Item::GoldenHoe,
+ Item::RawGold,
+ Item::RawGoldBlock,
+ Item::GoldOre,
+ Item::NetherGoldOre,
+ Item::DeepslateGoldOre,
+ ])
+});
+pub static PIGLIN_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Porkchop, Item::CookedPorkchop]));
+pub static FOX_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::SweetBerries, Item::GlowBerries]));
+pub static STONE_TOOL_MATERIALS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Cobblestone,
+ Item::Blackstone,
+ Item::CobbledDeepslate,
+ ])
+});
+pub static NON_FLAMMABLE_WOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::WarpedStem,
+ Item::StrippedWarpedStem,
+ Item::WarpedHyphae,
+ Item::StrippedWarpedHyphae,
+ Item::CrimsonStem,
+ Item::StrippedCrimsonStem,
+ Item::CrimsonHyphae,
+ Item::StrippedCrimsonHyphae,
+ Item::CrimsonPlanks,
+ Item::WarpedPlanks,
+ Item::CrimsonSlab,
+ Item::WarpedSlab,
+ Item::CrimsonPressurePlate,
+ Item::WarpedPressurePlate,
+ Item::CrimsonFence,
+ Item::WarpedFence,
+ Item::CrimsonTrapdoor,
+ Item::WarpedTrapdoor,
+ Item::CrimsonFenceGate,
+ Item::WarpedFenceGate,
+ Item::CrimsonStairs,
+ Item::WarpedStairs,
+ Item::CrimsonButton,
+ Item::WarpedButton,
Item::CrimsonDoor,
Item::WarpedDoor,
- Item::MangroveDoor,
- Item::BambooDoor,
- Item::CherryDoor,
+ Item::CrimsonSign,
+ Item::WarpedSign,
+ Item::WarpedHangingSign,
+ Item::CrimsonHangingSign,
])
});
-pub static BEDS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static STONE_CRAFTING_MATERIALS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::RedBed,
- Item::BlackBed,
- Item::BlueBed,
- Item::BrownBed,
- Item::CyanBed,
- Item::GrayBed,
- Item::GreenBed,
- Item::LightBlueBed,
- Item::LightGrayBed,
- Item::LimeBed,
- Item::MagentaBed,
- Item::OrangeBed,
- Item::PinkBed,
- Item::PurpleBed,
- Item::WhiteBed,
- Item::YellowBed,
+ Item::Cobblestone,
+ Item::Blackstone,
+ Item::CobbledDeepslate,
+ ])
+});
+pub static FREEZE_IMMUNE_WEARABLES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::LeatherBoots,
+ Item::LeatherLeggings,
+ Item::LeatherChestplate,
+ Item::LeatherHelmet,
+ Item::LeatherHorseArmor,
+ ])
+});
+pub static AXOLOTL_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::TropicalFishBucket]));
+pub static CLUSTER_MAX_HARVESTABLES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondPickaxe,
+ Item::GoldenPickaxe,
+ Item::IronPickaxe,
+ Item::NetheritePickaxe,
+ Item::StonePickaxe,
+ Item::WoodenPickaxe,
])
});
pub static COMPASSES: Lazy<HashSet<Item>> =
Lazy::new(|| HashSet::from_iter(vec![Item::Compass, Item::RecoveryCompass]));
+pub static CREEPER_IGNITERS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::FlintAndSteel, Item::FireCharge]));
+pub static SWORDS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ ])
+});
+pub static AXES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
+ ])
+});
+pub static PICKAXES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondPickaxe,
+ Item::StonePickaxe,
+ Item::GoldenPickaxe,
+ Item::NetheritePickaxe,
+ Item::WoodenPickaxe,
+ Item::IronPickaxe,
+ ])
+});
+pub static SHOVELS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondShovel,
+ Item::StoneShovel,
+ Item::GoldenShovel,
+ Item::NetheriteShovel,
+ Item::WoodenShovel,
+ Item::IronShovel,
+ ])
+});
+pub static HOES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::DiamondHoe,
+ Item::StoneHoe,
+ Item::GoldenHoe,
+ Item::NetheriteHoe,
+ Item::WoodenHoe,
+ Item::IronHoe,
+ ])
+});
+pub static BREAKS_DECORATED_POTS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Trident,
+ Item::DiamondSword,
+ Item::StoneSword,
+ Item::GoldenSword,
+ Item::NetheriteSword,
+ Item::WoodenSword,
+ Item::IronSword,
+ Item::DiamondAxe,
+ Item::StoneAxe,
+ Item::GoldenAxe,
+ Item::NetheriteAxe,
+ Item::WoodenAxe,
+ Item::IronAxe,
+ Item::DiamondPickaxe,
+ Item::StonePickaxe,
+ Item::GoldenPickaxe,
+ Item::NetheritePickaxe,
+ Item::WoodenPickaxe,
+ Item::IronPickaxe,
+ Item::DiamondShovel,
+ Item::StoneShovel,
+ Item::GoldenShovel,
+ Item::NetheriteShovel,
+ Item::WoodenShovel,
+ Item::IronShovel,
+ Item::DiamondHoe,
+ Item::StoneHoe,
+ Item::GoldenHoe,
+ Item::NetheriteHoe,
+ Item::WoodenHoe,
+ Item::IronHoe,
+ ])
+});
+pub static DECORATED_POT_SHERDS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::AnglerPotterySherd,
+ Item::ArcherPotterySherd,
+ Item::ArmsUpPotterySherd,
+ Item::BladePotterySherd,
+ Item::BrewerPotterySherd,
+ Item::BurnPotterySherd,
+ Item::DangerPotterySherd,
+ Item::ExplorerPotterySherd,
+ Item::FriendPotterySherd,
+ Item::HeartPotterySherd,
+ Item::HeartbreakPotterySherd,
+ Item::HowlPotterySherd,
+ Item::MinerPotterySherd,
+ Item::MournerPotterySherd,
+ Item::PlentyPotterySherd,
+ Item::PrizePotterySherd,
+ Item::SheafPotterySherd,
+ Item::ShelterPotterySherd,
+ Item::SkullPotterySherd,
+ Item::SnortPotterySherd,
+ ])
+});
pub static DECORATED_POT_INGREDIENTS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
Item::Brick,
@@ -161,8 +739,101 @@ pub static DECORATED_POT_INGREDIENTS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::SnortPotterySherd,
])
});
-pub static COPPER_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::CopperOre, Item::DeepslateCopperOre]));
+pub static FOOT_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
+ ])
+});
+pub static LEG_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
+ ])
+});
+pub static CHEST_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
+ ])
+});
+pub static HEAD_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
+ ])
+});
+pub static SKULLS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::PlayerHead,
+ Item::CreeperHead,
+ Item::ZombieHead,
+ Item::SkeletonSkull,
+ Item::WitherSkeletonSkull,
+ Item::DragonHead,
+ Item::PiglinHead,
+ ])
+});
+pub static TRIMMABLE_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::LeatherBoots,
+ Item::ChainmailBoots,
+ Item::GoldenBoots,
+ Item::IronBoots,
+ Item::DiamondBoots,
+ Item::NetheriteBoots,
+ Item::LeatherLeggings,
+ Item::ChainmailLeggings,
+ Item::GoldenLeggings,
+ Item::IronLeggings,
+ Item::DiamondLeggings,
+ Item::NetheriteLeggings,
+ Item::LeatherChestplate,
+ Item::ChainmailChestplate,
+ Item::GoldenChestplate,
+ Item::IronChestplate,
+ Item::DiamondChestplate,
+ Item::NetheriteChestplate,
+ Item::LeatherHelmet,
+ Item::ChainmailHelmet,
+ Item::GoldenHelmet,
+ Item::IronHelmet,
+ Item::DiamondHelmet,
+ Item::NetheriteHelmet,
+ Item::TurtleHelmet,
+ ])
+});
+pub static TRIM_MATERIALS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::IronIngot,
+ Item::CopperIngot,
+ Item::GoldIngot,
+ Item::LapisLazuli,
+ Item::Emerald,
+ Item::Diamond,
+ Item::NetheriteIngot,
+ Item::Redstone,
+ Item::Quartz,
+ Item::AmethystShard,
+ ])
+});
pub static TRIM_TEMPLATES: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
Item::WardArmorTrimSmithingTemplate,
@@ -183,19 +854,13 @@ pub static TRIM_TEMPLATES: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::HostArmorTrimSmithingTemplate,
])
});
-pub static WOODEN_PRESSURE_PLATES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static BOOKSHELF_BOOKS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakPressurePlate,
- Item::SprucePressurePlate,
- Item::BirchPressurePlate,
- Item::JunglePressurePlate,
- Item::AcaciaPressurePlate,
- Item::DarkOakPressurePlate,
- Item::CrimsonPressurePlate,
- Item::WarpedPressurePlate,
- Item::MangrovePressurePlate,
- Item::BambooPressurePlate,
- Item::CherryPressurePlate,
+ Item::Book,
+ Item::WrittenBook,
+ Item::EnchantedBook,
+ Item::WritableBook,
+ Item::KnowledgeBook,
])
});
pub static NOTEBLOCK_TOP_INSTRUMENTS: Lazy<HashSet<Item>> = Lazy::new(|| {
@@ -209,51 +874,151 @@ pub static NOTEBLOCK_TOP_INSTRUMENTS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::PlayerHead,
])
});
-pub static BREAKS_DECORATED_POTS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static SNIFFER_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::TorchflowerSeeds]));
+pub static VILLAGER_PLANTABLE_SEEDS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Trident,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
+ Item::WheatSeeds,
+ Item::Potato,
+ Item::Carrot,
+ Item::BeetrootSeeds,
+ Item::TorchflowerSeeds,
+ Item::PitcherPod,
])
});
-pub static SAND: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static DYEABLE: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Sand,
- Item::RedSand,
- Item::SuspiciousSand,
- Item::SuspiciousSand,
+ Item::LeatherHelmet,
+ Item::LeatherChestplate,
+ Item::LeatherLeggings,
+ Item::LeatherBoots,
+ Item::LeatherHorseArmor,
+ Item::WolfArmor,
+ ])
+});
+pub static MEAT: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Beef,
+ Item::Chicken,
+ Item::CookedBeef,
+ Item::CookedChicken,
+ Item::CookedMutton,
+ Item::CookedPorkchop,
+ Item::CookedRabbit,
+ Item::Mutton,
+ Item::Porkchop,
+ Item::Rabbit,
+ Item::RottenFlesh,
+ ])
+});
+pub static CAMEL_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::Cactus]));
+pub static ARMADILLO_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::SpiderEye]));
+pub static WOLF_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Beef,
+ Item::Chicken,
+ Item::CookedBeef,
+ Item::CookedChicken,
+ Item::CookedMutton,
+ Item::CookedPorkchop,
+ Item::CookedRabbit,
+ Item::Mutton,
+ Item::Porkchop,
+ Item::Rabbit,
+ Item::RottenFlesh,
+ ])
+});
+pub static LLAMA_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Wheat, Item::HayBlock]));
+pub static OCELOT_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Cod, Item::Salmon]));
+pub static LLAMA_TEMPT_ITEMS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::HayBlock]));
+pub static PANDA_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::Bamboo]));
+pub static PIG_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Carrot, Item::Potato, Item::Beetroot]));
+pub static RABBIT_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Carrot, Item::GoldenCarrot, Item::Dandelion]));
+pub static STRIDER_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::WarpedFungus]));
+pub static STRIDER_TEMPT_ITEMS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::WarpedFungusOnAStick, Item::WarpedFungus]));
+pub static TURTLE_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Seagrass]));
+pub static PARROT_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::WheatSeeds,
+ Item::MelonSeeds,
+ Item::PumpkinSeeds,
+ Item::BeetrootSeeds,
+ Item::TorchflowerSeeds,
+ Item::PitcherPod,
])
});
-pub static LOGS_THAT_BURN: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static PARROT_POISONOUS_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Cookie]));
+pub static COW_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::Wheat]));
+pub static SHEEP_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::Wheat]));
+pub static GOAT_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::Wheat]));
+pub static FENCES: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
+ Item::NetherBrickFence,
+ Item::OakFence,
+ Item::AcaciaFence,
+ Item::DarkOakFence,
+ Item::SpruceFence,
+ Item::BirchFence,
+ Item::JungleFence,
+ Item::CrimsonFence,
+ Item::WarpedFence,
+ Item::MangroveFence,
+ Item::BambooFence,
+ Item::CherryFence,
+ ])
+});
+pub static CAT_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Cod, Item::Salmon]));
+pub static LEAVES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::JungleLeaves,
+ Item::OakLeaves,
+ Item::SpruceLeaves,
+ Item::DarkOakLeaves,
+ Item::AcaciaLeaves,
+ Item::BirchLeaves,
+ Item::AzaleaLeaves,
+ Item::FloweringAzaleaLeaves,
+ Item::MangroveLeaves,
+ Item::CherryLeaves,
+ ])
+});
+pub static DIAMOND_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::DiamondOre, Item::DeepslateDiamondOre]));
+pub static IRON_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::IronOre, Item::DeepslateIronOre]));
+pub static COMPLETES_FIND_TREE_TUTORIAL: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::JungleLeaves,
+ Item::OakLeaves,
+ Item::SpruceLeaves,
+ Item::DarkOakLeaves,
+ Item::AcaciaLeaves,
+ Item::BirchLeaves,
+ Item::AzaleaLeaves,
+ Item::FloweringAzaleaLeaves,
+ Item::MangroveLeaves,
+ Item::CherryLeaves,
+ Item::NetherWartBlock,
+ Item::WarpedWartBlock,
+ Item::CrimsonStem,
+ Item::StrippedCrimsonStem,
+ Item::CrimsonHyphae,
+ Item::StrippedCrimsonHyphae,
+ Item::WarpedStem,
+ Item::StrippedWarpedStem,
+ Item::WarpedHyphae,
+ Item::StrippedWarpedHyphae,
Item::DarkOakLog,
Item::DarkOakWood,
Item::StrippedDarkOakLog,
@@ -288,85 +1053,19 @@ pub static LOGS_THAT_BURN: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::StrippedCherryWood,
])
});
-pub static CHERRY_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::CherryLog,
- Item::CherryWood,
- Item::StrippedCherryLog,
- Item::StrippedCherryWood,
- ])
-});
-pub static DAMPENS_VIBRATIONS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::WhiteWool,
- Item::OrangeWool,
- Item::MagentaWool,
- Item::LightBlueWool,
- Item::YellowWool,
- Item::LimeWool,
- Item::PinkWool,
- Item::GrayWool,
- Item::LightGrayWool,
- Item::CyanWool,
- Item::PurpleWool,
- Item::BlueWool,
- Item::BrownWool,
- Item::GreenWool,
- Item::RedWool,
- Item::BlackWool,
- Item::WhiteCarpet,
- Item::OrangeCarpet,
- Item::MagentaCarpet,
- Item::LightBlueCarpet,
- Item::YellowCarpet,
- Item::LimeCarpet,
- Item::PinkCarpet,
- Item::GrayCarpet,
- Item::LightGrayCarpet,
- Item::CyanCarpet,
- Item::PurpleCarpet,
- Item::BlueCarpet,
- Item::BrownCarpet,
- Item::GreenCarpet,
- Item::RedCarpet,
- Item::BlackCarpet,
- ])
-});
-pub static DIAMOND_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::DiamondOre, Item::DeepslateDiamondOre]));
-pub static WOOL: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::WhiteWool,
- Item::OrangeWool,
- Item::MagentaWool,
- Item::LightBlueWool,
- Item::YellowWool,
- Item::LimeWool,
- Item::PinkWool,
- Item::GrayWool,
- Item::LightGrayWool,
- Item::CyanWool,
- Item::PurpleWool,
- Item::BlueWool,
- Item::BrownWool,
- Item::GreenWool,
- Item::RedWool,
- Item::BlackWool,
- ])
-});
-pub static WOODEN_TRAPDOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static PLANKS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::AcaciaTrapdoor,
- Item::BirchTrapdoor,
- Item::DarkOakTrapdoor,
- Item::JungleTrapdoor,
- Item::OakTrapdoor,
- Item::SpruceTrapdoor,
- Item::CrimsonTrapdoor,
- Item::WarpedTrapdoor,
- Item::MangroveTrapdoor,
- Item::BambooTrapdoor,
- Item::CherryTrapdoor,
+ Item::OakPlanks,
+ Item::SprucePlanks,
+ Item::BirchPlanks,
+ Item::JunglePlanks,
+ Item::AcaciaPlanks,
+ Item::DarkOakPlanks,
+ Item::CrimsonPlanks,
+ Item::WarpedPlanks,
+ Item::MangrovePlanks,
+ Item::BambooPlanks,
+ Item::CherryPlanks,
])
});
pub static FLOWERS: Lazy<HashSet<Item>> = Lazy::new(|| {
@@ -399,24 +1098,58 @@ pub static FLOWERS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::PitcherPlant,
])
});
-pub static BANNERS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static TRAPDOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::WhiteBanner,
- Item::OrangeBanner,
- Item::MagentaBanner,
- Item::LightBlueBanner,
- Item::YellowBanner,
- Item::LimeBanner,
- Item::PinkBanner,
- Item::GrayBanner,
- Item::LightGrayBanner,
- Item::CyanBanner,
- Item::PurpleBanner,
- Item::BlueBanner,
- Item::BrownBanner,
- Item::GreenBanner,
- Item::RedBanner,
- Item::BlackBanner,
+ Item::IronTrapdoor,
+ Item::AcaciaTrapdoor,
+ Item::BirchTrapdoor,
+ Item::DarkOakTrapdoor,
+ Item::JungleTrapdoor,
+ Item::OakTrapdoor,
+ Item::SpruceTrapdoor,
+ Item::CrimsonTrapdoor,
+ Item::WarpedTrapdoor,
+ Item::MangroveTrapdoor,
+ Item::BambooTrapdoor,
+ Item::CherryTrapdoor,
+ ])
+});
+pub static CHERRY_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::CherryLog,
+ Item::CherryWood,
+ Item::StrippedCherryLog,
+ Item::StrippedCherryWood,
+ ])
+});
+pub static STONE_BUTTONS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::StoneButton, Item::PolishedBlackstoneButton]));
+pub static BUTTONS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::OakButton,
+ Item::SpruceButton,
+ Item::BirchButton,
+ Item::JungleButton,
+ Item::AcaciaButton,
+ Item::DarkOakButton,
+ Item::CrimsonButton,
+ Item::WarpedButton,
+ Item::MangroveButton,
+ Item::BambooButton,
+ Item::CherryButton,
+ Item::StoneButton,
+ Item::PolishedBlackstoneButton,
+ ])
+});
+pub static HORSE_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::Wheat,
+ Item::Sugar,
+ Item::HayBlock,
+ Item::Apple,
+ Item::GoldenCarrot,
+ Item::GoldenApple,
+ Item::EnchantedGoldenApple,
])
});
pub static TERRACOTTA: Lazy<HashSet<Item>> = Lazy::new(|| {
@@ -440,97 +1173,6 @@ pub static TERRACOTTA: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::BlackTerracotta,
])
});
-pub static COALS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::Coal, Item::Charcoal]));
-pub static BIRCH_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::BirchLog,
- Item::BirchWood,
- Item::StrippedBirchLog,
- Item::StrippedBirchWood,
- ])
-});
-pub static PIGLIN_REPELLENTS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::SoulTorch, Item::SoulLantern, Item::SoulCampfire]));
-pub static CREEPER_DROP_MUSIC_DISCS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::MusicDisc13,
- Item::MusicDiscCat,
- Item::MusicDiscBlocks,
- Item::MusicDiscChirp,
- Item::MusicDiscFar,
- Item::MusicDiscMall,
- Item::MusicDiscMellohi,
- Item::MusicDiscStal,
- Item::MusicDiscStrad,
- Item::MusicDiscWard,
- Item::MusicDisc11,
- Item::MusicDiscWait,
- ])
-});
-pub static SLABS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::BambooMosaicSlab,
- Item::StoneSlab,
- Item::SmoothStoneSlab,
- Item::StoneBrickSlab,
- Item::SandstoneSlab,
- Item::PurpurSlab,
- Item::QuartzSlab,
- Item::RedSandstoneSlab,
- Item::BrickSlab,
- Item::CobblestoneSlab,
- Item::NetherBrickSlab,
- Item::PetrifiedOakSlab,
- Item::PrismarineSlab,
- Item::PrismarineBrickSlab,
- Item::DarkPrismarineSlab,
- Item::PolishedGraniteSlab,
- Item::SmoothRedSandstoneSlab,
- Item::MossyStoneBrickSlab,
- Item::PolishedDioriteSlab,
- Item::MossyCobblestoneSlab,
- Item::EndStoneBrickSlab,
- Item::SmoothSandstoneSlab,
- Item::SmoothQuartzSlab,
- Item::GraniteSlab,
- Item::AndesiteSlab,
- Item::RedNetherBrickSlab,
- Item::PolishedAndesiteSlab,
- Item::DioriteSlab,
- Item::CutSandstoneSlab,
- Item::CutRedSandstoneSlab,
- Item::BlackstoneSlab,
- Item::PolishedBlackstoneBrickSlab,
- Item::PolishedBlackstoneSlab,
- Item::CobbledDeepslateSlab,
- Item::PolishedDeepslateSlab,
- Item::DeepslateTileSlab,
- Item::DeepslateBrickSlab,
- Item::WaxedWeatheredCutCopperSlab,
- Item::WaxedExposedCutCopperSlab,
- Item::WaxedCutCopperSlab,
- Item::OxidizedCutCopperSlab,
- Item::WeatheredCutCopperSlab,
- Item::ExposedCutCopperSlab,
- Item::CutCopperSlab,
- Item::WaxedOxidizedCutCopperSlab,
- Item::MudBrickSlab,
- Item::OakSlab,
- Item::SpruceSlab,
- Item::BirchSlab,
- Item::JungleSlab,
- Item::AcaciaSlab,
- Item::DarkOakSlab,
- Item::CrimsonSlab,
- Item::WarpedSlab,
- Item::MangroveSlab,
- Item::BambooSlab,
- Item::CherrySlab,
- ])
-});
-pub static ANVIL: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::Anvil, Item::ChippedAnvil, Item::DamagedAnvil]));
pub static STAIRS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
Item::BambooMosaicStairs,
@@ -588,219 +1230,25 @@ pub static STAIRS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::CherryStairs,
])
});
-pub static STONE_CRAFTING_MATERIALS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::Cobblestone,
- Item::Blackstone,
- Item::CobbledDeepslate,
- ])
-});
-pub static FISHES: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::Cod,
- Item::CookedCod,
- Item::Salmon,
- Item::CookedSalmon,
- Item::Pufferfish,
- Item::TropicalFish,
- ])
-});
-pub static SOUL_FIRE_BASE_BLOCKS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::SoulSand, Item::SoulSoil]));
-pub static AXOLOTL_TEMPT_ITEMS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::TropicalFishBucket]));
-pub static WOOL_CARPETS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::WhiteCarpet,
- Item::OrangeCarpet,
- Item::MagentaCarpet,
- Item::LightBlueCarpet,
- Item::YellowCarpet,
- Item::LimeCarpet,
- Item::PinkCarpet,
- Item::GrayCarpet,
- Item::LightGrayCarpet,
- Item::CyanCarpet,
- Item::PurpleCarpet,
- Item::BlueCarpet,
- Item::BrownCarpet,
- Item::GreenCarpet,
- Item::RedCarpet,
- Item::BlackCarpet,
- ])
-});
-pub static VILLAGER_PLANTABLE_SEEDS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::WheatSeeds,
- Item::Potato,
- Item::Carrot,
- Item::BeetrootSeeds,
- Item::TorchflowerSeeds,
- Item::PitcherPod,
- ])
-});
-pub static WOODEN_DOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::OakDoor,
- Item::SpruceDoor,
- Item::BirchDoor,
- Item::JungleDoor,
- Item::AcaciaDoor,
- Item::DarkOakDoor,
- Item::CrimsonDoor,
- Item::WarpedDoor,
- Item::MangroveDoor,
- Item::BambooDoor,
- Item::CherryDoor,
- ])
-});
-pub static COAL_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::CoalOre, Item::DeepslateCoalOre]));
-pub static TOOLS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::Trident,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- ])
-});
-pub static BUTTONS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::OakButton,
- Item::SpruceButton,
- Item::BirchButton,
- Item::JungleButton,
- Item::AcaciaButton,
- Item::DarkOakButton,
- Item::CrimsonButton,
- Item::WarpedButton,
- Item::MangroveButton,
- Item::BambooButton,
- Item::CherryButton,
- Item::StoneButton,
- Item::PolishedBlackstoneButton,
- ])
-});
-pub static GOLD_ORES: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::GoldOre,
- Item::NetherGoldOre,
- Item::DeepslateGoldOre,
- ])
-});
-pub static WART_BLOCKS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::NetherWartBlock, Item::WarpedWartBlock]));
-pub static NON_FLAMMABLE_WOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
- Item::CrimsonStem,
- Item::StrippedCrimsonStem,
- Item::CrimsonHyphae,
- Item::StrippedCrimsonHyphae,
- Item::CrimsonPlanks,
- Item::WarpedPlanks,
- Item::CrimsonSlab,
- Item::WarpedSlab,
- Item::CrimsonPressurePlate,
- Item::WarpedPressurePlate,
- Item::CrimsonFence,
- Item::WarpedFence,
- Item::CrimsonTrapdoor,
- Item::WarpedTrapdoor,
- Item::CrimsonFenceGate,
- Item::WarpedFenceGate,
- Item::CrimsonStairs,
- Item::WarpedStairs,
- Item::CrimsonButton,
- Item::WarpedButton,
- Item::CrimsonDoor,
- Item::WarpedDoor,
- Item::CrimsonSign,
- Item::WarpedSign,
- Item::WarpedHangingSign,
- Item::CrimsonHangingSign,
- ])
-});
-pub static PICKAXES: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- ])
-});
-pub static HOES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static REDSTONE_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::RedstoneOre, Item::DeepslateRedstoneOre]));
+pub static SPRUCE_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
+ Item::SpruceLog,
+ Item::SpruceWood,
+ Item::StrippedSpruceLog,
+ Item::StrippedSpruceWood,
])
});
-pub static FENCES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static HORSE_TEMPT_ITEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::NetherBrickFence,
- Item::OakFence,
- Item::AcaciaFence,
- Item::DarkOakFence,
- Item::SpruceFence,
- Item::BirchFence,
- Item::JungleFence,
- Item::CrimsonFence,
- Item::WarpedFence,
- Item::MangroveFence,
- Item::BambooFence,
- Item::CherryFence,
+ Item::GoldenCarrot,
+ Item::GoldenApple,
+ Item::EnchantedGoldenApple,
])
});
-pub static COMPLETES_FIND_TREE_TUTORIAL: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::JungleLeaves,
- Item::OakLeaves,
- Item::SpruceLeaves,
- Item::DarkOakLeaves,
- Item::AcaciaLeaves,
- Item::BirchLeaves,
- Item::AzaleaLeaves,
- Item::FloweringAzaleaLeaves,
- Item::MangroveLeaves,
- Item::CherryLeaves,
- Item::NetherWartBlock,
- Item::WarpedWartBlock,
Item::CrimsonStem,
Item::StrippedCrimsonStem,
Item::CrimsonHyphae,
@@ -843,39 +1291,30 @@ pub static COMPLETES_FIND_TREE_TUTORIAL: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::StrippedCherryWood,
])
});
-pub static SMALL_FLOWERS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::Dandelion,
- Item::Poppy,
- Item::BlueOrchid,
- Item::Allium,
- Item::AzureBluet,
- Item::RedTulip,
- Item::OrangeTulip,
- Item::WhiteTulip,
- Item::PinkTulip,
- Item::OxeyeDaisy,
- Item::Cornflower,
- Item::LilyOfTheValley,
- Item::WitherRose,
- Item::Torchflower,
- ])
-});
-pub static PIGLIN_FOOD: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::Porkchop, Item::CookedPorkchop]));
-pub static FENCE_GATES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WALLS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::AcaciaFenceGate,
- Item::BirchFenceGate,
- Item::DarkOakFenceGate,
- Item::JungleFenceGate,
- Item::OakFenceGate,
- Item::SpruceFenceGate,
- Item::CrimsonFenceGate,
- Item::WarpedFenceGate,
- Item::MangroveFenceGate,
- Item::BambooFenceGate,
- Item::CherryFenceGate,
+ Item::CobblestoneWall,
+ Item::MossyCobblestoneWall,
+ Item::BrickWall,
+ Item::PrismarineWall,
+ Item::RedSandstoneWall,
+ Item::MossyStoneBrickWall,
+ Item::GraniteWall,
+ Item::StoneBrickWall,
+ Item::NetherBrickWall,
+ Item::AndesiteWall,
+ Item::RedNetherBrickWall,
+ Item::SandstoneWall,
+ Item::EndStoneBrickWall,
+ Item::DioriteWall,
+ Item::BlackstoneWall,
+ Item::PolishedBlackstoneBrickWall,
+ Item::PolishedBlackstoneWall,
+ Item::CobbledDeepslateWall,
+ Item::PolishedDeepslateWall,
+ Item::DeepslateTileWall,
+ Item::DeepslateBrickWall,
+ Item::MudBrickWall,
])
});
pub static OAK_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
@@ -886,75 +1325,71 @@ pub static OAK_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::StrippedOakWood,
])
});
-pub static TRIM_MATERIALS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::IronIngot,
- Item::CopperIngot,
- Item::GoldIngot,
- Item::LapisLazuli,
- Item::Emerald,
- Item::Diamond,
- Item::NetheriteIngot,
- Item::Redstone,
- Item::Quartz,
- Item::AmethystShard,
- ])
-});
-pub static STONE_BRICKS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static TALL_FLOWERS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::StoneBricks,
- Item::MossyStoneBricks,
- Item::CrackedStoneBricks,
- Item::ChiseledStoneBricks,
+ Item::Sunflower,
+ Item::Lilac,
+ Item::Peony,
+ Item::RoseBush,
+ Item::PitcherPlant,
])
});
-pub static STONE_TOOL_MATERIALS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static DARK_OAK_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Cobblestone,
- Item::Blackstone,
- Item::CobbledDeepslate,
+ Item::DarkOakLog,
+ Item::DarkOakWood,
+ Item::StrippedDarkOakLog,
+ Item::StrippedDarkOakWood,
])
});
-pub static LAPIS_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::LapisOre, Item::DeepslateLapisOre]));
-pub static SIGNS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static HANGING_SIGNS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakSign,
- Item::SpruceSign,
- Item::BirchSign,
- Item::AcaciaSign,
- Item::JungleSign,
- Item::DarkOakSign,
- Item::CrimsonSign,
- Item::WarpedSign,
- Item::MangroveSign,
- Item::BambooSign,
- Item::CherrySign,
+ Item::OakHangingSign,
+ Item::SpruceHangingSign,
+ Item::BirchHangingSign,
+ Item::AcaciaHangingSign,
+ Item::CherryHangingSign,
+ Item::JungleHangingSign,
+ Item::DarkOakHangingSign,
+ Item::CrimsonHangingSign,
+ Item::WarpedHangingSign,
+ Item::MangroveHangingSign,
+ Item::BambooHangingSign,
])
});
-pub static DIRT: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static CANDLES: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Dirt,
- Item::GrassBlock,
- Item::Podzol,
- Item::CoarseDirt,
- Item::Mycelium,
- Item::RootedDirt,
- Item::MossBlock,
- Item::Mud,
- Item::MuddyMangroveRoots,
+ Item::Candle,
+ Item::WhiteCandle,
+ Item::OrangeCandle,
+ Item::MagentaCandle,
+ Item::LightBlueCandle,
+ Item::YellowCandle,
+ Item::LimeCandle,
+ Item::PinkCandle,
+ Item::GrayCandle,
+ Item::LightGrayCandle,
+ Item::CyanCandle,
+ Item::PurpleCandle,
+ Item::BlueCandle,
+ Item::BrownCandle,
+ Item::GreenCandle,
+ Item::RedCandle,
+ Item::BlackCandle,
])
});
-pub static LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static BAMBOO_BLOCKS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::BambooBlock, Item::StrippedBambooBlock]));
+pub static CRIMSON_STEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
Item::CrimsonStem,
Item::StrippedCrimsonStem,
Item::CrimsonHyphae,
Item::StrippedCrimsonHyphae,
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
+ ])
+});
+pub static LOGS_THAT_BURN: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
Item::DarkOakLog,
Item::DarkOakWood,
Item::StrippedDarkOakLog,
@@ -989,97 +1424,68 @@ pub static LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::StrippedCherryWood,
])
});
-pub static AXES: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- ])
-});
-pub static CHEST_BOATS: Lazy<HashSet<Item>> = Lazy::new(|| {
- HashSet::from_iter(vec![
- Item::OakChestBoat,
- Item::SpruceChestBoat,
- Item::BirchChestBoat,
- Item::JungleChestBoat,
- Item::AcaciaChestBoat,
- Item::DarkOakChestBoat,
- Item::MangroveChestBoat,
- Item::BambooChestRaft,
- Item::CherryChestBoat,
- ])
-});
-pub static BOOKSHELF_BOOKS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static SAPLINGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Book,
- Item::WrittenBook,
- Item::EnchantedBook,
- Item::WritableBook,
- Item::KnowledgeBook,
+ Item::OakSapling,
+ Item::SpruceSapling,
+ Item::BirchSapling,
+ Item::JungleSapling,
+ Item::AcaciaSapling,
+ Item::DarkOakSapling,
+ Item::Azalea,
+ Item::FloweringAzalea,
+ Item::MangrovePropagule,
+ Item::CherrySapling,
])
});
-pub static ARROWS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::Arrow, Item::TippedArrow, Item::SpectralArrow]));
-pub static PIGLIN_LOVED: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static COPPER_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::CopperOre, Item::DeepslateCopperOre]));
+pub static BIRCH_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::GoldBlock,
- Item::GildedBlackstone,
- Item::LightWeightedPressurePlate,
- Item::GoldIngot,
- Item::Bell,
- Item::Clock,
- Item::GoldenCarrot,
- Item::GlisteringMelonSlice,
- Item::GoldenApple,
- Item::EnchantedGoldenApple,
- Item::GoldenHelmet,
- Item::GoldenChestplate,
- Item::GoldenLeggings,
- Item::GoldenBoots,
- Item::GoldenHorseArmor,
- Item::GoldenSword,
- Item::GoldenPickaxe,
- Item::GoldenShovel,
- Item::GoldenAxe,
- Item::GoldenHoe,
- Item::RawGold,
- Item::RawGoldBlock,
- Item::GoldOre,
- Item::NetherGoldOre,
- Item::DeepslateGoldOre,
+ Item::BirchLog,
+ Item::BirchWood,
+ Item::StrippedBirchLog,
+ Item::StrippedBirchWood,
])
});
-pub static WOODEN_BUTTONS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static BEDS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakButton,
- Item::SpruceButton,
- Item::BirchButton,
- Item::JungleButton,
- Item::AcaciaButton,
- Item::DarkOakButton,
- Item::CrimsonButton,
- Item::WarpedButton,
- Item::MangroveButton,
- Item::BambooButton,
- Item::CherryButton,
+ Item::RedBed,
+ Item::BlackBed,
+ Item::BlueBed,
+ Item::BrownBed,
+ Item::CyanBed,
+ Item::GrayBed,
+ Item::GreenBed,
+ Item::LightBlueBed,
+ Item::LightGrayBed,
+ Item::LimeBed,
+ Item::MagentaBed,
+ Item::OrangeBed,
+ Item::PinkBed,
+ Item::PurpleBed,
+ Item::WhiteBed,
+ Item::YellowBed,
])
});
-pub static SMELTS_TO_GLASS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::Sand, Item::RedSand]));
-pub static JUNGLE_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static DOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::JungleLog,
- Item::JungleWood,
- Item::StrippedJungleLog,
- Item::StrippedJungleWood,
+ Item::IronDoor,
+ Item::OakDoor,
+ Item::SpruceDoor,
+ Item::BirchDoor,
+ Item::JungleDoor,
+ Item::AcaciaDoor,
+ Item::DarkOakDoor,
+ Item::CrimsonDoor,
+ Item::WarpedDoor,
+ Item::MangroveDoor,
+ Item::BambooDoor,
+ Item::CherryDoor,
])
});
-pub static TRAPDOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WOODEN_TRAPDOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::IronTrapdoor,
Item::AcaciaTrapdoor,
Item::BirchTrapdoor,
Item::DarkOakTrapdoor,
@@ -1093,289 +1499,411 @@ pub static TRAPDOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
Item::CherryTrapdoor,
])
});
-pub static IGNORED_BY_PIGLIN_BABIES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::Leather]));
-pub static WARPED_STEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static SMALL_FLOWERS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
+ Item::Dandelion,
+ Item::Poppy,
+ Item::BlueOrchid,
+ Item::Allium,
+ Item::AzureBluet,
+ Item::RedTulip,
+ Item::OrangeTulip,
+ Item::WhiteTulip,
+ Item::PinkTulip,
+ Item::OxeyeDaisy,
+ Item::Cornflower,
+ Item::LilyOfTheValley,
+ Item::WitherRose,
+ Item::Torchflower,
])
});
-pub static BEACON_PAYMENT_ITEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static SAND: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::NetheriteIngot,
- Item::Emerald,
- Item::Diamond,
- Item::GoldIngot,
- Item::IronIngot,
+ Item::Sand,
+ Item::RedSand,
+ Item::SuspiciousSand,
+ Item::SuspiciousSand,
])
});
-pub static IRON_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::IronOre, Item::DeepslateIronOre]));
-pub static BOATS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WOODEN_STAIRS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakBoat,
- Item::SpruceBoat,
- Item::BirchBoat,
- Item::JungleBoat,
- Item::AcaciaBoat,
- Item::DarkOakBoat,
- Item::MangroveBoat,
- Item::BambooRaft,
- Item::CherryBoat,
- Item::OakChestBoat,
- Item::SpruceChestBoat,
- Item::BirchChestBoat,
- Item::JungleChestBoat,
- Item::AcaciaChestBoat,
- Item::DarkOakChestBoat,
- Item::MangroveChestBoat,
- Item::BambooChestRaft,
- Item::CherryChestBoat,
+ Item::OakStairs,
+ Item::SpruceStairs,
+ Item::BirchStairs,
+ Item::JungleStairs,
+ Item::AcaciaStairs,
+ Item::DarkOakStairs,
+ Item::CrimsonStairs,
+ Item::WarpedStairs,
+ Item::MangroveStairs,
+ Item::BambooStairs,
+ Item::CherryStairs,
])
});
-pub static RAILS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WOODEN_SLABS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Rail,
- Item::PoweredRail,
- Item::DetectorRail,
- Item::ActivatorRail,
+ Item::OakSlab,
+ Item::SpruceSlab,
+ Item::BirchSlab,
+ Item::JungleSlab,
+ Item::AcaciaSlab,
+ Item::DarkOakSlab,
+ Item::CrimsonSlab,
+ Item::WarpedSlab,
+ Item::MangroveSlab,
+ Item::BambooSlab,
+ Item::CherrySlab,
])
});
-pub static TRIMMABLE_ARMOR: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static DIRT: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::NetheriteHelmet,
- Item::NetheriteChestplate,
- Item::NetheriteLeggings,
- Item::NetheriteBoots,
- Item::DiamondHelmet,
- Item::DiamondChestplate,
- Item::DiamondLeggings,
- Item::DiamondBoots,
- Item::GoldenHelmet,
- Item::GoldenChestplate,
- Item::GoldenLeggings,
- Item::GoldenBoots,
- Item::IronHelmet,
- Item::IronChestplate,
- Item::IronLeggings,
- Item::IronBoots,
- Item::ChainmailHelmet,
- Item::ChainmailChestplate,
- Item::ChainmailLeggings,
- Item::ChainmailBoots,
- Item::LeatherHelmet,
- Item::LeatherChestplate,
- Item::LeatherLeggings,
- Item::LeatherBoots,
- Item::TurtleHelmet,
+ Item::Dirt,
+ Item::GrassBlock,
+ Item::Podzol,
+ Item::CoarseDirt,
+ Item::Mycelium,
+ Item::RootedDirt,
+ Item::MossBlock,
+ Item::Mud,
+ Item::MuddyMangroveRoots,
])
});
-pub static PLANKS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static SMELTS_TO_GLASS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Sand, Item::RedSand]));
+pub static STONE_BRICKS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakPlanks,
- Item::SprucePlanks,
- Item::BirchPlanks,
- Item::JunglePlanks,
- Item::AcaciaPlanks,
- Item::DarkOakPlanks,
- Item::CrimsonPlanks,
- Item::WarpedPlanks,
- Item::MangrovePlanks,
- Item::BambooPlanks,
- Item::CherryPlanks,
+ Item::StoneBricks,
+ Item::MossyStoneBricks,
+ Item::CrackedStoneBricks,
+ Item::ChiseledStoneBricks,
])
});
-pub static FOX_FOOD: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::SweetBerries, Item::GlowBerries]));
-pub static BAMBOO_BLOCKS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::BambooBlock, Item::StrippedBambooBlock]));
-pub static SNIFFER_FOOD: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::TorchflowerSeeds]));
-pub static CANDLES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static ANVIL: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::Anvil, Item::ChippedAnvil, Item::DamagedAnvil]));
+pub static SOUL_FIRE_BASE_BLOCKS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::SoulSand, Item::SoulSoil]));
+pub static ACACIA_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::Candle,
- Item::WhiteCandle,
- Item::OrangeCandle,
- Item::MagentaCandle,
- Item::LightBlueCandle,
- Item::YellowCandle,
- Item::LimeCandle,
- Item::PinkCandle,
- Item::GrayCandle,
- Item::LightGrayCandle,
- Item::CyanCandle,
- Item::PurpleCandle,
- Item::BlueCandle,
- Item::BrownCandle,
- Item::GreenCandle,
- Item::RedCandle,
- Item::BlackCandle,
+ Item::AcaciaLog,
+ Item::AcaciaWood,
+ Item::StrippedAcaciaLog,
+ Item::StrippedAcaciaWood,
])
});
-pub static SPRUCE_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static LAPIS_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::LapisOre, Item::DeepslateLapisOre]));
+pub static MANGROVE_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::SpruceLog,
- Item::SpruceWood,
- Item::StrippedSpruceLog,
- Item::StrippedSpruceWood,
+ Item::MangroveLog,
+ Item::MangroveWood,
+ Item::StrippedMangroveLog,
+ Item::StrippedMangroveWood,
])
});
-pub static SWORDS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static DAMPENS_VIBRATIONS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
+ Item::WhiteWool,
+ Item::OrangeWool,
+ Item::MagentaWool,
+ Item::LightBlueWool,
+ Item::YellowWool,
+ Item::LimeWool,
+ Item::PinkWool,
+ Item::GrayWool,
+ Item::LightGrayWool,
+ Item::CyanWool,
+ Item::PurpleWool,
+ Item::BlueWool,
+ Item::BrownWool,
+ Item::GreenWool,
+ Item::RedWool,
+ Item::BlackWool,
+ Item::WhiteCarpet,
+ Item::OrangeCarpet,
+ Item::MagentaCarpet,
+ Item::LightBlueCarpet,
+ Item::YellowCarpet,
+ Item::LimeCarpet,
+ Item::PinkCarpet,
+ Item::GrayCarpet,
+ Item::LightGrayCarpet,
+ Item::CyanCarpet,
+ Item::PurpleCarpet,
+ Item::BlueCarpet,
+ Item::BrownCarpet,
+ Item::GreenCarpet,
+ Item::RedCarpet,
+ Item::BlackCarpet,
])
});
-pub static LECTERN_BOOKS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::WrittenBook, Item::WritableBook]));
-pub static DECORATED_POT_SHERDS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static JUNGLE_LOGS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::AnglerPotterySherd,
- Item::ArcherPotterySherd,
- Item::ArmsUpPotterySherd,
- Item::BladePotterySherd,
- Item::BrewerPotterySherd,
- Item::BurnPotterySherd,
- Item::DangerPotterySherd,
- Item::ExplorerPotterySherd,
- Item::FriendPotterySherd,
- Item::HeartPotterySherd,
- Item::HeartbreakPotterySherd,
- Item::HowlPotterySherd,
- Item::MinerPotterySherd,
- Item::MournerPotterySherd,
- Item::PlentyPotterySherd,
- Item::PrizePotterySherd,
- Item::SheafPotterySherd,
- Item::ShelterPotterySherd,
- Item::SkullPotterySherd,
- Item::SnortPotterySherd,
+ Item::JungleLog,
+ Item::JungleWood,
+ Item::StrippedJungleLog,
+ Item::StrippedJungleWood,
])
});
-pub static SAPLINGS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WOODEN_PRESSURE_PLATES: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakSapling,
- Item::SpruceSapling,
- Item::BirchSapling,
- Item::JungleSapling,
- Item::AcaciaSapling,
- Item::DarkOakSapling,
- Item::Azalea,
- Item::FloweringAzalea,
- Item::MangrovePropagule,
- Item::CherrySapling,
+ Item::OakPressurePlate,
+ Item::SprucePressurePlate,
+ Item::BirchPressurePlate,
+ Item::JunglePressurePlate,
+ Item::AcaciaPressurePlate,
+ Item::DarkOakPressurePlate,
+ Item::CrimsonPressurePlate,
+ Item::WarpedPressurePlate,
+ Item::MangrovePressurePlate,
+ Item::BambooPressurePlate,
+ Item::CherryPressurePlate,
])
});
-pub static LEAVES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WOOL_CARPETS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::JungleLeaves,
- Item::OakLeaves,
- Item::SpruceLeaves,
- Item::DarkOakLeaves,
- Item::AcaciaLeaves,
- Item::BirchLeaves,
- Item::AzaleaLeaves,
- Item::FloweringAzaleaLeaves,
- Item::MangroveLeaves,
- Item::CherryLeaves,
+ Item::WhiteCarpet,
+ Item::OrangeCarpet,
+ Item::MagentaCarpet,
+ Item::LightBlueCarpet,
+ Item::YellowCarpet,
+ Item::LimeCarpet,
+ Item::PinkCarpet,
+ Item::GrayCarpet,
+ Item::LightGrayCarpet,
+ Item::CyanCarpet,
+ Item::PurpleCarpet,
+ Item::BlueCarpet,
+ Item::BrownCarpet,
+ Item::GreenCarpet,
+ Item::RedCarpet,
+ Item::BlackCarpet,
])
});
-pub static STONE_BUTTONS: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::StoneButton, Item::PolishedBlackstoneButton]));
-pub static REDSTONE_ORES: Lazy<HashSet<Item>> =
- Lazy::new(|| HashSet::from_iter(vec![Item::RedstoneOre, Item::DeepslateRedstoneOre]));
-pub static CRIMSON_STEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static RAILS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::CrimsonStem,
- Item::StrippedCrimsonStem,
- Item::CrimsonHyphae,
- Item::StrippedCrimsonHyphae,
+ Item::Rail,
+ Item::PoweredRail,
+ Item::DetectorRail,
+ Item::ActivatorRail,
])
});
-pub static HANGING_SIGNS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static COAL_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::CoalOre, Item::DeepslateCoalOre]));
+pub static WOOL: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::OakHangingSign,
- Item::SpruceHangingSign,
- Item::BirchHangingSign,
- Item::AcaciaHangingSign,
- Item::CherryHangingSign,
- Item::JungleHangingSign,
- Item::DarkOakHangingSign,
- Item::CrimsonHangingSign,
- Item::WarpedHangingSign,
- Item::MangroveHangingSign,
- Item::BambooHangingSign,
+ Item::WhiteWool,
+ Item::OrangeWool,
+ Item::MagentaWool,
+ Item::LightBlueWool,
+ Item::YellowWool,
+ Item::LimeWool,
+ Item::PinkWool,
+ Item::GrayWool,
+ Item::LightGrayWool,
+ Item::CyanWool,
+ Item::PurpleWool,
+ Item::BlueWool,
+ Item::BrownWool,
+ Item::GreenWool,
+ Item::RedWool,
+ Item::BlackWool,
])
});
-pub static WALLS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WART_BLOCKS: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::NetherWartBlock, Item::WarpedWartBlock]));
+pub static WOODEN_BUTTONS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::CobblestoneWall,
- Item::MossyCobblestoneWall,
- Item::BrickWall,
- Item::PrismarineWall,
- Item::RedSandstoneWall,
- Item::MossyStoneBrickWall,
- Item::GraniteWall,
- Item::StoneBrickWall,
- Item::NetherBrickWall,
- Item::AndesiteWall,
- Item::RedNetherBrickWall,
- Item::SandstoneWall,
- Item::EndStoneBrickWall,
- Item::DioriteWall,
- Item::BlackstoneWall,
- Item::PolishedBlackstoneBrickWall,
- Item::PolishedBlackstoneWall,
- Item::CobbledDeepslateWall,
- Item::PolishedDeepslateWall,
- Item::DeepslateTileWall,
- Item::DeepslateBrickWall,
- Item::MudBrickWall,
+ Item::OakButton,
+ Item::SpruceButton,
+ Item::BirchButton,
+ Item::JungleButton,
+ Item::AcaciaButton,
+ Item::DarkOakButton,
+ Item::CrimsonButton,
+ Item::WarpedButton,
+ Item::MangroveButton,
+ Item::BambooButton,
+ Item::CherryButton,
])
});
-pub static CLUSTER_MAX_HARVESTABLES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WOODEN_FENCES: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::DiamondPickaxe,
- Item::GoldenPickaxe,
- Item::IronPickaxe,
- Item::NetheritePickaxe,
- Item::StonePickaxe,
- Item::WoodenPickaxe,
+ Item::OakFence,
+ Item::AcaciaFence,
+ Item::DarkOakFence,
+ Item::SpruceFence,
+ Item::BirchFence,
+ Item::JungleFence,
+ Item::CrimsonFence,
+ Item::WarpedFence,
+ Item::MangroveFence,
+ Item::BambooFence,
+ Item::CherryFence,
])
});
-pub static MUSIC_DISCS: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static EMERALD_ORES: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::EmeraldOre, Item::DeepslateEmeraldOre]));
+pub static WOODEN_DOORS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::MusicDiscPigstep,
- Item::MusicDiscOtherside,
- Item::MusicDisc5,
- Item::MusicDiscRelic,
- Item::MusicDisc13,
- Item::MusicDiscCat,
- Item::MusicDiscBlocks,
- Item::MusicDiscChirp,
- Item::MusicDiscFar,
- Item::MusicDiscMall,
- Item::MusicDiscMellohi,
- Item::MusicDiscStal,
- Item::MusicDiscStrad,
- Item::MusicDiscWard,
- Item::MusicDisc11,
- Item::MusicDiscWait,
+ Item::OakDoor,
+ Item::SpruceDoor,
+ Item::BirchDoor,
+ Item::JungleDoor,
+ Item::AcaciaDoor,
+ Item::DarkOakDoor,
+ Item::CrimsonDoor,
+ Item::WarpedDoor,
+ Item::MangroveDoor,
+ Item::BambooDoor,
+ Item::CherryDoor,
])
});
-pub static FREEZE_IMMUNE_WEARABLES: Lazy<HashSet<Item>> = Lazy::new(|| {
+pub static WARPED_STEMS: Lazy<HashSet<Item>> = Lazy::new(|| {
HashSet::from_iter(vec![
- Item::LeatherBoots,
- Item::LeatherLeggings,
- Item::LeatherChestplate,
- Item::LeatherHelmet,
- Item::LeatherHorseArmor,
+ Item::WarpedStem,
+ Item::StrippedWarpedStem,
+ Item::WarpedHyphae,
+ Item::StrippedWarpedHyphae,
+ ])
+});
+pub static SIGNS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::OakSign,
+ Item::SpruceSign,
+ Item::BirchSign,
+ Item::AcaciaSign,
+ Item::JungleSign,
+ Item::DarkOakSign,
+ Item::CrimsonSign,
+ Item::WarpedSign,
+ Item::MangroveSign,
+ Item::BambooSign,
+ Item::CherrySign,
+ ])
+});
+pub static SLABS: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::BambooMosaicSlab,
+ Item::StoneSlab,
+ Item::SmoothStoneSlab,
+ Item::StoneBrickSlab,
+ Item::SandstoneSlab,
+ Item::PurpurSlab,
+ Item::QuartzSlab,
+ Item::RedSandstoneSlab,
+ Item::BrickSlab,
+ Item::CobblestoneSlab,
+ Item::NetherBrickSlab,
+ Item::PetrifiedOakSlab,
+ Item::PrismarineSlab,
+ Item::PrismarineBrickSlab,
+ Item::DarkPrismarineSlab,
+ Item::PolishedGraniteSlab,
+ Item::SmoothRedSandstoneSlab,
+ Item::MossyStoneBrickSlab,
+ Item::PolishedDioriteSlab,
+ Item::MossyCobblestoneSlab,
+ Item::EndStoneBrickSlab,
+ Item::SmoothSandstoneSlab,
+ Item::SmoothQuartzSlab,
+ Item::GraniteSlab,
+ Item::AndesiteSlab,
+ Item::RedNetherBrickSlab,
+ Item::PolishedAndesiteSlab,
+ Item::DioriteSlab,
+ Item::CutSandstoneSlab,
+ Item::CutRedSandstoneSlab,
+ Item::BlackstoneSlab,
+ Item::PolishedBlackstoneBrickSlab,
+ Item::PolishedBlackstoneSlab,
+ Item::CobbledDeepslateSlab,
+ Item::PolishedDeepslateSlab,
+ Item::DeepslateTileSlab,
+ Item::DeepslateBrickSlab,
+ Item::WaxedWeatheredCutCopperSlab,
+ Item::WaxedExposedCutCopperSlab,
+ Item::WaxedCutCopperSlab,
+ Item::OxidizedCutCopperSlab,
+ Item::WeatheredCutCopperSlab,
+ Item::ExposedCutCopperSlab,
+ Item::CutCopperSlab,
+ Item::WaxedOxidizedCutCopperSlab,
+ Item::MudBrickSlab,
+ Item::OakSlab,
+ Item::SpruceSlab,
+ Item::BirchSlab,
+ Item::JungleSlab,
+ Item::AcaciaSlab,
+ Item::DarkOakSlab,
+ Item::CrimsonSlab,
+ Item::WarpedSlab,
+ Item::MangroveSlab,
+ Item::BambooSlab,
+ Item::CherrySlab,
+ ])
+});
+pub static CHICKEN_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::WheatSeeds,
+ Item::MelonSeeds,
+ Item::PumpkinSeeds,
+ Item::BeetrootSeeds,
+ Item::TorchflowerSeeds,
+ Item::PitcherPod,
+ ])
+});
+pub static BEE_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::FloweringAzaleaLeaves,
+ Item::FloweringAzalea,
+ Item::MangrovePropagule,
+ Item::CherryLeaves,
+ Item::PinkPetals,
+ Item::ChorusFlower,
+ Item::SporeBlossom,
+ Item::Dandelion,
+ Item::Poppy,
+ Item::BlueOrchid,
+ Item::Allium,
+ Item::AzureBluet,
+ Item::RedTulip,
+ Item::OrangeTulip,
+ Item::WhiteTulip,
+ Item::PinkTulip,
+ Item::OxeyeDaisy,
+ Item::Cornflower,
+ Item::LilyOfTheValley,
+ Item::WitherRose,
+ Item::Torchflower,
+ Item::Sunflower,
+ Item::Lilac,
+ Item::Peony,
+ Item::RoseBush,
+ Item::PitcherPlant,
+ ])
+});
+pub static GOLD_ORES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::GoldOre,
+ Item::NetherGoldOre,
+ Item::DeepslateGoldOre,
+ ])
+});
+pub static FROG_FOOD: Lazy<HashSet<Item>> = Lazy::new(|| HashSet::from_iter(vec![Item::SlimeBall]));
+pub static HOGLIN_FOOD: Lazy<HashSet<Item>> =
+ Lazy::new(|| HashSet::from_iter(vec![Item::CrimsonFungus]));
+pub static FENCE_GATES: Lazy<HashSet<Item>> = Lazy::new(|| {
+ HashSet::from_iter(vec![
+ Item::AcaciaFenceGate,
+ Item::BirchFenceGate,
+ Item::DarkOakFenceGate,
+ Item::JungleFenceGate,
+ Item::OakFenceGate,
+ Item::SpruceFenceGate,
+ Item::CrimsonFenceGate,
+ Item::WarpedFenceGate,
+ Item::MangroveFenceGate,
+ Item::BambooFenceGate,
+ Item::CherryFenceGate,
])
});