diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2025-03-25 11:17:39 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-25 11:17:39 -0500 |
| commit | ef357fdf3667f3ded03203fc0f7cdec48a01ad8f (patch) | |
| tree | 6e7429c62a22fec1988278f63554c93bdd905a5d /azalea-registry/src | |
| parent | 8af265e48bf9f3d5263c074d034770e4216bb3f3 (diff) | |
| download | azalea-drasl-ef357fdf3667f3ded03203fc0f7cdec48a01ad8f.tar.xz | |
1.21.5 (#198)
* 25w02a
* move item_components codegen to a different module
* remove outdated test
* 25w03a
* start updating to 24w09b
* 1.21.5-pre2
* fix broken packets
* 1.21.5-rc2
* merge main
* delete unused acket_handling
* 1.21.5
Diffstat (limited to 'azalea-registry/src')
| -rw-r--r-- | azalea-registry/src/data.rs | 66 | ||||
| -rw-r--r-- | azalea-registry/src/extra.rs | 123 | ||||
| -rwxr-xr-x | azalea-registry/src/lib.rs | 267 | ||||
| -rw-r--r-- | azalea-registry/src/tags/blocks.rs | 321 | ||||
| -rw-r--r-- | azalea-registry/src/tags/items.rs | 40 |
5 files changed, 524 insertions, 293 deletions
diff --git a/azalea-registry/src/data.rs b/azalea-registry/src/data.rs index 17338c8f..7ae55119 100644 --- a/azalea-registry/src/data.rs +++ b/azalea-registry/src/data.rs @@ -1,41 +1,55 @@ -use azalea_buf::AzBuf; +use azalea_buf::{AzBuf, AzaleaRead, AzaleaWrite}; + +use crate::Registry; /// A registry which has its values decided by the server in the /// `ClientboundRegistryData` packet. /// /// These can be resolved into their actual values with /// `ResolvableDataRegistry` from azalea-core. -pub trait DataRegistry { +pub trait DataRegistry: AzaleaRead + AzaleaWrite { const NAME: &'static str; fn protocol_id(&self) -> u32; + fn new_raw(id: u32) -> Self; } - -#[derive(Debug, Clone, Copy, AzBuf, PartialEq, Eq, Hash)] -pub struct Enchantment { - #[var] - id: u32, -} -impl DataRegistry for Enchantment { - const NAME: &'static str = "enchantment"; - fn protocol_id(&self) -> u32 { - self.id +impl<T: DataRegistry> Registry for T { + fn from_u32(value: u32) -> Option<Self> { + Some(Self::new_raw(value)) } -} -#[derive(Debug, Clone, Copy, AzBuf, PartialEq, Eq, Hash)] -pub struct DimensionType { - #[var] - id: u32, -} -impl DimensionType { - pub fn new_raw(id: u32) -> Self { - Self { id } + fn to_u32(&self) -> u32 { + self.protocol_id() } } -impl DataRegistry for DimensionType { - const NAME: &'static str = "dimension_type"; - fn protocol_id(&self) -> u32 { - self.id - } + +macro_rules! data_registry { + ($name:ident, $registry_name:expr) => { + #[derive(Debug, Clone, Copy, AzBuf, PartialEq, Eq, Hash)] + pub struct $name { + #[var] + id: u32, + } + impl DataRegistry for $name { + const NAME: &'static str = $registry_name; + fn protocol_id(&self) -> u32 { + self.id + } + fn new_raw(id: u32) -> Self { + Self { id } + } + } + }; } + +data_registry! {Enchantment, "enchantment"} +data_registry! {DimensionType, "dimension_type"} +data_registry! {DamageKind, "damage_kind"} +data_registry! {WolfSoundVariant, "wolf_sound_variant"} +data_registry! {CowVariant, "cow_variant"} +data_registry! {ChickenVariant, "chicken_variant"} +data_registry! {FrogVariant, "frog_variant"} +data_registry! {CatVariant, "cat_variant"} +data_registry! {PigVariant, "pig_variant"} +data_registry! {PaintingVariant, "painting_variant"} +data_registry! {WolfVariant, "wolf_variant"} diff --git a/azalea-registry/src/extra.rs b/azalea-registry/src/extra.rs index 1ba1f0a9..694b9820 100644 --- a/azalea-registry/src/extra.rs +++ b/azalea-registry/src/extra.rs @@ -7,24 +7,82 @@ use azalea_registry_macros::registry; use crate::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", +#[derive(Default)] +enum FoxVariant { + #[default] + Red => "minecraft:red", + Snow => "minecraft:snow", } } -#[allow(clippy::derivable_impls)] -impl Default for WolfVariant { - fn default() -> Self { - WolfVariant::Pale - } +registry! { +enum ParrotVariant { + RedBlue => "minecraft:red_blue", + Blue => "minecraft:blue", + Green => "minecraft:green", + YellowBlue => "minecraft:yellow_blue", + Gray => "minecraft:gray", +} +} + +registry! { +#[derive(Default)] +enum MooshroomVariant { + #[default] + Red => "minecraft:red", + Brown => "minecraft:brown", +} +} + +registry! { +#[derive(Default)] +enum RabbitVariant { + #[default] + Brown => "minecraft:brown", + White => "minecraft:white", + Black => "minecraft:black", + WhiteSplotched => "minecraft:white_splotched", + Gold => "minecraft:gold", + Salt => "minecraft:salt", + Evil => "minecraft:evil", +} +} + +registry! { +#[derive(Default)] +enum HorseVariant { + #[default] + White => "minecraft:white", + Creamy => "minecraft:creamy", + Chestnut => "minecraft:chestnut", + Brown => "minecraft:brown", + Black => "minecraft:black", + Gray => "minecraft:gray", + DarkBrown => "minecraft:dark_brown", +} +} + +registry! { +#[derive(Default)] +enum LlamaVariant { + #[default] + Creamy => "minecraft:creamy", + White => "minecraft:white", + Brown => "minecraft:brown", + Gray => "minecraft:gray", +} +} + +registry! { +#[derive(Default)] +enum AxolotlVariant { + #[default] + Lucy => "minecraft:lucy", + Wild => "minecraft:wild", + Gold => "minecraft:gold", + Cyan => "minecraft:cyan", + Blue => "minecraft:blue", +} } registry! { @@ -135,38 +193,3 @@ enum Instrument { DreamGoatHorn => "minecraft:dream_goat_horn", } } - -registry! { -enum PaintingVariant { - Kebab => "minecraft:kebab", - Aztec => "minecraft:aztec", - Alban => "minecraft:alban", - Aztec2 => "minecraft:aztec2", - Bomb => "minecraft:bomb", - Plant => "minecraft:plant", - Wasteland => "minecraft:wasteland", - Pool => "minecraft:pool", - Courbet => "minecraft:courbet", - Sea => "minecraft:sea", - Sunset => "minecraft:sunset", - Creebet => "minecraft:creebet", - Wanderer => "minecraft:wanderer", - Graham => "minecraft:graham", - Match => "minecraft:match", - Bust => "minecraft:bust", - Stage => "minecraft:stage", - Void => "minecraft:void", - SkullAndRoses => "minecraft:skull_and_roses", - Wither => "minecraft:wither", - Fighters => "minecraft:fighters", - Pointer => "minecraft:pointer", - Pigscene => "minecraft:pigscene", - BurningSkull => "minecraft:burning_skull", - Skeleton => "minecraft:skeleton", - Earth => "minecraft:earth", - Wind => "minecraft:wind", - Water => "minecraft:water", - Fire => "minecraft:fire", - DonkeyKong => "minecraft:donkey_kong", -} -} diff --git a/azalea-registry/src/lib.rs b/azalea-registry/src/lib.rs index 59b8101f..11e44829 100755 --- a/azalea-registry/src/lib.rs +++ b/azalea-registry/src/lib.rs @@ -158,10 +158,9 @@ impl<R: Registry, Direct: AzaleaRead + AzaleaWrite> AzaleaRead for Holder<R, Dir if id == 0 { Ok(Self::Direct(Direct::azalea_read(buf)?)) } else { - let Some(value) = R::from_u32(id - 1) else { - return Err(BufReadError::UnexpectedEnumVariant { - id: (id - 1) as i32, - }); + let id = id - 1; + let Some(value) = R::from_u32(id) else { + return Err(BufReadError::UnexpectedEnumVariant { id: id as i32 }); }; Ok(Self::Reference(value)) } @@ -415,6 +414,9 @@ enum Block { ShortGrass => "minecraft:short_grass", Fern => "minecraft:fern", DeadBush => "minecraft:dead_bush", + Bush => "minecraft:bush", + ShortDryGrass => "minecraft:short_dry_grass", + TallDryGrass => "minecraft:tall_dry_grass", Seagrass => "minecraft:seagrass", TallSeagrass => "minecraft:tall_seagrass", Piston => "minecraft:piston", @@ -546,6 +548,7 @@ enum Block { Ice => "minecraft:ice", SnowBlock => "minecraft:snow_block", Cactus => "minecraft:cactus", + CactusFlower => "minecraft:cactus_flower", Clay => "minecraft:clay", SugarCane => "minecraft:sugar_cane", Jukebox => "minecraft:jukebox", @@ -1144,6 +1147,8 @@ enum Block { WarpedWallSign => "minecraft:warped_wall_sign", StructureBlock => "minecraft:structure_block", Jigsaw => "minecraft:jigsaw", + TestBlock => "minecraft:test_block", + TestInstanceBlock => "minecraft:test_instance_block", Composter => "minecraft:composter", Target => "minecraft:target", BeeNest => "minecraft:bee_nest", @@ -1326,6 +1331,8 @@ enum Block { FloweringAzalea => "minecraft:flowering_azalea", MossCarpet => "minecraft:moss_carpet", PinkPetals => "minecraft:pink_petals", + Wildflowers => "minecraft:wildflowers", + LeafLitter => "minecraft:leaf_litter", MossBlock => "minecraft:moss_block", BigDripleaf => "minecraft:big_dripleaf", BigDripleafStem => "minecraft:big_dripleaf_stem", @@ -1377,6 +1384,7 @@ enum Block { ClosedEyeblossom => "minecraft:closed_eyeblossom", PottedOpenEyeblossom => "minecraft:potted_open_eyeblossom", PottedClosedEyeblossom => "minecraft:potted_closed_eyeblossom", + FireflyBush => "minecraft:firefly_bush", } } @@ -1430,6 +1438,8 @@ enum BlockEntityKind { Crafter => "minecraft:crafter", TrialSpawner => "minecraft:trial_spawner", Vault => "minecraft:vault", + TestBlock => "minecraft:test_block", + TestInstanceBlock => "minecraft:test_instance_block", } } @@ -1452,22 +1462,6 @@ enum BlockPredicateKind { } registry! { -enum CatVariant { - Tabby => "minecraft:tabby", - Black => "minecraft:black", - Red => "minecraft:red", - Siamese => "minecraft:siamese", - BritishShorthair => "minecraft:british_shorthair", - Calico => "minecraft:calico", - Persian => "minecraft:persian", - Ragdoll => "minecraft:ragdoll", - White => "minecraft:white", - Jellie => "minecraft:jellie", - AllBlack => "minecraft:all_black", -} -} - -registry! { enum ChunkStatus { Empty => "minecraft:empty", StructureStarts => "minecraft:structure_starts", @@ -1533,6 +1527,7 @@ enum CommandArgumentKind { ResourceOrTagKey => "minecraft:resource_or_tag_key", Resource => "minecraft:resource", ResourceKey => "minecraft:resource_key", + ResourceSelector => "minecraft:resource_selector", TemplateMirror => "minecraft:template_mirror", TemplateRotation => "minecraft:template_rotation", Heightmap => "minecraft:heightmap", @@ -1725,7 +1720,8 @@ enum EntityKind { PiglinBrute => "minecraft:piglin_brute", Pillager => "minecraft:pillager", PolarBear => "minecraft:polar_bear", - Potion => "minecraft:potion", + SplashPotion => "minecraft:splash_potion", + LingeringPotion => "minecraft:lingering_potion", Pufferfish => "minecraft:pufferfish", Rabbit => "minecraft:rabbit", Ravager => "minecraft:ravager", @@ -1798,14 +1794,6 @@ enum Fluid { } registry! { -enum FrogVariant { - Temperate => "minecraft:temperate", - Warm => "minecraft:warm", - Cold => "minecraft:cold", -} -} - -registry! { enum GameEvent { BlockActivate => "minecraft:block_activate", BlockAttach => "minecraft:block_attach", @@ -2098,9 +2086,13 @@ enum Item { Cobweb => "minecraft:cobweb", ShortGrass => "minecraft:short_grass", Fern => "minecraft:fern", + Bush => "minecraft:bush", Azalea => "minecraft:azalea", FloweringAzalea => "minecraft:flowering_azalea", DeadBush => "minecraft:dead_bush", + FireflyBush => "minecraft:firefly_bush", + ShortDryGrass => "minecraft:short_dry_grass", + TallDryGrass => "minecraft:tall_dry_grass", Seagrass => "minecraft:seagrass", SeaPickle => "minecraft:sea_pickle", WhiteWool => "minecraft:white_wool", @@ -2149,6 +2141,8 @@ enum Item { SugarCane => "minecraft:sugar_cane", Kelp => "minecraft:kelp", PinkPetals => "minecraft:pink_petals", + Wildflowers => "minecraft:wildflowers", + LeafLitter => "minecraft:leaf_litter", MossCarpet => "minecraft:moss_carpet", MossBlock => "minecraft:moss_block", PaleMossCarpet => "minecraft:pale_moss_carpet", @@ -2217,6 +2211,7 @@ enum Item { Ice => "minecraft:ice", SnowBlock => "minecraft:snow_block", Cactus => "minecraft:cactus", + CactusFlower => "minecraft:cactus_flower", Clay => "minecraft:clay", Jukebox => "minecraft:jukebox", OakFence => "minecraft:oak_fence", @@ -2719,6 +2714,8 @@ enum Item { BambooChestRaft => "minecraft:bamboo_chest_raft", StructureBlock => "minecraft:structure_block", Jigsaw => "minecraft:jigsaw", + TestBlock => "minecraft:test_block", + TestInstanceBlock => "minecraft:test_instance_block", TurtleHelmet => "minecraft:turtle_helmet", TurtleScute => "minecraft:turtle_scute", ArmadilloScute => "minecraft:armadillo_scute", @@ -2855,6 +2852,8 @@ enum Item { Book => "minecraft:book", SlimeBall => "minecraft:slime_ball", Egg => "minecraft:egg", + BlueEgg => "minecraft:blue_egg", + BrownEgg => "minecraft:brown_egg", Compass => "minecraft:compass", RecoveryCompass => "minecraft:recovery_compass", Bundle => "minecraft:bundle", @@ -3403,6 +3402,7 @@ enum MemoryModuleKind { NearestPlayers => "minecraft:nearest_players", NearestVisiblePlayer => "minecraft:nearest_visible_player", NearestVisibleTargetablePlayer => "minecraft:nearest_visible_targetable_player", + NearestVisibleTargetablePlayers => "minecraft:nearest_visible_targetable_players", WalkTarget => "minecraft:walk_target", LookTarget => "minecraft:look_target", AttackTarget => "minecraft:attack_target", @@ -3581,6 +3581,7 @@ enum ParticleKind { Infested => "minecraft:infested", CherryLeaves => "minecraft:cherry_leaves", PaleOakLeaves => "minecraft:pale_oak_leaves", + TintedLeaves => "minecraft:tinted_leaves", SculkSoul => "minecraft:sculk_soul", SculkCharge => "minecraft:sculk_charge", SculkChargePop => "minecraft:sculk_charge_pop", @@ -3658,6 +3659,7 @@ enum ParticleKind { RaidOmen => "minecraft:raid_omen", TrialOmen => "minecraft:trial_omen", BlockCrumble => "minecraft:block_crumble", + Firefly => "minecraft:firefly", } } @@ -4075,6 +4077,8 @@ enum SoundEvent { ItemBundleInsert => "minecraft:item.bundle.insert", ItemBundleInsertFail => "minecraft:item.bundle.insert_fail", ItemBundleRemoveOne => "minecraft:item.bundle.remove_one", + BlockCactusFlowerBreak => "minecraft:block.cactus_flower.break", + BlockCactusFlowerPlace => "minecraft:block.cactus_flower.place", BlockCakeAddCandle => "minecraft:block.cake.add_candle", BlockCalciteBreak => "minecraft:block.calcite.break", BlockCalciteStep => "minecraft:block.calcite.step", @@ -4254,6 +4258,7 @@ enum SoundEvent { ItemCrossbowQuickCharge2 => "minecraft:item.crossbow.quick_charge_2", ItemCrossbowQuickCharge3 => "minecraft:item.crossbow.quick_charge_3", ItemCrossbowShoot => "minecraft:item.crossbow.shoot", + BlockDeadbushIdle => "minecraft:block.deadbush.idle", BlockDecoratedPotBreak => "minecraft:block.decorated_pot.break", BlockDecoratedPotFall => "minecraft:block.decorated_pot.fall", BlockDecoratedPotHit => "minecraft:block.decorated_pot.hit", @@ -4379,6 +4384,7 @@ enum SoundEvent { BlockFenceGateClose => "minecraft:block.fence_gate.close", BlockFenceGateOpen => "minecraft:block.fence_gate.open", ItemFirechargeUse => "minecraft:item.firecharge.use", + BlockFireflyBushIdle => "minecraft:block.firefly_bush.idle", EntityFireworkRocketBlast => "minecraft:entity.firework_rocket.blast", EntityFireworkRocketBlastFar => "minecraft:entity.firework_rocket.blast_far", EntityFireworkRocketLargeBlast => "minecraft:entity.firework_rocket.large_blast", @@ -4618,6 +4624,11 @@ enum SoundEvent { EntityIllusionerPrepareBlindness => "minecraft:entity.illusioner.prepare_blindness", EntityIllusionerPrepareMirror => "minecraft:entity.illusioner.prepare_mirror", ItemInkSacUse => "minecraft:item.ink_sac.use", + BlockIronBreak => "minecraft:block.iron.break", + BlockIronStep => "minecraft:block.iron.step", + BlockIronPlace => "minecraft:block.iron.place", + BlockIronHit => "minecraft:block.iron.hit", + BlockIronFall => "minecraft:block.iron.fall", BlockIronDoorClose => "minecraft:block.iron_door.close", BlockIronDoorOpen => "minecraft:block.iron_door.open", EntityIronGolemAttack => "minecraft:entity.iron_golem.attack", @@ -4650,6 +4661,11 @@ enum SoundEvent { BlockLavaAmbient => "minecraft:block.lava.ambient", BlockLavaExtinguish => "minecraft:block.lava.extinguish", BlockLavaPop => "minecraft:block.lava.pop", + BlockLeafLitterBreak => "minecraft:block.leaf_litter.break", + BlockLeafLitterStep => "minecraft:block.leaf_litter.step", + BlockLeafLitterPlace => "minecraft:block.leaf_litter.place", + BlockLeafLitterHit => "minecraft:block.leaf_litter.hit", + BlockLeafLitterFall => "minecraft:block.leaf_litter.fall", EntityLeashKnotBreak => "minecraft:entity.leash_knot.break", EntityLeashKnotPlace => "minecraft:entity.leash_knot.place", BlockLeverClick => "minecraft:block.lever.click", @@ -5064,6 +5080,8 @@ enum SoundEvent { BlockSandHit => "minecraft:block.sand.hit", BlockSandPlace => "minecraft:block.sand.place", BlockSandStep => "minecraft:block.sand.step", + BlockSandIdle => "minecraft:block.sand.idle", + BlockSandWind => "minecraft:block.sand.wind", BlockScaffoldingBreak => "minecraft:block.scaffolding.break", BlockScaffoldingFall => "minecraft:block.scaffolding.fall", BlockScaffoldingHit => "minecraft:block.scaffolding.hit", @@ -5440,15 +5458,50 @@ enum SoundEvent { ItemWolfArmorCrack => "minecraft:item.wolf_armor.crack", ItemWolfArmorDamage => "minecraft:item.wolf_armor.damage", ItemWolfArmorRepair => "minecraft:item.wolf_armor.repair", + EntityWolfShake => "minecraft:entity.wolf.shake", + EntityWolfStep => "minecraft:entity.wolf.step", EntityWolfAmbient => "minecraft:entity.wolf.ambient", EntityWolfDeath => "minecraft:entity.wolf.death", EntityWolfGrowl => "minecraft:entity.wolf.growl", - EntityWolfHowl => "minecraft:entity.wolf.howl", EntityWolfHurt => "minecraft:entity.wolf.hurt", EntityWolfPant => "minecraft:entity.wolf.pant", - EntityWolfShake => "minecraft:entity.wolf.shake", - EntityWolfStep => "minecraft:entity.wolf.step", EntityWolfWhine => "minecraft:entity.wolf.whine", + EntityWolfPuglinAmbient => "minecraft:entity.wolf_puglin.ambient", + EntityWolfPuglinDeath => "minecraft:entity.wolf_puglin.death", + EntityWolfPuglinGrowl => "minecraft:entity.wolf_puglin.growl", + EntityWolfPuglinHurt => "minecraft:entity.wolf_puglin.hurt", + EntityWolfPuglinPant => "minecraft:entity.wolf_puglin.pant", + EntityWolfPuglinWhine => "minecraft:entity.wolf_puglin.whine", + EntityWolfSadAmbient => "minecraft:entity.wolf_sad.ambient", + EntityWolfSadDeath => "minecraft:entity.wolf_sad.death", + EntityWolfSadGrowl => "minecraft:entity.wolf_sad.growl", + EntityWolfSadHurt => "minecraft:entity.wolf_sad.hurt", + EntityWolfSadPant => "minecraft:entity.wolf_sad.pant", + EntityWolfSadWhine => "minecraft:entity.wolf_sad.whine", + EntityWolfAngryAmbient => "minecraft:entity.wolf_angry.ambient", + EntityWolfAngryDeath => "minecraft:entity.wolf_angry.death", + EntityWolfAngryGrowl => "minecraft:entity.wolf_angry.growl", + EntityWolfAngryHurt => "minecraft:entity.wolf_angry.hurt", + EntityWolfAngryPant => "minecraft:entity.wolf_angry.pant", + EntityWolfAngryWhine => "minecraft:entity.wolf_angry.whine", + EntityWolfGrumpyAmbient => "minecraft:entity.wolf_grumpy.ambient", + EntityWolfGrumpyDeath => "minecraft:entity.wolf_grumpy.death", + EntityWolfGrumpyGrowl => "minecraft:entity.wolf_grumpy.growl", + EntityWolfGrumpyHurt => "minecraft:entity.wolf_grumpy.hurt", + EntityWolfGrumpyPant => "minecraft:entity.wolf_grumpy.pant", + EntityWolfGrumpyWhine => "minecraft:entity.wolf_grumpy.whine", + EntityWolfBigAmbient => "minecraft:entity.wolf_big.ambient", + EntityWolfBigDeath => "minecraft:entity.wolf_big.death", + EntityWolfBigGrowl => "minecraft:entity.wolf_big.growl", + EntityWolfBigHurt => "minecraft:entity.wolf_big.hurt", + EntityWolfBigPant => "minecraft:entity.wolf_big.pant", + EntityWolfBigWhine => "minecraft:entity.wolf_big.whine", + EntityWolfCuteAmbient => "minecraft:entity.wolf_cute.ambient", + EntityWolfCuteDeath => "minecraft:entity.wolf_cute.death", + EntityWolfCuteGrowl => "minecraft:entity.wolf_cute.growl", + EntityWolfCuteHurt => "minecraft:entity.wolf_cute.hurt", + EntityWolfCutePant => "minecraft:entity.wolf_cute.pant", + EntityWolfCuteWhine => "minecraft:entity.wolf_cute.whine", BlockWoodenDoorClose => "minecraft:block.wooden_door.close", BlockWoodenDoorOpen => "minecraft:block.wooden_door.open", BlockWoodenTrapdoorClose => "minecraft:block.wooden_trapdoor.close", @@ -5626,6 +5679,7 @@ registry! { enum WorldgenFeature { NoOp => "minecraft:no_op", Tree => "minecraft:tree", + FallenTree => "minecraft:fallen_tree", Flower => "minecraft:flower", NoBonemealFlower => "minecraft:no_bonemeal_flower", RandomPatch => "minecraft:random_patch", @@ -5888,6 +5942,8 @@ enum WorldgenTreeDecoratorKind { Beehive => "minecraft:beehive", AlterGround => "minecraft:alter_ground", AttachedToLeaves => "minecraft:attached_to_leaves", + PlaceOnGround => "minecraft:place_on_ground", + AttachedToLogs => "minecraft:attached_to_logs", } } @@ -5992,8 +6048,10 @@ enum BlockKind { Brushable => "minecraft:brushable", BubbleColumn => "minecraft:bubble_column", BuddingAmethyst => "minecraft:budding_amethyst", + Bush => "minecraft:bush", Button => "minecraft:button", Cactus => "minecraft:cactus", + CactusFlower => "minecraft:cactus_flower", Cake => "minecraft:cake", CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor", Campfire => "minecraft:campfire", @@ -6028,7 +6086,7 @@ enum BlockKind { Crop => "minecraft:crop", CryingObsidian => "minecraft:crying_obsidian", DaylightDetector => "minecraft:daylight_detector", - DeadBush => "minecraft:dead_bush", + DryVegetation => "minecraft:dry_vegetation", DecoratedPot => "minecraft:decorated_pot", DetectorRail => "minecraft:detector_rail", DirtPath => "minecraft:dirt_path", @@ -6050,6 +6108,7 @@ enum BlockKind { Fence => "minecraft:fence", FenceGate => "minecraft:fence_gate", Fire => "minecraft:fire", + FireflyBush => "minecraft:firefly_bush", FletchingTable => "minecraft:fletching_table", Flower => "minecraft:flower", FlowerPot => "minecraft:flower_pot", @@ -6082,7 +6141,7 @@ enum BlockKind { Lantern => "minecraft:lantern", LavaCauldron => "minecraft:lava_cauldron", LayeredCauldron => "minecraft:layered_cauldron", - Leaves => "minecraft:leaves", + LeafLitter => "minecraft:leaf_litter", Lectern => "minecraft:lectern", Lever => "minecraft:lever", Light => "minecraft:light", @@ -6107,8 +6166,7 @@ enum BlockKind { Nylium => "minecraft:nylium", Observer => "minecraft:observer", Piglinwallskull => "minecraft:piglinwallskull", - ParticleLeaves => "minecraft:particle_leaves", - PinkPetals => "minecraft:pink_petals", + FlowerBed => "minecraft:flower_bed", PistonBase => "minecraft:piston_base", PistonHead => "minecraft:piston_head", PitcherCrop => "minecraft:pitcher_crop", @@ -6133,6 +6191,7 @@ enum BlockKind { Roots => "minecraft:roots", RotatedPillar => "minecraft:rotated_pillar", Sapling => "minecraft:sapling", + Sand => "minecraft:sand", Scaffolding => "minecraft:scaffolding", SculkCatalyst => "minecraft:sculk_catalyst", Sculk => "minecraft:sculk", @@ -6141,6 +6200,7 @@ enum BlockKind { SculkVein => "minecraft:sculk_vein", Seagrass => "minecraft:seagrass", SeaPickle => "minecraft:sea_pickle", + ShortDryGrass => "minecraft:short_dry_grass", ShulkerBox => "minecraft:shulker_box", Skull => "minecraft:skull", Slab => "minecraft:slab", @@ -6167,11 +6227,16 @@ enum BlockKind { StructureVoid => "minecraft:structure_void", SugarCane => "minecraft:sugar_cane", SweetBerryBush => "minecraft:sweet_berry_bush", + TallDryGrass => "minecraft:tall_dry_grass", TallFlower => "minecraft:tall_flower", TallGrass => "minecraft:tall_grass", TallSeagrass => "minecraft:tall_seagrass", Target => "minecraft:target", + Terracotta => "minecraft:terracotta", + Test => "minecraft:test", + TestInstance => "minecraft:test_instance", TintedGlass => "minecraft:tinted_glass", + TintedParticleLeaves => "minecraft:tinted_particle_leaves", Tnt => "minecraft:tnt", TorchflowerCrop => "minecraft:torchflower_crop", Torch => "minecraft:torch", @@ -6184,6 +6249,7 @@ enum BlockKind { TurtleEgg => "minecraft:turtle_egg", TwistingVinesPlant => "minecraft:twisting_vines_plant", TwistingVines => "minecraft:twisting_vines", + UntintedParticleLeaves => "minecraft:untinted_particle_leaves", Vault => "minecraft:vault", Vine => "minecraft:vine", WallBanner => "minecraft:wall_banner", @@ -6307,8 +6373,7 @@ enum DataComponentKind { CanBreak => "minecraft:can_break", AttributeModifiers => "minecraft:attribute_modifiers", CustomModelData => "minecraft:custom_model_data", - HideAdditionalTooltip => "minecraft:hide_additional_tooltip", - HideTooltip => "minecraft:hide_tooltip", + TooltipDisplay => "minecraft:tooltip_display", RepairCost => "minecraft:repair_cost", CreativeSlotLock => "minecraft:creative_slot_lock", EnchantmentGlintOverride => "minecraft:enchantment_glint_override", @@ -6319,12 +6384,14 @@ enum DataComponentKind { UseCooldown => "minecraft:use_cooldown", DamageResistant => "minecraft:damage_resistant", Tool => "minecraft:tool", + Weapon => "minecraft:weapon", Enchantable => "minecraft:enchantable", Equippable => "minecraft:equippable", Repairable => "minecraft:repairable", Glider => "minecraft:glider", TooltipStyle => "minecraft:tooltip_style", DeathProtection => "minecraft:death_protection", + BlocksAttacks => "minecraft:blocks_attacks", StoredEnchantments => "minecraft:stored_enchantments", DyedColor => "minecraft:dyed_color", MapColor => "minecraft:map_color", @@ -6334,6 +6401,7 @@ enum DataComponentKind { ChargedProjectiles => "minecraft:charged_projectiles", BundleContents => "minecraft:bundle_contents", PotionContents => "minecraft:potion_contents", + PotionDurationScale => "minecraft:potion_duration_scale", SuspiciousStewEffects => "minecraft:suspicious_stew_effects", WritableBookContent => "minecraft:writable_book_content", WrittenBookContent => "minecraft:written_book_content", @@ -6343,8 +6411,10 @@ enum DataComponentKind { BucketEntityData => "minecraft:bucket_entity_data", BlockEntityData => "minecraft:block_entity_data", Instrument => "minecraft:instrument", + ProvidesTrimMaterial => "minecraft:provides_trim_material", OminousBottleAmplifier => "minecraft:ominous_bottle_amplifier", JukeboxPlayable => "minecraft:jukebox_playable", + ProvidesBannerPatterns => "minecraft:provides_banner_patterns", Recipes => "minecraft:recipes", LodestoneTracker => "minecraft:lodestone_tracker", FireworkExplosion => "minecraft:firework_explosion", @@ -6359,6 +6429,31 @@ enum DataComponentKind { Bees => "minecraft:bees", Lock => "minecraft:lock", ContainerLoot => "minecraft:container_loot", + BreakSound => "minecraft:break_sound", + VillagerVariant => "minecraft:villager/variant", + WolfVariant => "minecraft:wolf/variant", + WolfSoundVariant => "minecraft:wolf/sound_variant", + WolfCollar => "minecraft:wolf/collar", + FoxVariant => "minecraft:fox/variant", + SalmonSize => "minecraft:salmon/size", + ParrotVariant => "minecraft:parrot/variant", + TropicalFishPattern => "minecraft:tropical_fish/pattern", + TropicalFishBaseColor => "minecraft:tropical_fish/base_color", + TropicalFishPatternColor => "minecraft:tropical_fish/pattern_color", + MooshroomVariant => "minecraft:mooshroom/variant", + RabbitVariant => "minecraft:rabbit/variant", + PigVariant => "minecraft:pig/variant", + CowVariant => "minecraft:cow/variant", + ChickenVariant => "minecraft:chicken/variant", + FrogVariant => "minecraft:frog/variant", + HorseVariant => "minecraft:horse/variant", + PaintingVariant => "minecraft:painting/variant", + LlamaVariant => "minecraft:llama/variant", + AxolotlVariant => "minecraft:axolotl/variant", + CatVariant => "minecraft:cat/variant", + CatCollar => "minecraft:cat/collar", + SheepColor => "minecraft:sheep/color", + ShulkerColor => "minecraft:shulker/color", } } @@ -6370,39 +6465,6 @@ enum EntitySubPredicateKind { Slime => "minecraft:slime", Raider => "minecraft:raider", Sheep => "minecraft:sheep", - Axolotl => "minecraft:axolotl", - Fox => "minecraft:fox", - Mooshroom => "minecraft:mooshroom", - Rabbit => "minecraft:rabbit", - Horse => "minecraft:horse", - Llama => "minecraft:llama", - Villager => "minecraft:villager", - Parrot => "minecraft:parrot", - Salmon => "minecraft:salmon", - 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", - JukeboxPlayable => "minecraft:jukebox_playable", } } @@ -6625,3 +6687,66 @@ enum SlotDisplay { Composite => "minecraft:composite", } } + +registry! { +enum TicketKind { + Start => "minecraft:start", + Dragon => "minecraft:dragon", + PlayerLoading => "minecraft:player_loading", + PlayerSimulation => "minecraft:player_simulation", + Forced => "minecraft:forced", + Portal => "minecraft:portal", + EnderPearl => "minecraft:ender_pearl", + Unknown => "minecraft:unknown", +} +} + +registry! { +enum TestEnvironmentDefinitionKind { + AllOf => "minecraft:all_of", + GameRules => "minecraft:game_rules", + TimeOfDay => "minecraft:time_of_day", + Weather => "minecraft:weather", + Function => "minecraft:function", +} +} + +registry! { +enum TestFunction { + AlwaysPass => "minecraft:always_pass", +} +} + +registry! { +enum TestInstanceKind { + BlockBased => "minecraft:block_based", + Function => "minecraft:function", +} +} + +registry! { +enum DataComponentPredicateKind { + 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", + JukeboxPlayable => "minecraft:jukebox_playable", +} +} + +registry! { +enum SpawnConditionKind { + Structure => "minecraft:structure", + MoonBrightness => "minecraft:moon_brightness", + Biome => "minecraft:biome", +} +} diff --git a/azalea-registry/src/tags/blocks.rs b/azalea-registry/src/tags/blocks.rs index 08def1b3..ffabba8c 100644 --- a/azalea-registry/src/tags/blocks.rs +++ b/azalea-registry/src/tags/blocks.rs @@ -360,8 +360,10 @@ pub static BEE_ATTRACTIVE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::MangrovePropagule, Block::CherryLeaves, Block::PinkPetals, + Block::Wildflowers, Block::ChorusFlower, Block::SporeBlossom, + Block::CactusFlower, ]) }); pub static BEE_GROWABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| { @@ -383,9 +385,6 @@ pub static BEEHIVES: LazyLock<HashSet<Block>> = LazyLock::new(|| HashSet::from_iter(vec![Block::BeeNest, Block::Beehive])); pub static BIG_DRIPLEAF_PLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| { HashSet::from_iter(vec![ - Block::Farmland, - Block::Clay, - Block::MossBlock, Block::Dirt, Block::GrassBlock, Block::Podzol, @@ -393,9 +392,11 @@ pub static BIG_DRIPLEAF_PLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::Mycelium, Block::RootedDirt, Block::MossBlock, - Block::PaleMossBlock, Block::Mud, Block::MuddyMangroveRoots, + Block::Farmland, + Block::Clay, + Block::MossBlock, ]) }); pub static BIRCH_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| { @@ -450,6 +451,14 @@ pub static CAMEL_SAND_STEP_SOUND_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::ne Block::BlackConcretePowder, ]) }); +pub static CAMELS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Block::Sand, + Block::RedSand, + Block::SuspiciousSand, + Block::SuspiciousSand, + ]) +}); pub static CAMPFIRES: LazyLock<HashSet<Block>> = LazyLock::new(|| HashSet::from_iter(vec![Block::Campfire, Block::SoulCampfire])); pub static CANDLE_CAKES: LazyLock<HashSet<Block>> = LazyLock::new(|| { @@ -753,41 +762,6 @@ pub static DARK_OAK_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::StrippedDarkOakWood, ]) }); -pub static DEAD_BUSH_MAY_PLACE_ON: LazyLock<HashSet<Block>> = LazyLock::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::PaleMossBlock, - Block::Mud, - Block::MuddyMangroveRoots, - ]) -}); pub static DEEPSLATE_ORE_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| HashSet::from_iter(vec![Block::Deepslate, Block::Tuff])); pub static DIAMOND_ORES: LazyLock<HashSet<Block>> = @@ -852,6 +826,8 @@ pub static DRAGON_IMMUNE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::IronBars, Block::RespawnAnchor, Block::ReinforcedDeepslate, + Block::TestBlock, + Block::TestInstanceBlock, ]) }); pub static DRAGON_TRANSPARENT: LazyLock<HashSet<Block>> = @@ -866,6 +842,50 @@ pub static DRIPSTONE_REPLACEABLE_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::ne Block::Deepslate, ]) }); +pub static DRY_VEGETATION_MAY_PLACE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Block::Farmland, + 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::PaleMossBlock, + Block::Mud, + Block::MuddyMangroveRoots, + ]) +}); +pub static EDIBLE_FOR_SHEEP: LazyLock<HashSet<Block>> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Block::ShortGrass, + Block::ShortDryGrass, + Block::TallDryGrass, + Block::Fern, + ]) +}); pub static EMERALD_ORES: LazyLock<HashSet<Block>> = LazyLock::new(|| HashSet::from_iter(vec![Block::EmeraldOre, Block::DeepslateEmeraldOre])); pub static ENCHANTMENT_POWER_PROVIDER: LazyLock<HashSet<Block>> = @@ -878,6 +898,9 @@ pub static ENCHANTMENT_POWER_TRANSMITTER: LazyLock<HashSet<Block>> = LazyLock::n Block::ShortGrass, Block::Fern, Block::DeadBush, + Block::Bush, + Block::ShortDryGrass, + Block::TallDryGrass, Block::Seagrass, Block::TallSeagrass, Block::Fire, @@ -896,6 +919,7 @@ pub static ENCHANTMENT_POWER_TRANSMITTER: LazyLock<HashSet<Block>> = LazyLock::n Block::WarpedRoots, Block::NetherSprouts, Block::CrimsonRoots, + Block::LeafLitter, Block::HangingRoots, ]) }); @@ -918,6 +942,7 @@ pub static ENDERMAN_HOLDABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::WarpedFungus, Block::WarpedNylium, Block::WarpedRoots, + Block::CactusFlower, Block::Dandelion, Block::OpenEyeblossom, Block::Poppy, @@ -1061,8 +1086,10 @@ pub static FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::MangrovePropagule, Block::CherryLeaves, Block::PinkPetals, + Block::Wildflowers, Block::ChorusFlower, Block::SporeBlossom, + Block::CactusFlower, Block::Dandelion, Block::OpenEyeblossom, Block::Poppy, @@ -1439,6 +1466,8 @@ pub static INSIDE_STEP_SOUND_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| Block::LilyPad, Block::SmallAmethystBud, Block::PinkPetals, + Block::Wildflowers, + Block::LeafLitter, ]) }); pub static INVALID_SPAWN_INSIDE: LazyLock<HashSet<Block>> = @@ -1698,71 +1727,39 @@ pub static MANGROVE_ROOTS_CAN_GROW_THROUGH: LazyLock<HashSet<Block>> = LazyLock: pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| { HashSet::from_iter(vec![ Block::NoteBlock, - Block::AttachedMelonStem, - Block::AttachedPumpkinStem, - Block::Azalea, Block::Bamboo, Block::Barrel, Block::BeeNest, Block::Beehive, - Block::Beetroots, Block::BigDripleafStem, Block::BigDripleaf, Block::Bookshelf, Block::BrownMushroomBlock, - Block::BrownMushroom, Block::Campfire, - Block::Carrots, Block::CartographyTable, Block::CarvedPumpkin, - Block::CaveVinesPlant, - Block::CaveVines, Block::Chest, Block::ChorusFlower, Block::ChorusPlant, Block::Cocoa, Block::Composter, Block::CraftingTable, - Block::CrimsonFungus, Block::DaylightDetector, - Block::DeadBush, - Block::Fern, Block::FletchingTable, Block::GlowLichen, - Block::ShortGrass, - Block::HangingRoots, Block::JackOLantern, Block::Jukebox, Block::Ladder, - Block::LargeFern, Block::Lectern, - Block::LilyPad, Block::Loom, - Block::MelonStem, Block::Melon, Block::MushroomStem, - Block::NetherWart, - Block::Potatoes, - Block::PumpkinStem, Block::Pumpkin, Block::RedMushroomBlock, - Block::RedMushroom, - Block::Scaffolding, - Block::SmallDripleaf, Block::SmithingTable, Block::SoulCampfire, - Block::SporeBlossom, - Block::SugarCane, - Block::SweetBerryBush, - Block::TallGrass, Block::TrappedChest, - Block::TwistingVinesPlant, - Block::TwistingVines, Block::Vine, - Block::WarpedFungus, - Block::WeepingVinesPlant, - Block::WeepingVines, - Block::Wheat, Block::MangroveRoots, Block::BambooMosaic, Block::BambooMosaicSlab, @@ -1825,17 +1822,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::MangrovePlanks, Block::BambooPlanks, Block::CherryPlanks, - Block::OakSapling, - Block::SpruceSapling, - Block::BirchSapling, - Block::JungleSapling, - Block::AcaciaSapling, - Block::DarkOakSapling, - Block::PaleOakSapling, - Block::Azalea, - Block::FloweringAzalea, - Block::MangrovePropagule, - Block::CherrySapling, Block::OakButton, Block::SpruceButton, Block::BirchButton, @@ -2026,16 +2012,6 @@ pub static MINEABLE_HOE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::Shroomlight, Block::Sponge, Block::WetSponge, - Block::JungleLeaves, - Block::OakLeaves, - Block::SpruceLeaves, - Block::PaleOakLeaves, - Block::DarkOakLeaves, - Block::AcaciaLeaves, - Block::BirchLeaves, - Block::AzaleaLeaves, - Block::FloweringAzaleaLeaves, - Block::MangroveLeaves, Block::SculkSensor, Block::CalibratedSculkSensor, Block::MossBlock, @@ -2046,7 +2022,16 @@ pub static MINEABLE_HOE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::SculkCatalyst, Block::SculkVein, Block::SculkShrieker, - Block::PinkPetals, + Block::JungleLeaves, + Block::OakLeaves, + Block::SpruceLeaves, + Block::PaleOakLeaves, + Block::DarkOakLeaves, + Block::AcaciaLeaves, + Block::BirchLeaves, + Block::AzaleaLeaves, + Block::FloweringAzaleaLeaves, + Block::MangroveLeaves, Block::CherryLeaves, ]) }); @@ -2917,6 +2902,29 @@ pub static PLANKS: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::CherryPlanks, ]) }); +pub static PLAYS_AMBIENT_DESERT_BLOCK_SOUNDS: LazyLock<HashSet<Block>> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Block::Sand, + Block::RedSand, + 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 POLAR_BEARS_SPAWNABLE_ON_ALTERNATE: LazyLock<HashSet<Block>> = LazyLock::new(|| HashSet::from_iter(vec![Block::Ice])); pub static PORTALS: LazyLock<HashSet<Block>> = LazyLock::new(|| { @@ -2980,6 +2988,9 @@ pub static REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::ShortGrass, Block::Fern, Block::DeadBush, + Block::Bush, + Block::ShortDryGrass, + Block::TallDryGrass, Block::Seagrass, Block::TallSeagrass, Block::Fire, @@ -2998,9 +3009,70 @@ pub static REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::WarpedRoots, Block::NetherSprouts, Block::CrimsonRoots, + Block::LeafLitter, Block::HangingRoots, ]) }); +pub static REPLACEABLE_BY_MUSHROOMS: LazyLock<HashSet<Block>> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Block::PaleMossCarpet, + 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::BrownMushroom, + Block::RedMushroom, + Block::BrownMushroomBlock, + Block::RedMushroomBlock, + Block::WarpedRoots, + Block::NetherSprouts, + Block::CrimsonRoots, + Block::LeafLitter, + Block::ShortDryGrass, + Block::TallDryGrass, + Block::Bush, + Block::FireflyBush, + Block::JungleLeaves, + Block::OakLeaves, + Block::SpruceLeaves, + Block::PaleOakLeaves, + Block::DarkOakLeaves, + Block::AcaciaLeaves, + Block::BirchLeaves, + Block::AzaleaLeaves, + Block::FloweringAzaleaLeaves, + Block::MangroveLeaves, + Block::CherryLeaves, + Block::Dandelion, + Block::OpenEyeblossom, + 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::ClosedEyeblossom, + ]) +}); pub static REPLACEABLE_BY_TREES: LazyLock<HashSet<Block>> = LazyLock::new(|| { HashSet::from_iter(vec![ Block::PaleMossCarpet, @@ -3020,9 +3092,14 @@ pub static REPLACEABLE_BY_TREES: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::Water, Block::Seagrass, Block::TallSeagrass, + Block::Bush, + Block::FireflyBush, Block::WarpedRoots, Block::NetherSprouts, Block::CrimsonRoots, + Block::LeafLitter, + Block::ShortDryGrass, + Block::TallDryGrass, Block::JungleLeaves, Block::OakLeaves, Block::SpruceLeaves, @@ -3486,49 +3563,15 @@ pub static STRIDER_WARM_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| HashSet::from_iter(vec![Block::Lava])); pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::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::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, @@ -3542,27 +3585,10 @@ pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::FloweringAzaleaLeaves, Block::MangroveLeaves, Block::CherryLeaves, - Block::OakSapling, - Block::SpruceSapling, - Block::BirchSapling, - Block::JungleSapling, - Block::AcaciaSapling, - Block::DarkOakSapling, - Block::PaleOakSapling, - Block::Azalea, - Block::FloweringAzalea, - Block::MangrovePropagule, - Block::CherrySapling, - Block::Beetroots, - Block::Carrots, - Block::Potatoes, - Block::Wheat, - Block::MelonStem, - Block::PumpkinStem, - Block::TorchflowerCrop, - Block::PitcherCrop, ]) }); +pub static SWORD_INSTANTLY_MINES: LazyLock<HashSet<Block>> = + LazyLock::new(|| HashSet::from_iter(vec![Block::Bamboo, Block::BambooSapling])); pub static TERRACOTTA: LazyLock<HashSet<Block>> = LazyLock::new(|| { HashSet::from_iter(vec![ Block::Terracotta, @@ -3682,6 +3708,7 @@ pub static WALL_POST_OVERRIDE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::SoulTorch, Block::RedstoneTorch, Block::Tripwire, + Block::CactusFlower, Block::WhiteBanner, Block::OrangeBanner, Block::MagentaBanner, @@ -3827,6 +3854,8 @@ pub static WITHER_IMMUNE: LazyLock<HashSet<Block>> = LazyLock::new(|| { Block::MovingPiston, Block::Light, Block::ReinforcedDeepslate, + Block::TestBlock, + Block::TestInstanceBlock, ]) }); pub static WITHER_SUMMON_BASE_BLOCKS: LazyLock<HashSet<Block>> = diff --git a/azalea-registry/src/tags/items.rs b/azalea-registry/src/tags/items.rs index f7ec01a5..7e6758f4 100644 --- a/azalea-registry/src/tags/items.rs +++ b/azalea-registry/src/tags/items.rs @@ -108,8 +108,10 @@ pub static BEE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| { Item::MangrovePropagule, Item::CherryLeaves, Item::PinkPetals, + Item::Wildflowers, Item::ChorusFlower, Item::SporeBlossom, + Item::CactusFlower, ]) }); pub static BIRCH_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| { @@ -144,6 +146,8 @@ pub static BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| { Item::CherryChestBoat, ]) }); +pub static BOOK_CLONING_TARGET: LazyLock<HashSet<Item>> = + LazyLock::new(|| HashSet::from_iter(vec![Item::WritableBook])); pub static BOOKSHELF_BOOKS: LazyLock<HashSet<Item>> = LazyLock::new(|| { HashSet::from_iter(vec![ Item::Book, @@ -560,6 +564,8 @@ pub static DYEABLE: LazyLock<HashSet<Item>> = LazyLock::new(|| { Item::WolfArmor, ]) }); +pub static EGGS: LazyLock<HashSet<Item>> = + LazyLock::new(|| HashSet::from_iter(vec![Item::Egg, Item::BlueEgg, Item::BrownEgg])); pub static EMERALD_ORES: LazyLock<HashSet<Item>> = LazyLock::new(|| HashSet::from_iter(vec![Item::EmeraldOre, Item::DeepslateEmeraldOre])); pub static ENCHANTABLE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| { @@ -985,6 +991,40 @@ pub static FISHES: LazyLock<HashSet<Item>> = LazyLock::new(|| { Item::TropicalFish, ]) }); +pub static FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Item::Sunflower, + Item::Lilac, + Item::Peony, + Item::RoseBush, + Item::PitcherPlant, + Item::FloweringAzaleaLeaves, + Item::FloweringAzalea, + Item::MangrovePropagule, + Item::CherryLeaves, + Item::PinkPetals, + Item::Wildflowers, + Item::ChorusFlower, + Item::SporeBlossom, + Item::CactusFlower, + Item::Dandelion, + Item::OpenEyeblossom, + 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::ClosedEyeblossom, + ]) +}); pub static FOOT_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| { HashSet::from_iter(vec