1
2
Fork 0
mirror of https://github.com/mat-1/azalea.git synced 2025-08-02 14:26:04 +00:00

downgrade to 1.21.3 lol

This commit is contained in:
mat 2024-11-28 01:27:59 +00:00
parent 1f9cb0c8c3
commit 02e40594c2
38 changed files with 857 additions and 1063 deletions

76
Cargo.lock generated
View file

@ -190,7 +190,7 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]]
name = "azalea"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"anyhow",
"azalea-auth",
@ -229,7 +229,7 @@ dependencies = [
[[package]]
name = "azalea-auth"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf",
"azalea-crypto",
@ -249,7 +249,7 @@ dependencies = [
[[package]]
name = "azalea-block"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-block-macros",
"azalea-buf",
@ -258,7 +258,7 @@ dependencies = [
[[package]]
name = "azalea-block-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"proc-macro2",
"quote",
@ -267,7 +267,7 @@ dependencies = [
[[package]]
name = "azalea-brigadier"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf",
"azalea-chat",
@ -278,7 +278,7 @@ dependencies = [
[[package]]
name = "azalea-buf"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf-macros",
"byteorder",
@ -291,7 +291,7 @@ dependencies = [
[[package]]
name = "azalea-buf-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"proc-macro2",
"quote",
@ -300,7 +300,7 @@ dependencies = [
[[package]]
name = "azalea-chat"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf",
"azalea-language",
@ -313,7 +313,7 @@ dependencies = [
[[package]]
name = "azalea-client"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"anyhow",
"azalea-auth",
@ -347,7 +347,7 @@ dependencies = [
[[package]]
name = "azalea-core"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf",
"azalea-registry",
@ -361,7 +361,7 @@ dependencies = [
[[package]]
name = "azalea-crypto"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"aes",
"azalea-buf",
@ -378,7 +378,7 @@ dependencies = [
[[package]]
name = "azalea-entity"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-block",
"azalea-buf",
@ -401,7 +401,7 @@ dependencies = [
[[package]]
name = "azalea-inventory"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf",
"azalea-chat",
@ -414,7 +414,7 @@ dependencies = [
[[package]]
name = "azalea-inventory-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"proc-macro2",
"quote",
@ -423,7 +423,7 @@ dependencies = [
[[package]]
name = "azalea-language"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"serde",
"serde_json",
@ -431,7 +431,7 @@ dependencies = [
[[package]]
name = "azalea-physics"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-block",
"azalea-core",
@ -447,7 +447,7 @@ dependencies = [
[[package]]
name = "azalea-protocol"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"anyhow",
"async-recursion",
@ -484,7 +484,7 @@ dependencies = [
[[package]]
name = "azalea-protocol-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"proc-macro2",
"quote",
@ -493,7 +493,7 @@ dependencies = [
[[package]]
name = "azalea-registry"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-buf",
"azalea-registry-macros",
@ -503,7 +503,7 @@ dependencies = [
[[package]]
name = "azalea-registry-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"quote",
"syn",
@ -511,7 +511,7 @@ dependencies = [
[[package]]
name = "azalea-world"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
dependencies = [
"azalea-block",
"azalea-buf",
@ -1381,9 +1381,9 @@ dependencies = [
[[package]]
name = "hashbrown"
version = "0.15.1"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3"
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
[[package]]
name = "heck"
@ -1661,7 +1661,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
dependencies = [
"equivalent",
"hashbrown 0.15.1",
"hashbrown 0.15.2",
]
[[package]]
@ -1707,9 +1707,9 @@ dependencies = [
[[package]]
name = "itoa"
version = "1.0.13"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2"
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
[[package]]
name = "js-sys"
@ -1731,9 +1731,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.164"
version = "0.2.166"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f"
checksum = "c2ccc108bbc0b1331bd061864e7cd823c0cab660bbe6970e66e2c0614decde36"
[[package]]
name = "libm"
@ -2346,9 +2346,9 @@ dependencies = [
[[package]]
name = "rsa"
version = "0.9.6"
version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519"
dependencies = [
"const-oid",
"digest",
@ -2405,9 +2405,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.23.18"
version = "0.23.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f"
checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1"
dependencies = [
"once_cell",
"ring",
@ -2911,9 +2911,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
version = "0.1.40"
version = "0.1.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
dependencies = [
"pin-project-lite",
"tracing-attributes",
@ -2922,9 +2922,9 @@ dependencies = [
[[package]]
name = "tracing-attributes"
version = "0.1.27"
version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
"quote",
@ -2933,9 +2933,9 @@ dependencies = [
[[package]]
name = "tracing-core"
version = "0.1.32"
version = "0.1.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
dependencies = [
"once_cell",
"valuable",

View file

@ -11,7 +11,7 @@ A collection of Rust crates for making Minecraft bots, clients, and tools.
<!-- The line below is automatically read and updated by the migrate script, so don't change it manually. -->
_Currently supported Minecraft version: `1.21.4-pre3`._
_Currently supported Minecraft version: `1.21.3`._
> [!WARNING]
> Azalea is still very unfinished, though most crates are in a somewhat useable state

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-auth"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-auth"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-block"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-block"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
[lib]

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-block-macros"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-block/azalea-block-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
[lib]
proc-macro = true

View file

@ -326,8 +326,11 @@ make_block_states! {
"south" => South(bool),
"up" => Up(bool),
"west" => West(bool),
"active" => Active(bool),
"natural" => Natural(bool),
"creaking" => Creaking {
Disabled,
Dormant,
Active,
},
"half" => TopBottom {
Top,
Bottom,
@ -911,31 +914,6 @@ make_block_states! {
_7,
},
"in_wall" => InWall(bool),
"type" => Type {
Top,
Bottom,
Double,
},
"east" => WallEast {
None,
Low,
Tall,
},
"north" => WallNorth {
None,
Low,
Tall,
},
"south" => WallSouth {
None,
Low,
Tall,
},
"west" => WallWest {
None,
Low,
Tall,
},
"age" => NetherWartAge {
_0,
_1,
@ -963,6 +941,26 @@ make_block_states! {
},
"disarmed" => Disarmed(bool),
"conditional" => Conditional(bool),
"east" => WallEast {
None,
Low,
Tall,
},
"north" => WallNorth {
None,
Low,
Tall,
},
"south" => WallSouth {
None,
Low,
Tall,
},
"west" => WallWest {
None,
Low,
Tall,
},
"age" => CarrotsAge {
_0,
_1,
@ -1194,6 +1192,11 @@ make_block_states! {
_14,
_15,
},
"type" => Type {
Top,
Bottom,
Double,
},
"rotation" => WhiteBannerRotation {
_0,
_1,
@ -2438,9 +2441,8 @@ make_block_states! {
soul_fire => BlockBehavior::new(), {},
spawner => BlockBehavior::new().requires_correct_tool_for_drops().strength(5.0, 5.0), {},
creaking_heart => BlockBehavior::new(), {
"active": Active(false),
"axis": Axis::Y,
"natural": Natural(false),
"creaking": Creaking::Disabled,
},
oak_stairs => BlockBehavior::new().strength(2.0, 3.0), {
"facing": FacingCardinal::North,
@ -2970,15 +2972,6 @@ make_block_states! {
"waterlogged": Waterlogged(false),
"west": West(false),
},
resin_clump => BlockBehavior::new(), {
"down": Down(false),
"east": East(false),
"north": North(false),
"south": South(false),
"up": Up(false),
"waterlogged": Waterlogged(false),
"west": West(false),
},
oak_fence_gate => BlockBehavior::new().strength(2.0, 3.0), {
"facing": FacingCardinal::North,
"in_wall": InWall(false),
@ -3007,27 +3000,6 @@ make_block_states! {
"snowy": Snowy(false),
},
lily_pad => BlockBehavior::new(), {},
resin_block => BlockBehavior::new(), {},
resin_bricks => BlockBehavior::new(), {},
resin_brick_stairs => BlockBehavior::new(), {
"facing": FacingCardinal::North,
"half": TopBottom::Bottom,
"shape": StairShape::Straight,
"waterlogged": Waterlogged(false),
},
resin_brick_slab => BlockBehavior::new(), {
"type": Type::Bottom,
"waterlogged": Waterlogged(false),
},
resin_brick_wall => BlockBehavior::new(), {
"east": WallEast::None,
"north": WallNorth::None,
"south": WallSouth::None,
"up": Up(true),
"waterlogged": Waterlogged(false),
"west": WallWest::None,
},
chiseled_resin_bricks => BlockBehavior::new(), {},
nether_bricks => BlockBehavior::new().requires_correct_tool_for_drops().strength(2.0, 6.0), {},
nether_brick_fence => BlockBehavior::new().requires_correct_tool_for_drops().strength(2.0, 6.0), {
"east": East(false),
@ -5574,9 +5546,5 @@ make_block_states! {
pale_hanging_moss => BlockBehavior::new(), {
"tip": Tip(true),
},
open_eyeblossom => BlockBehavior::new(), {},
closed_eyeblossom => BlockBehavior::new(), {},
potted_open_eyeblossom => BlockBehavior::new(), {},
potted_closed_eyeblossom => BlockBehavior::new(), {},
}
}

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-brigadier"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-brigadier"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-buf"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-buf"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-buf-macros"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-buf"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
[lib]
proc-macro = true

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-chat"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-chat"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-client"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-client"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-core"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-core"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -3,7 +3,7 @@ description = "Cryptography features used in Minecraft."
edition = "2021"
license = "MIT"
name = "azalea-crypto"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-crypto"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -1,6 +1,6 @@
[package]
name = "azalea-entity"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
edition = "2021"
description = "Things related to Minecraft entities used by Azalea"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-entity"

View file

@ -2564,10 +2564,6 @@ impl Default for CowMetadataBundle {
pub struct CanMove(pub bool);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct IsActive(pub bool);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct IsTearingDown(pub bool);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct CreakingHomePos(pub Option<BlockPos>);
#[derive(Component)]
pub struct Creaking;
impl Creaking {
@ -2583,12 +2579,6 @@ impl Creaking {
17 => {
entity.insert(IsActive(d.value.into_boolean()?));
}
18 => {
entity.insert(IsTearingDown(d.value.into_boolean()?));
}
19 => {
entity.insert(CreakingHomePos(d.value.into_optional_block_pos()?));
}
_ => {}
}
Ok(())
@ -2601,8 +2591,6 @@ pub struct CreakingMetadataBundle {
parent: AbstractMonsterMetadataBundle,
can_move: CanMove,
is_active: IsActive,
is_tearing_down: IsTearingDown,
creaking_home_pos: CreakingHomePos,
}
impl Default for CreakingMetadataBundle {
fn default() -> Self {
@ -2650,8 +2638,79 @@ impl Default for CreakingMetadataBundle {
},
can_move: CanMove(true),
is_active: IsActive(false),
is_tearing_down: IsTearingDown(false),
creaking_home_pos: CreakingHomePos(None),
}
}
}
#[derive(Component)]
pub struct CreakingTransient;
impl CreakingTransient {
pub fn apply_metadata(
entity: &mut bevy_ecs::system::EntityCommands,
d: EntityDataItem,
) -> Result<(), UpdateMetadataError> {
match d.index {
0..=17 => Creaking::apply_metadata(entity, d)?,
_ => {}
}
Ok(())
}
}
#[derive(Bundle)]
pub struct CreakingTransientMetadataBundle {
_marker: CreakingTransient,
parent: CreakingMetadataBundle,
}
impl Default for CreakingTransientMetadataBundle {
fn default() -> Self {
Self {
_marker: CreakingTransient,
parent: CreakingMetadataBundle {
_marker: Creaking,
parent: AbstractMonsterMetadataBundle {
_marker: AbstractMonster,
parent: AbstractCreatureMetadataBundle {
_marker: AbstractCreature,
parent: AbstractInsentientMetadataBundle {
_marker: AbstractInsentient,
parent: AbstractLivingMetadataBundle {
_marker: AbstractLiving,
parent: AbstractEntityMetadataBundle {
_marker: AbstractEntity,
on_fire: OnFire(false),
shift_key_down: ShiftKeyDown(false),
sprinting: Sprinting(false),
swimming: Swimming(false),
currently_glowing: CurrentlyGlowing(false),
invisible: Invisible(false),
fall_flying: FallFlying(false),
air_supply: AirSupply(Default::default()),
custom_name: CustomName(Default::default()),
custom_name_visible: CustomNameVisible(Default::default()),
silent: Silent(Default::default()),
no_gravity: NoGravity(Default::default()),
pose: Pose::default(),
ticks_frozen: TicksFrozen(Default::default()),
},
auto_spin_attack: AutoSpinAttack(false),
abstract_living_using_item: AbstractLivingUsingItem(false),
health: Health(1.0),
effect_particles: EffectParticles(Default::default()),
effect_ambience: EffectAmbience(false),
arrow_count: ArrowCount(0),
stinger_count: StingerCount(0),
sleeping_pos: SleepingPos(None),
},
no_ai: NoAi(false),
left_handed: LeftHanded(false),
aggressive: Aggressive(false),
},
},
},
can_move: CanMove(true),
is_active: IsActive(false),
},
}
}
}
@ -8339,7 +8398,7 @@ impl Default for RavagerMetadataBundle {
#[derive(Component, Deref, DerefMut, Clone)]
pub struct SalmonFromBucket(pub bool);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct SalmonKind(pub i32);
pub struct SalmonKind(pub String);
#[derive(Component)]
pub struct Salmon;
impl Salmon {
@ -8353,7 +8412,7 @@ impl Salmon {
entity.insert(SalmonFromBucket(d.value.into_boolean()?));
}
17 => {
entity.insert(SalmonKind(d.value.into_int()?));
entity.insert(SalmonKind(d.value.into_string()?));
}
_ => {}
}
@ -10450,7 +10509,7 @@ impl Default for TropicalFishMetadataBundle {
}
#[derive(Component, Deref, DerefMut, Clone)]
pub struct TurtleHomePos(pub BlockPos);
pub struct HomePos(pub BlockPos);
#[derive(Component, Deref, DerefMut, Clone)]
pub struct HasEgg(pub bool);
#[derive(Component, Deref, DerefMut, Clone)]
@ -10471,7 +10530,7 @@ impl Turtle {
match d.index {
0..=16 => AbstractAnimal::apply_metadata(entity, d)?,
17 => {
entity.insert(TurtleHomePos(d.value.into_block_pos()?));
entity.insert(HomePos(d.value.into_block_pos()?));
}
18 => {
entity.insert(HasEgg(d.value.into_boolean()?));
@ -10498,7 +10557,7 @@ impl Turtle {
pub struct TurtleMetadataBundle {
_marker: Turtle,
parent: AbstractAnimalMetadataBundle,
turtle_home_pos: TurtleHomePos,
home_pos: HomePos,
has_egg: HasEgg,
laying_egg: LayingEgg,
travel_pos: TravelPos,
@ -10553,7 +10612,7 @@ impl Default for TurtleMetadataBundle {
abstract_ageable_baby: AbstractAgeableBaby(false),
},
},
turtle_home_pos: TurtleHomePos(BlockPos::new(0, 0, 0)),
home_pos: HomePos(BlockPos::new(0, 0, 0)),
has_egg: HasEgg(false),
laying_egg: LayingEgg(false),
travel_pos: TravelPos(BlockPos::new(0, 0, 0)),
@ -12644,6 +12703,11 @@ pub fn apply_metadata(
Creaking::apply_metadata(entity, d)?;
}
}
azalea_registry::EntityKind::CreakingTransient => {
for d in items {
CreakingTransient::apply_metadata(entity, d)?;
}
}
azalea_registry::EntityKind::Creeper => {
for d in items {
Creeper::apply_metadata(entity, d)?;
@ -13338,6 +13402,9 @@ pub fn apply_default_metadata(
azalea_registry::EntityKind::Creaking => {
entity.insert(CreakingMetadataBundle::default());
}
azalea_registry::EntityKind::CreakingTransient => {
entity.insert(CreakingTransientMetadataBundle::default());
}
azalea_registry::EntityKind::Creeper => {
entity.insert(CreeperMetadataBundle::default());
}

View file

@ -163,7 +163,6 @@ impl From<ParticleKind> for Particle {
ParticleKind::Fishing => Self::Fishing,
ParticleKind::Flame => Self::Flame,
ParticleKind::CherryLeaves => Self::CherryLeaves,
ParticleKind::PaleOakLeaves => Self::PaleOakLeaves,
ParticleKind::SculkSoul => Self::SculkSoul,
ParticleKind::SculkCharge => Self::SculkCharge(SculkChargeParticle::default()),
ParticleKind::SculkChargePop => Self::SculkChargePop,

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-inventory"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-inventory-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-inventory-macros"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-inventory/azalea-inventory-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
[lib]
proc-macro = true

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-language"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-language"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -1429,7 +1429,6 @@
"block.minecraft.chiseled_polished_blackstone": "Chiseled Polished Blackstone",
"block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block",
"block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone",
"block.minecraft.chiseled_resin_bricks": "Chiseled Resin Bricks",
"block.minecraft.chiseled_sandstone": "Chiseled Sandstone",
"block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks",
"block.minecraft.chiseled_tuff": "Chiseled Tuff",
@ -1437,7 +1436,6 @@
"block.minecraft.chorus_flower": "Chorus Flower",
"block.minecraft.chorus_plant": "Chorus Plant",
"block.minecraft.clay": "Clay",
"block.minecraft.closed_eyeblossom": "Closed Eyeblossom",
"block.minecraft.coal_block": "Block of Coal",
"block.minecraft.coal_ore": "Coal Ore",
"block.minecraft.coarse_dirt": "Coarse Dirt",
@ -1858,7 +1856,6 @@
"block.minecraft.obsidian": "Obsidian",
"block.minecraft.ochre_froglight": "Ochre Froglight",
"block.minecraft.ominous_banner": "Ominous Banner",
"block.minecraft.open_eyeblossom": "Open Eyeblossom",
"block.minecraft.orange_banner": "Orange Banner",
"block.minecraft.orange_bed": "Orange Bed",
"block.minecraft.orange_candle": "Orange Candle",
@ -1974,7 +1971,6 @@
"block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom",
"block.minecraft.potted_cactus": "Potted Cactus",
"block.minecraft.potted_cherry_sapling": "Potted Cherry Sapling",
"block.minecraft.potted_closed_eyeblossom": "Potted Closed Eyeblossom",
"block.minecraft.potted_cornflower": "Potted Cornflower",
"block.minecraft.potted_crimson_fungus": "Potted Crimson Fungus",
"block.minecraft.potted_crimson_roots": "Potted Crimson Roots",
@ -1987,7 +1983,6 @@
"block.minecraft.potted_lily_of_the_valley": "Potted Lily of the Valley",
"block.minecraft.potted_mangrove_propagule": "Potted Mangrove Propagule",
"block.minecraft.potted_oak_sapling": "Potted Oak Sapling",
"block.minecraft.potted_open_eyeblossom": "Potted Open Eyeblossom",
"block.minecraft.potted_orange_tulip": "Potted Orange Tulip",
"block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy",
"block.minecraft.potted_pale_oak_sapling": "Potted Pale Oak Sapling",
@ -2073,12 +2068,6 @@
"block.minecraft.reinforced_deepslate": "Reinforced Deepslate",
"block.minecraft.repeater": "Redstone Repeater",
"block.minecraft.repeating_command_block": "Repeating Command Block",
"block.minecraft.resin_block": "Block of Resin",
"block.minecraft.resin_brick_slab": "Resin Brick Slab",
"block.minecraft.resin_brick_stairs": "Resin Brick Stairs",
"block.minecraft.resin_brick_wall": "Resin Brick Wall",
"block.minecraft.resin_bricks": "Resin Bricks",
"block.minecraft.resin_clump": "Resin Clump",
"block.minecraft.respawn_anchor": "Respawn Anchor",
"block.minecraft.rooted_dirt": "Rooted Dirt",
"block.minecraft.rose_bush": "Rose Bush",
@ -2442,7 +2431,6 @@
"commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it",
"commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s",
"commands.attribute.base_value.get.success": "Base value of attribute %s for entity %s is %s",
"commands.attribute.base_value.reset.success": "Base value for attribute %s for entity %s reset to default %s",
"commands.attribute.base_value.set.success": "Base value for attribute %s for entity %s set to %s",
"commands.attribute.failed.entity": "%s is not a valid entity for this command",
"commands.attribute.failed.modifier_already_present": "Modifier %s is already present on attribute %s for entity %s",
@ -4370,8 +4358,6 @@
"item.minecraft.red_bundle": "Red Bundle",
"item.minecraft.red_dye": "Red Dye",
"item.minecraft.redstone": "Redstone Dust",
"item.minecraft.resin_brick": "Resin Brick",
"item.minecraft.resin_clump": "Resin Clump",
"item.minecraft.rib_armor_trim_smithing_template": "Smithing Template",
"item.minecraft.rib_armor_trim_smithing_template.new": "Rib Armor Trim",
"item.minecraft.rotten_flesh": "Rotten Flesh",
@ -4583,9 +4569,6 @@
"item.modifiers.mainhand": "When in Main Hand:",
"item.modifiers.offhand": "When in Off Hand:",
"item.nbt_tags": "NBT: %s tag(s)",
"item.op_block_warning.line1": "Warning:",
"item.op_block_warning.line2": "Use of this item might lead to command execution",
"item.op_block_warning.line3": "Do not use unless you know the exact contents!",
"item.unbreakable": "Unbreakable",
"itemGroup.buildingBlocks": "Building Blocks",
"itemGroup.coloredBlocks": "Colored Blocks",
@ -6016,7 +5999,6 @@
"structure_block.size.z": "structure size z",
"structure_block.structure_name": "Structure Name",
"subtitles.ambient.cave": "Eerie noise",
"subtitles.ambient.sound": "Eerie noise",
"subtitles.block.amethyst_block.chime": "Amethyst chimes",
"subtitles.block.amethyst_block.resonate": "Amethyst resonates",
"subtitles.block.anvil.destroy": "Anvil destroyed",
@ -6068,7 +6050,7 @@
"subtitles.block.copper_trapdoor.open": "Trapdoor opens",
"subtitles.block.crafter.craft": "Crafter crafts",
"subtitles.block.crafter.fail": "Crafter fails crafting",
"subtitles.block.creaking_heart.hurt": "Creaking Heart grumbles",
"subtitles.block.creaking_heart.hurt": "Creaking Heart screams",
"subtitles.block.creaking_heart.idle": "Eerie noise",
"subtitles.block.creaking_heart.spawn": "Creaking Heart awakens",
"subtitles.block.decorated_pot.insert": "Decorated Pot fills",
@ -6080,16 +6062,12 @@
"subtitles.block.enchantment_table.use": "Enchanting Table used",
"subtitles.block.end_portal_frame.fill": "Eye of Ender attaches",
"subtitles.block.end_portal.spawn": "End Portal opens",
"subtitles.block.eyeblossom.close": "Eyeblossom closes",
"subtitles.block.eyeblossom.idle": "Eyeblossom whispers",
"subtitles.block.eyeblossom.open": "Eyeblossom opens",
"subtitles.block.fence_gate.toggle": "Fence Gate creaks",
"subtitles.block.fire.ambient": "Fire crackles",
"subtitles.block.fire.extinguish": "Fire extinguished",
"subtitles.block.frogspawn.hatch": "Tadpole hatches",
"subtitles.block.furnace.fire_crackle": "Furnace crackles",
"subtitles.block.generic.break": "Block broken",
"subtitles.block.generic.fall": "Something falls on a block",
"subtitles.block.generic.footsteps": "Footsteps",
"subtitles.block.generic.hit": "Block breaking",
"subtitles.block.generic.place": "Block placed",
@ -6262,15 +6240,15 @@
"subtitles.entity.cow.death": "Cow dies",
"subtitles.entity.cow.hurt": "Cow hurts",
"subtitles.entity.cow.milk": "Cow gets milked",
"subtitles.entity.creaking.activate": "Creaking watches",
"subtitles.entity.creaking.activate": "Creaking activates",
"subtitles.entity.creaking.ambient": "Creaking creaks",
"subtitles.entity.creaking.angry": "Creaking sees player",
"subtitles.entity.creaking.attack": "Creaking attacks",
"subtitles.entity.creaking.deactivate": "Creaking calms",
"subtitles.entity.creaking.death": "Creaking crumbles",
"subtitles.entity.creaking.deactivate": "Creaking deactivates",
"subtitles.entity.creaking.death": "Creaking dies",
"subtitles.entity.creaking.freeze": "Creaking stops",
"subtitles.entity.creaking.spawn": "Creaking manifests",
"subtitles.entity.creaking.sway": "Creaking is hit",
"subtitles.entity.creaking.twitch": "Creaking twitches",
"subtitles.entity.creaking.spawn": "Creaking lives",
"subtitles.entity.creaking.sway": "Creaking is shielded",
"subtitles.entity.creaking.unfreeze": "Creaking moves",
"subtitles.entity.creeper.death": "Creeper dies",
"subtitles.entity.creeper.hurt": "Creeper hurts",
@ -6337,7 +6315,6 @@
"subtitles.entity.firework_rocket.blast": "Firework blasts",
"subtitles.entity.firework_rocket.launch": "Firework launches",
"subtitles.entity.firework_rocket.twinkle": "Firework twinkles",
"subtitles.entity.fish.swim": "Splashes",
"subtitles.entity.fishing_bobber.retrieve": "Bobber retrieved",
"subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes",
"subtitles.entity.fishing_bobber.throw": "Bobber thrown",
@ -6457,8 +6434,6 @@
"subtitles.entity.magma_cube.death": "Magma Cube dies",
"subtitles.entity.magma_cube.hurt": "Magma Cube hurts",
"subtitles.entity.magma_cube.squish": "Magma Cube squishes",
"subtitles.entity.minecart.inside": "Minecart jangles",
"subtitles.entity.minecart.inside_underwater": "Minecart jangles underwater",
"subtitles.entity.minecart.riding": "Minecart rolls",
"subtitles.entity.mooshroom.convert": "Mooshroom transforms",
"subtitles.entity.mooshroom.eat": "Mooshroom eats",
@ -6615,7 +6590,6 @@
"subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries",
"subtitles.entity.skeleton_horse.death": "Skeleton Horse dies",
"subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts",
"subtitles.entity.skeleton_horse.jump_water": "Skeleton Horse jumps",
"subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims",
"subtitles.entity.skeleton.ambient": "Skeleton rattles",
"subtitles.entity.skeleton.converted_to_stray": "Skeleton converts to Stray",
@ -6828,7 +6802,6 @@
"subtitles.item.crossbow.load": "Crossbow loads",
"subtitles.item.crossbow.shoot": "Crossbow fires",
"subtitles.item.dye.use": "Dye stains",
"subtitles.item.elytra.flying": "Swoosh",
"subtitles.item.firecharge.use": "Fireball whooshes",
"subtitles.item.flintandsteel.use": "Flint and Steel click",
"subtitles.item.glow_ink_sac.use": "Glow Ink Sac splotches",
@ -6963,7 +6936,6 @@
"trim_material.minecraft.netherite": "Netherite Material",
"trim_material.minecraft.quartz": "Quartz Material",
"trim_material.minecraft.redstone": "Redstone Material",
"trim_material.minecraft.resin": "Resin Material",
"trim_pattern.minecraft.bolt": "Bolt Armor Trim",
"trim_pattern.minecraft.coast": "Coast Armor Trim",
"trim_pattern.minecraft.dune": "Dune Armor Trim",

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-physics"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-physics"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-protocol"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-protocol"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -3,7 +3,7 @@ description = "Macros internally used in azalea-protocol."
edition = "2021"
license = "MIT"
name = "azalea-protocol-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-protocol/azalea-protocol-macros"
[lib]

View file

@ -16,7 +16,7 @@ use azalea_protocol::{
c_status_response::{ClientboundStatusResponse, Players, Version},
ServerboundStatusPacket,
},
ClientIntention, PROTOCOL_VERSION,
ClientIntention, PROTOCOL_VERSION, VERSION_NAME,
},
read::ReadPacketError,
};
@ -37,7 +37,7 @@ const PROXY_DESC: &str = "An Azalea Minecraft Proxy";
static PROXY_FAVICON: LazyLock<Option<String>> = LazyLock::new(|| None);
static PROXY_VERSION: LazyLock<Version> = LazyLock::new(|| Version {
name: "1.19.3".to_string(),
name: VERSION_NAME.to_string(),
protocol: PROTOCOL_VERSION,
});

View file

@ -172,15 +172,13 @@ declare_state_packets!(GamePacket,
move_player_status_only,
move_vehicle,
paddle_boat,
pick_item_from_block,
pick_item_from_entity,
pick_item,
ping_request,
place_recipe,
player_abilities,
player_action,
player_command,
player_input,
player_loaded,
pong,
recipe_book_change_settings,
recipe_book_seen_recipe,

View file

@ -2,7 +2,7 @@ use azalea_buf::AzBuf;
use azalea_protocol_macros::ServerboundGamePacket;
#[derive(Clone, Debug, AzBuf, ServerboundGamePacket)]
pub struct ServerboundPickItemFromBlock {
pub struct ServerboundPickItem {
#[var]
pub slot: u32,
}

View file

@ -11,10 +11,8 @@ use azalea_buf::{AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
use crate::read::ReadPacketError;
// TODO: rename the packet files to just like c_add_entity instead of
// c_add_entity_packet
pub const PROTOCOL_VERSION: i32 = 1073742049;
pub const PROTOCOL_VERSION: i32 = 768;
pub const VERSION_NAME: &str = "1.21.3";
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum ConnectionProtocol {

View file

@ -1,6 +1,9 @@
//! Write packets to a stream.
use std::{fmt::Debug, io::Read};
use std::{
fmt::Debug,
io::{self, Read},
};
use azalea_buf::AzaleaWriteVar;
use azalea_crypto::Aes128CfbEnc;
@ -11,24 +14,19 @@ use tracing::trace;
use crate::{packets::ProtocolPacket, read::MAXIMUM_UNCOMPRESSED_LENGTH};
/// Prepend the length of the packet to it.
fn frame_prepender(mut data: Vec<u8>) -> Result<Vec<u8>, std::io::Error> {
let mut buf = Vec::new();
(data.len() as u32).azalea_write_var(&mut buf)?;
buf.append(&mut data);
Ok(buf)
}
#[derive(Error, Debug)]
pub enum PacketEncodeError {
#[error("{0}")]
Io(#[from] std::io::Error),
#[error("Packet too big (is {actual} bytes, should be less than {maximum}): {packet_string}")]
TooBig {
actual: usize,
maximum: usize,
packet_string: String,
},
pub async fn write_packet<P, W>(
packet: &P,
stream: &mut W,
compression_threshold: Option<u32>,
cipher: &mut Option<Aes128CfbEnc>,
) -> io::Result<()>
where
P: ProtocolPacket + Debug,
W: AsyncWrite + Unpin + Send,
{
trace!("Sending packet: {packet:?}");
let raw_packet = serialize_packet(packet).unwrap();
write_raw_packet(&raw_packet, stream, compression_threshold, cipher).await
}
pub fn serialize_packet<P: ProtocolPacket + Debug>(
@ -47,60 +45,12 @@ pub fn serialize_packet<P: ProtocolPacket + Debug>(
Ok(buf)
}
#[derive(Error, Debug)]
pub enum PacketCompressError {
#[error("{0}")]
Io(#[from] std::io::Error),
}
pub fn compression_encoder(
data: &[u8],
compression_threshold: u32,
) -> Result<Vec<u8>, PacketCompressError> {
let n = data.len();
// if it's less than the compression threshold, don't compress
if n < compression_threshold as usize {
let mut buf = Vec::new();
0.azalea_write_var(&mut buf)?;
std::io::Write::write_all(&mut buf, data)?;
Ok(buf)
} else {
// otherwise, compress
let mut deflater = ZlibEncoder::new(data, Compression::default());
// write deflated data to buf
let mut compressed_data = Vec::new();
deflater.read_to_end(&mut compressed_data)?;
// prepend the length
let mut len_prepended_compressed_data = Vec::new();
(data.len() as u32).azalea_write_var(&mut len_prepended_compressed_data)?;
len_prepended_compressed_data.append(&mut compressed_data);
Ok(len_prepended_compressed_data)
}
}
pub async fn write_packet<P, W>(
packet: &P,
stream: &mut W,
compression_threshold: Option<u32>,
cipher: &mut Option<Aes128CfbEnc>,
) -> std::io::Result<()>
where
P: ProtocolPacket + Debug,
W: AsyncWrite + Unpin + Send,
{
trace!("Sending packet: {packet:?}");
let raw_packet = serialize_packet(packet).unwrap();
write_raw_packet(&raw_packet, stream, compression_threshold, cipher).await
}
pub async fn write_raw_packet<W>(
raw_packet: &[u8],
stream: &mut W,
compression_threshold: Option<u32>,
cipher: &mut Option<Aes128CfbEnc>,
) -> std::io::Result<()>
) -> io::Result<()>
where
W: AsyncWrite + Unpin + Send,
{
@ -116,3 +66,57 @@ where
}
stream.write_all(&raw_packet).await
}
pub fn compression_encoder(
data: &[u8],
compression_threshold: u32,
) -> Result<Vec<u8>, PacketCompressError> {
let n = data.len();
// if it's less than the compression threshold, don't compress
if n < compression_threshold as usize {
let mut buf = Vec::new();
0_u32.azalea_write_var(&mut buf)?;
io::Write::write_all(&mut buf, data)?;
Ok(buf)
} else {
// otherwise, compress
let mut deflater = ZlibEncoder::new(data, Compression::default());
// write deflated data to buf
let mut compressed_data = Vec::new();
deflater.read_to_end(&mut compressed_data)?;
// prepend the length
let mut len_prepended_compressed_data = Vec::new();
(data.len() as u32).azalea_write_var(&mut len_prepended_compressed_data)?;
len_prepended_compressed_data.append(&mut compressed_data);
Ok(len_prepended_compressed_data)
}
}
/// Prepend the length of the packet to it.
fn frame_prepender(mut data: Vec<u8>) -> Result<Vec<u8>, io::Error> {
let mut buf = Vec::new();
(data.len() as u32).azalea_write_var(&mut buf)?;
buf.append(&mut data);
Ok(buf)
}
#[derive(Error, Debug)]
pub enum PacketEncodeError {
#[error("{0}")]
Io(#[from] io::Error),
#[error("Packet too big (is {actual} bytes, should be less than {maximum}): {packet_string}")]
TooBig {
actual: usize,
maximum: usize,
packet_string: String,
},
}
#[derive(Error, Debug)]
pub enum PacketCompressError {
#[error("{0}")]
Io(#[from] io::Error),
}

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-registry"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-registry"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-registry-macros"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-registry/azalea-registry-macros"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
[lib]
proc-macro = true

View file

@ -600,19 +600,12 @@ enum Block {
MelonStem => "minecraft:melon_stem",
Vine => "minecraft:vine",
GlowLichen => "minecraft:glow_lichen",
ResinClump => "minecraft:resin_clump",
OakFenceGate => "minecraft:oak_fence_gate",
BrickStairs => "minecraft:brick_stairs",
StoneBrickStairs => "minecraft:stone_brick_stairs",
MudBrickStairs => "minecraft:mud_brick_stairs",
Mycelium => "minecraft:mycelium",
LilyPad => "minecraft:lily_pad",
ResinBlock => "minecraft:resin_block",
ResinBricks => "minecraft:resin_bricks",
ResinBrickStairs => "minecraft:resin_brick_stairs",
ResinBrickSlab => "minecraft:resin_brick_slab",
ResinBrickWall => "minecraft:resin_brick_wall",
ChiseledResinBricks => "minecraft:chiseled_resin_bricks",
NetherBricks => "minecraft:nether_bricks",
NetherBrickFence => "minecraft:nether_brick_fence",
NetherBrickStairs => "minecraft:nether_brick_stairs",
@ -1358,10 +1351,6 @@ enum Block {
PaleMossBlock => "minecraft:pale_moss_block",
PaleMossCarpet => "minecraft:pale_moss_carpet",
PaleHangingMoss => "minecraft:pale_hanging_moss",
OpenEyeblossom => "minecraft:open_eyeblossom",
ClosedEyeblossom => "minecraft:closed_eyeblossom",
PottedOpenEyeblossom => "minecraft:potted_open_eyeblossom",
PottedClosedEyeblossom => "minecraft:potted_closed_eyeblossom",
}
}
@ -1688,6 +1677,7 @@ enum EntityKind {
CommandBlockMinecart => "minecraft:command_block_minecart",
Cow => "minecraft:cow",
Creaking => "minecraft:creaking",
CreakingTransient => "minecraft:creaking_transient",
Creeper => "minecraft:creeper",
DarkOakBoat => "minecraft:dark_oak_boat",
DarkOakChestBoat => "minecraft:dark_oak_chest_boat",
@ -2165,8 +2155,6 @@ enum Item {
RedWool => "minecraft:red_wool",
BlackWool => "minecraft:black_wool",
Dandelion => "minecraft:dandelion",
OpenEyeblossom => "minecraft:open_eyeblossom",
ClosedEyeblossom => "minecraft:closed_eyeblossom",
Poppy => "minecraft:poppy",
BlueOrchid => "minecraft:blue_orchid",
Allium => "minecraft:allium",
@ -2315,13 +2303,6 @@ enum Item {
Melon => "minecraft:melon",
Vine => "minecraft:vine",
GlowLichen => "minecraft:glow_lichen",
ResinClump => "minecraft:resin_clump",
ResinBlock => "minecraft:resin_block",
ResinBricks => "minecraft:resin_bricks",
ResinBrickStairs => "minecraft:resin_brick_stairs",
ResinBrickSlab => "minecraft:resin_brick_slab",
ResinBrickWall => "minecraft:resin_brick_wall",
ChiseledResinBricks => "minecraft:chiseled_resin_bricks",
BrickStairs => "minecraft:brick_stairs",
StoneBrickStairs => "minecraft:stone_brick_stairs",
MudBrickStairs => "minecraft:mud_brick_stairs",
@ -3106,7 +3087,6 @@ enum Item {
FireworkStar => "minecraft:firework_star",
EnchantedBook => "minecraft:enchanted_book",
NetherBrick => "minecraft:nether_brick",
ResinBrick => "minecraft:resin_brick",
PrismarineShard => "minecraft:prismarine_shard",
PrismarineCrystals => "minecraft:prismarine_crystals",
Rabbit => "minecraft:rabbit",
@ -3689,7 +3669,6 @@ enum ParticleKind {
Flame => "minecraft:flame",
Infested => "minecraft:infested",
CherryLeaves => "minecraft:cherry_leaves",
PaleOakLeaves => "minecraft:pale_oak_leaves",
SculkSoul => "minecraft:sculk_soul",
SculkCharge => "minecraft:sculk_charge",
SculkChargePop => "minecraft:sculk_charge_pop",
@ -4337,7 +4316,6 @@ enum SoundEvent {
EntityCreakingUnfreeze => "minecraft:entity.creaking.unfreeze",
EntityCreakingSpawn => "minecraft:entity.creaking.spawn",
EntityCreakingSway => "minecraft:entity.creaking.sway",
EntityCreakingTwitch => "minecraft:entity.creaking.twitch",
BlockCreakingHeartBreak => "minecraft:block.creaking_heart.break",
BlockCreakingHeartFall => "minecraft:block.creaking_heart.fall",
BlockCreakingHeartHit => "minecraft:block.creaking_heart.hit",
@ -4476,11 +4454,6 @@ enum SoundEvent {
EntityEvokerPrepareWololo => "minecraft:entity.evoker.prepare_wololo",
EntityExperienceBottleThrow => "minecraft:entity.experience_bottle.throw",
EntityExperienceOrbPickup => "minecraft:entity.experience_orb.pickup",
BlockEyeblossomOpenLong => "minecraft:block.eyeblossom.open_long",
BlockEyeblossomOpen => "minecraft:block.eyeblossom.open",
BlockEyeblossomCloseLong => "minecraft:block.eyeblossom.close_long",
BlockEyeblossomClose => "minecraft:block.eyeblossom.close",
BlockEyeblossomIdle => "minecraft:block.eyeblossom.idle",
BlockFenceGateClose => "minecraft:block.fence_gate.close",
BlockFenceGateOpen => "minecraft:block.fence_gate.open",
ItemFirechargeUse => "minecraft:item.firecharge.use",
@ -5281,15 +5254,6 @@ enum SoundEvent {
BlockSpawnerHit => "minecraft:block.spawner.hit",
BlockSpawnerPlace => "minecraft:block.spawner.place",
BlockSpawnerStep => "minecraft:block.spawner.step",
BlockResinBreak => "minecraft:block.resin.break",
BlockResinFall => "minecraft:block.resin.fall",
BlockResinPlace => "minecraft:block.resin.place",
BlockResinStep => "minecraft:block.resin.step",
BlockResinBricksBreak => "minecraft:block.resin_bricks.break",
BlockResinBricksFall => "minecraft:block.resin_bricks.fall",
BlockResinBricksHit => "minecraft:block.resin_bricks.hit",
BlockResinBricksPlace => "minecraft:block.resin_bricks.place",
BlockResinBricksStep => "minecraft:block.resin_bricks.step",
BlockSporeBlossomBreak => "minecraft:block.spore_blossom.break",
BlockSporeBlossomFall => "minecraft:block.spore_blossom.fall",
BlockSporeBlossomHit => "minecraft:block.spore_blossom.hit",
@ -6142,6 +6106,7 @@ enum BlockKind {
CaveVinesPlant => "minecraft:cave_vines_plant",
CeilingHangingSign => "minecraft:ceiling_hanging_sign",
Chain => "minecraft:chain",
CherryLeaves => "minecraft:cherry_leaves",
Chest => "minecraft:chest",
ChiseledBookShelf => "minecraft:chiseled_book_shelf",
ChorusFlower => "minecraft:chorus_flower",
@ -6179,7 +6144,6 @@ enum BlockKind {
EndPortal => "minecraft:end_portal",
EndPortalFrame => "minecraft:end_portal_frame",
EndRod => "minecraft:end_rod",
Eyeblossom => "minecraft:eyeblossom",
Farm => "minecraft:farm",
BonemealableFeaturePlacer => "minecraft:bonemealable_feature_placer",
Fence => "minecraft:fence",
@ -6231,7 +6195,6 @@ enum BlockKind {
MossyCarpet => "minecraft:mossy_carpet",
MovingPiston => "minecraft:moving_piston",
Mud => "minecraft:mud",
Multiface => "minecraft:multiface",
Mushroom => "minecraft:mushroom",
Mycelium => "minecraft:mycelium",
NetherPortal => "minecraft:nether_portal",
@ -6242,7 +6205,6 @@ enum BlockKind {
Nylium => "minecraft:nylium",
Observer => "minecraft:observer",
Piglinwallskull => "minecraft:piglinwallskull",
ParticleLeaves => "minecraft:particle_leaves",
PinkPetals => "minecraft:pink_petals",
PistonBase => "minecraft:piston_base",
PistonHead => "minecraft:piston_head",

View file

@ -24,7 +24,6 @@ pub static ALL_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryHangingSign,
Block::JungleHangingSign,
Block::DarkOakHangingSign,
Block::PaleOakHangingSign,
Block::CrimsonHangingSign,
Block::WarpedHangingSign,
Block::MangroveHangingSign,
@ -36,7 +35,6 @@ pub static ALL_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryWallHangingSign,
Block::JungleWallHangingSign,
Block::DarkOakWallHangingSign,
Block::PaleOakWallHangingSign,
Block::CrimsonWallHangingSign,
Block::WarpedWallHangingSign,
Block::MangroveWallHangingSign,
@ -51,7 +49,6 @@ pub static ALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaSign,
Block::JungleSign,
Block::DarkOakSign,
Block::PaleOakSign,
Block::CrimsonSign,
Block::WarpedSign,
Block::MangroveSign,
@ -63,7 +60,6 @@ pub static ALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaWallSign,
Block::JungleWallSign,
Block::DarkOakWallSign,
Block::PaleOakWallSign,
Block::CrimsonWallSign,
Block::WarpedWallSign,
Block::MangroveWallSign,
@ -76,7 +72,6 @@ pub static ALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryHangingSign,
Block::JungleHangingSign,
Block::DarkOakHangingSign,
Block::PaleOakHangingSign,
Block::CrimsonHangingSign,
Block::WarpedHangingSign,
Block::MangroveHangingSign,
@ -88,7 +83,6 @@ pub static ALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryWallHangingSign,
Block::JungleWallHangingSign,
Block::DarkOakWallHangingSign,
Block::PaleOakWallHangingSign,
Block::CrimsonWallHangingSign,
Block::WarpedWallHangingSign,
Block::MangroveWallHangingSign,
@ -143,7 +137,6 @@ pub static AZALEA_GROWS_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
Block::Sand,
@ -190,7 +183,6 @@ pub static AZALEA_ROOT_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(||
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
Block::Terracotta,
@ -242,7 +234,6 @@ pub static BAMBOO_PLANTABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -334,37 +325,6 @@ pub static BEDS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::YellowBed,
])
});
pub static BEE_ATTRACTIVE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
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::Sunflower,
Block::Lilac,
Block::Peony,
Block::RoseBush,
Block::PitcherPlant,
Block::FloweringAzaleaLeaves,
Block::FloweringAzalea,
Block::MangrovePropagule,
Block::CherryLeaves,
Block::PinkPetals,
Block::ChorusFlower,
Block::SporeBlossom,
])
});
pub static BEE_GROWABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::SweetBerryBush,
@ -394,7 +354,6 @@ pub static BIG_DRIPLEAF_PLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -417,7 +376,6 @@ pub static BUTTONS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleButton,
Block::AcaciaButton,
Block::DarkOakButton,
Block::PaleOakButton,
Block::CrimsonButton,
Block::WarpedButton,
Block::MangroveButton,
@ -514,7 +472,6 @@ pub static CEILING_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryHangingSign,
Block::JungleHangingSign,
Block::DarkOakHangingSign,
Block::PaleOakHangingSign,
Block::CrimsonHangingSign,
Block::WarpedHangingSign,
Block::MangroveHangingSign,
@ -547,12 +504,10 @@ pub static COAL_ORES: LazyLock<HashSet<Block>> =
pub static COMBINATION_STEP_SOUND_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::MossCarpet,
Block::PaleMossCarpet,
Block::Snow,
Block::NetherSprouts,
Block::WarpedRoots,
Block::CrimsonRoots,
Block::ResinClump,
Block::WhiteCarpet,
Block::OrangeCarpet,
Block::MagentaCarpet,
@ -576,7 +531,6 @@ pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Block>> = LazyLock::ne
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -598,10 +552,6 @@ pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Block>> = LazyLock::ne
Block::DarkOakWood,
Block::StrippedDarkOakLog,
Block::StrippedDarkOakWood,
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
Block::OakLog,
Block::OakWood,
Block::StrippedOakLog,
@ -784,7 +734,6 @@ pub static DEAD_BUSH_MAY_PLACE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -802,7 +751,6 @@ pub static DIRT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -826,7 +774,6 @@ pub static DOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleDoor,
Block::AcaciaDoor,
Block::DarkOakDoor,
Block::PaleOakDoor,
Block::CrimsonDoor,
Block::WarpedDoor,
Block::MangroveDoor,
@ -886,7 +833,6 @@ pub static ENCHANTMENT_POWER_TRANSMITTER: LazyLock<HashSet<Block>> = LazyLock::n
Block::Snow,
Block::Vine,
Block::GlowLichen,
Block::ResinClump,
Block::Light,
Block::TallGrass,
Block::LargeFern,
@ -920,7 +866,6 @@ pub static ENDERMAN_HOLDABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::WarpedNylium,
Block::WarpedRoots,
Block::Dandelion,
Block::OpenEyeblossom,
Block::Poppy,
Block::BlueOrchid,
Block::Allium,
@ -934,7 +879,6 @@ pub static ENDERMAN_HOLDABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::LilyOfTheValley,
Block::WitherRose,
Block::Torchflower,
Block::ClosedEyeblossom,
Block::Dirt,
Block::GrassBlock,
Block::Podzol,
@ -942,7 +886,6 @@ pub static ENDERMAN_HOLDABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -978,7 +921,6 @@ pub static FENCE_GATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaFenceGate,
Block::BirchFenceGate,
Block::DarkOakFenceGate,
Block::PaleOakFenceGate,
Block::JungleFenceGate,
Block::OakFenceGate,
Block::SpruceFenceGate,
@ -995,7 +937,6 @@ pub static FENCES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::OakFence,
Block::AcaciaFence,
Block::DarkOakFence,
Block::PaleOakFence,
Block::SpruceFence,
Block::BirchFence,
Block::JungleFence,
@ -1011,8 +952,6 @@ pub static FIRE: LazyLock<HashSet<Block>> =
pub static FLOWER_POTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::FlowerPot,
Block::PottedOpenEyeblossom,
Block::PottedClosedEyeblossom,
Block::PottedPoppy,
Block::PottedBlueOrchid,
Block::PottedAllium,
@ -1029,7 +968,6 @@ pub static FLOWER_POTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::PottedJungleSapling,
Block::PottedAcaciaSapling,
Block::PottedDarkOakSapling,
Block::PottedPaleOakSapling,
Block::PottedRedMushroom,
Block::PottedBrownMushroom,
Block::PottedDeadBush,
@ -1052,11 +990,6 @@ pub static FLOWER_POTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
});
pub static FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::Sunflower,
Block::Lilac,
Block::Peony,
Block::RoseBush,
Block::PitcherPlant,
Block::FloweringAzaleaLeaves,
Block::FloweringAzalea,
Block::MangrovePropagule,
@ -1065,7 +998,6 @@ pub static FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::ChorusFlower,
Block::SporeBlossom,
Block::Dandelion,
Block::OpenEyeblossom,
Block::Poppy,
Block::BlueOrchid,
Block::Allium,
@ -1079,7 +1011,11 @@ pub static FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::LilyOfTheValley,
Block::WitherRose,
Block::Torchflower,
Block::ClosedEyeblossom,
Block::Sunflower,
Block::Lilac,
Block::Peony,
Block::RoseBush,
Block::PitcherPlant,
])
});
pub static FOXES_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -1294,6 +1230,14 @@ pub static INCORRECT_FOR_GOLD_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(||
Block::WaxedExposedCopperTrapdoor,
Block::WaxedWeatheredCopperTrapdoor,
Block::WaxedOxidizedCopperTrapdoor,
Block::CopperDoor,
Block::ExposedCopperDoor,
Block::WeatheredCopperDoor,
Block::OxidizedCopperDoor,
Block::WaxedCopperDoor,
Block::WaxedExposedCopperDoor,
Block::WaxedWeatheredCopperDoor,
Block::WaxedOxidizedCopperDoor,
])
});
pub static INCORRECT_FOR_IRON_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -1423,6 +1367,14 @@ pub static INCORRECT_FOR_WOODEN_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|
Block::WaxedExposedCopperTrapdoor,
Block::WaxedWeatheredCopperTrapdoor,
Block::WaxedOxidizedCopperTrapdoor,
Block::CopperDoor,
Block::ExposedCopperDoor,
Block::WeatheredCopperDoor,
Block::OxidizedCopperDoor,
Block::WaxedCopperDoor,
Block::WaxedExposedCopperDoor,
Block::WaxedWeatheredCopperDoor,
Block::WaxedOxidizedCopperDoor,
])
});
pub static INFINIBURN_END: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -1468,7 +1420,6 @@ pub static LAVA_POOL_STONE_CANNOT_REPLACE: LazyLock<HashSet<Block>> = LazyLock::
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -1488,10 +1439,6 @@ pub static LAVA_POOL_STONE_CANNOT_REPLACE: LazyLock<HashSet<Block>> = LazyLock::
Block::DarkOakWood,
Block::StrippedDarkOakLog,
Block::StrippedDarkOakWood,
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
Block::OakLog,
Block::OakWood,
Block::StrippedOakLog,
@ -1527,7 +1474,6 @@ pub static LEAVES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -1551,10 +1497,6 @@ pub static LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::DarkOakWood,
Block::StrippedDarkOakLog,
Block::StrippedDarkOakWood,
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
Block::OakLog,
Block::OakWood,
Block::StrippedOakLog,
@ -1591,10 +1533,6 @@ pub static LOGS_THAT_BURN: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::DarkOakWood,
Block::StrippedDarkOakLog,
Block::StrippedDarkOakWood,
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
Block::OakLog,
Block::OakWood,
Block::StrippedOakLog,
@ -1645,7 +1583,6 @@ pub static LUSH_GROUND_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(||
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -1769,7 +1706,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::BambooMosaicSlab,
Block::BambooMosaicStairs,
Block::ChiseledBookshelf,
Block::CreakingHeart,
Block::WhiteBanner,
Block::OrangeBanner,
Block::MagentaBanner,
@ -1805,7 +1741,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaFenceGate,
Block::BirchFenceGate,
Block::DarkOakFenceGate,
Block::PaleOakFenceGate,
Block::JungleFenceGate,
Block::OakFenceGate,
Block::SpruceFenceGate,
@ -1820,7 +1755,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JunglePlanks,
Block::AcaciaPlanks,
Block::DarkOakPlanks,
Block::PaleOakPlanks,
Block::CrimsonPlanks,
Block::WarpedPlanks,
Block::MangrovePlanks,
@ -1832,7 +1766,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleSapling,
Block::AcaciaSapling,
Block::DarkOakSapling,
Block::PaleOakSapling,
Block::Azalea,
Block::FloweringAzalea,
Block::MangrovePropagule,
@ -1843,7 +1776,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleButton,
Block::AcaciaButton,
Block::DarkOakButton,
Block::PaleOakButton,
Block::CrimsonButton,
Block::WarpedButton,
Block::MangroveButton,
@ -1855,7 +1787,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleDoor,
Block::AcaciaDoor,
Block::DarkOakDoor,
Block::PaleOakDoor,
Block::CrimsonDoor,
Block::WarpedDoor,
Block::MangroveDoor,
@ -1864,7 +1795,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::OakFence,
Block::AcaciaFence,
Block::DarkOakFence,
Block::PaleOakFence,
Block::SpruceFence,
Block::BirchFence,
Block::JungleFence,
@ -1879,7 +1809,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JunglePressurePlate,
Block::AcaciaPressurePlate,
Block::DarkOakPressurePlate,
Block::PaleOakPressurePlate,
Block::CrimsonPressurePlate,
Block::WarpedPressurePlate,
Block::MangrovePressurePlate,
@ -1891,7 +1820,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleSlab,
Block::AcaciaSlab,
Block::DarkOakSlab,
Block::PaleOakSlab,
Block::CrimsonSlab,
Block::WarpedSlab,
Block::MangroveSlab,
@ -1903,7 +1831,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleStairs,
Block::AcaciaStairs,
Block::DarkOakStairs,
Block::PaleOakStairs,
Block::CrimsonStairs,
Block::WarpedStairs,
Block::MangroveStairs,
@ -1912,7 +1839,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaTrapdoor,
Block::BirchTrapdoor,
Block::DarkOakTrapdoor,
Block::PaleOakTrapdoor,
Block::JungleTrapdoor,
Block::OakTrapdoor,
Block::SpruceTrapdoor,
@ -1937,7 +1863,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaSign,
Block::JungleSign,
Block::DarkOakSign,
Block::PaleOakSign,
Block::CrimsonSign,
Block::WarpedSign,
Block::MangroveSign,
@ -1949,7 +1874,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaWallSign,
Block::JungleWallSign,
Block::DarkOakWallSign,
Block::PaleOakWallSign,
Block::CrimsonWallSign,
Block::WarpedWallSign,
Block::MangroveWallSign,
@ -1962,7 +1886,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryHangingSign,
Block::JungleHangingSign,
Block::DarkOakHangingSign,
Block::PaleOakHangingSign,
Block::CrimsonHangingSign,
Block::WarpedHangingSign,
Block::MangroveHangingSign,
@ -1974,7 +1897,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryWallHangingSign,
Block::JungleWallHangingSign,
Block::DarkOakWallHangingSign,
Block::PaleOakWallHangingSign,
Block::CrimsonWallHangingSign,
Block::WarpedWallHangingSign,
Block::MangroveWallHangingSign,
@ -1983,10 +1905,6 @@ pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::DarkOakWood,
Block::StrippedDarkOakLog,
Block::StrippedDarkOakWood,
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
Block::OakLog,
Block::OakWood,
Block::StrippedOakLog,
@ -2030,7 +1948,6 @@ pub static MINEABLE_HOE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -2041,8 +1958,6 @@ pub static MINEABLE_HOE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CalibratedSculkSensor,
Block::MossBlock,
Block::MossCarpet,
Block::PaleMossBlock,
Block::PaleMossCarpet,
Block::Sculk,
Block::SculkCatalyst,
Block::SculkVein,
@ -2070,7 +1985,6 @@ pub static MINEABLE_PICKAXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::NetherGoldOre,
Block::LapisOre,
Block::DeepslateLapisOre,
Block::ResinBricks,
Block::LapisBlock,
Block::Dispenser,
Block::Sandstone,
@ -2432,11 +2346,6 @@ pub static MINEABLE_PICKAXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::WaxedWeatheredCopperTrapdoor,
Block::WaxedOxidizedCopperTrapdoor,
Block::HeavyCore,
Block::ResinBricks,
Block::ResinBrickSlab,
Block::ResinBrickWall,
Block::ResinBrickStairs,
Block::ChiseledResinBricks,
Block::StoneButton,
Block::PolishedBlackstoneButton,
Block::CobblestoneWall,
@ -2464,7 +2373,6 @@ pub static MINEABLE_PICKAXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::TuffWall,
Block::PolishedTuffWall,
Block::TuffBrickWall,
Block::ResinBrickWall,
Block::ShulkerBox,
Block::BlackShulkerBox,
Block::BlueShulkerBox,
@ -2551,7 +2459,6 @@ pub static MOB_INTERACTABLE_DOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleDoor,
Block::AcaciaDoor,
Block::DarkOakDoor,
Block::PaleOakDoor,
Block::CrimsonDoor,
Block::WarpedDoor,
Block::MangroveDoor,
@ -2578,7 +2485,6 @@ pub static MOSS_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -2694,6 +2600,14 @@ pub static NEEDS_STONE_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::WaxedExposedCopperTrapdoor,
Block::WaxedWeatheredCopperTrapdoor,
Block::WaxedOxidizedCopperTrapdoor,
Block::CopperDoor,
Block::ExposedCopperDoor,
Block::WeatheredCopperDoor,
Block::OxidizedCopperDoor,
Block::WaxedCopperDoor,
Block::WaxedExposedCopperDoor,
Block::WaxedWeatheredCopperDoor,
Block::WaxedOxidizedCopperDoor,
])
});
pub static NETHER_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -2716,7 +2630,6 @@ pub static NETHER_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::new(
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
Block::CrimsonNylium,
@ -2763,6 +2676,7 @@ pub static OVERWORLD_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::n
Block::Sandstone,
Block::RedSandstone,
Block::Calcite,
Block::Snow,
Block::PackedIce,
Block::RawIronBlock,
Block::RawCopperBlock,
@ -2779,7 +2693,6 @@ pub static OVERWORLD_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::n
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
Block::Sand,
@ -2807,9 +2720,6 @@ pub static OVERWORLD_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::n
Block::DeepslateIronOre,
Block::CopperOre,
Block::DeepslateCopperOre,
Block::Snow,
Block::SnowBlock,
Block::PowderSnow,
])
});
pub static OVERWORLD_NATURAL_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -2820,19 +2730,10 @@ pub static OVERWORLD_NATURAL_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLog,
Block::SpruceLog,
Block::DarkOakLog,
Block::PaleOakLog,
Block::MangroveLog,
Block::CherryLog,
])
});
pub static PALE_OAK_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
])
});
pub static PARROTS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::GrassBlock,
@ -2840,7 +2741,6 @@ pub static PARROTS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -2860,10 +2760,6 @@ pub static PARROTS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::DarkOakWood,
Block::StrippedDarkOakLog,
Block::StrippedDarkOakWood,
Block::PaleOakLog,
Block::PaleOakWood,
Block::StrippedPaleOakLog,
Block::StrippedPaleOakWood,
Block::OakLog,
Block::OakWood,
Block::StrippedOakLog,
@ -2911,7 +2807,6 @@ pub static PLANKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JunglePlanks,
Block::AcaciaPlanks,
Block::DarkOakPlanks,
Block::PaleOakPlanks,
Block::CrimsonPlanks,
Block::WarpedPlanks,
Block::MangrovePlanks,
@ -2938,7 +2833,6 @@ pub static PRESSURE_PLATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JunglePressurePlate,
Block::AcaciaPressurePlate,
Block::DarkOakPressurePlate,
Block::PaleOakPressurePlate,
Block::CrimsonPressurePlate,
Block::WarpedPressurePlate,
Block::MangrovePressurePlate,
@ -2989,7 +2883,6 @@ pub static REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Snow,
Block::Vine,
Block::GlowLichen,
Block::ResinClump,
Block::Light,
Block::TallGrass,
Block::LargeFern,
@ -3005,7 +2898,6 @@ pub static REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
});
pub static REPLACEABLE_BY_TREES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::PaleMossCarpet,
Block::ShortGrass,
Block::Fern,
Block::DeadBush,
@ -3028,7 +2920,6 @@ pub static REPLACEABLE_BY_TREES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -3036,22 +2927,6 @@ pub static REPLACEABLE_BY_TREES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
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 SAND: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -3070,7 +2945,6 @@ pub static SAPLINGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleSapling,
Block::AcaciaSapling,
Block::DarkOakSapling,
Block::PaleOakSapling,
Block::Azalea,
Block::FloweringAzalea,
Block::MangrovePropagule,
@ -3104,7 +2978,6 @@ pub static SCULK_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
Block::Terracotta,
@ -3164,7 +3037,6 @@ pub static SCULK_REPLACEABLE_WORLD_GEN: LazyLock<HashSet<Block>> = LazyLock::new
Block::Mycelium,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
Block::Terracotta,
@ -3220,7 +3092,6 @@ pub static SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaSign,
Block::JungleSign,
Block::DarkOakSign,
Block::PaleOakSign,
Block::CrimsonSign,
Block::WarpedSign,
Block::MangroveSign,
@ -3232,7 +3103,6 @@ pub static SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaWallSign,
Block::JungleWallSign,
Block::DarkOakWallSign,
Block::PaleOakWallSign,
Block::CrimsonWallSign,
Block::WarpedWallSign,
Block::MangroveWallSign,
@ -3291,14 +3161,12 @@ pub static SLABS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::TuffSlab,
Block::PolishedTuffSlab,
Block::TuffBrickSlab,
Block::ResinBrickSlab,
Block::OakSlab,
Block::SpruceSlab,
Block::BirchSlab,
Block::JungleSlab,
Block::AcaciaSlab,
Block::DarkOakSlab,
Block::PaleOakSlab,
Block::CrimsonSlab,
Block::WarpedSlab,
Block::MangroveSlab,
@ -3311,7 +3179,6 @@ pub static SMALL_DRIPLEAF_PLACEABLE: LazyLock<HashSet<Block>> =
pub static SMALL_FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::Dandelion,
Block::OpenEyeblossom,
Block::Poppy,
Block::BlueOrchid,
Block::Allium,
@ -3325,7 +3192,6 @@ pub static SMALL_FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::LilyOfTheValley,
Block::WitherRose,
Block::Torchflower,
Block::ClosedEyeblossom,
])
});
pub static SMELTS_TO_GLASS: LazyLock<HashSet<Block>> =
@ -3344,7 +3210,6 @@ pub static SNAPS_GOAT_HORN: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLog,
Block::SpruceLog,
Block::DarkOakLog,
Block::PaleOakLog,
Block::MangroveLog,
Block::CherryLog,
])
@ -3357,7 +3222,6 @@ pub static SNIFFER_DIGGABLE_BLOCK: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CoarseDirt,
Block::RootedDirt,
Block::MossBlock,
Block::PaleMossBlock,
Block::Mud,
Block::MuddyMangroveRoots,
])
@ -3429,14 +3293,12 @@ pub static STAIRS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::TuffStairs,
Block::PolishedTuffStairs,
Block::TuffBrickStairs,
Block::ResinBrickStairs,
Block::OakStairs,
Block::SpruceStairs,
Block::BirchStairs,
Block::JungleStairs,
Block::AcaciaStairs,
Block::DarkOakStairs,
Block::PaleOakStairs,
Block::CrimsonStairs,
Block::WarpedStairs,
Block::MangroveStairs,
@ -3452,7 +3314,6 @@ pub static STANDING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaSign,
Block::JungleSign,
Block::DarkOakSign,
Block::PaleOakSign,
Block::CrimsonSign,
Block::WarpedSign,
Block::MangroveSign,
@ -3517,6 +3378,7 @@ pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CaveVines,
Block::CaveVinesPlant,
Block::SporeBlossom,
Block::MossCarpet,
Block::PinkPetals,
Block::BigDripleaf,
Block::BigDripleafStem,
@ -3536,7 +3398,6 @@ pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleLeaves,
Block::OakLeaves,
Block::SpruceLeaves,
Block::PaleOakLeaves,
Block::DarkOakLeaves,
Block::AcaciaLeaves,
Block::BirchLeaves,
@ -3550,11 +3411,24 @@ pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleSapling,
Block::AcaciaSapling,
Block::DarkOakSapling,
Block::PaleOakSapling,
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,
@ -3565,6 +3439,15 @@ pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::PitcherCrop,
])
});
pub static TALL_FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::Sunflower,
Block::Lilac,
Block::Peony,
Block::RoseBush,
Block::PitcherPlant,
])
});
pub static TERRACOTTA: LazyLock<HashSet<Block>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Block::Terracotta,
@ -3602,7 +3485,6 @@ pub static TRAPDOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaTrapdoor,
Block::BirchTrapdoor,
Block::DarkOakTrapdoor,
Block::PaleOakTrapdoor,
Block::JungleTrapdoor,
Block::OakTrapdoor,
Block::SpruceTrapdoor,
@ -3638,7 +3520,6 @@ pub static UNSTABLE_BOTTOM_CENTER: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaFenceGate,
Block::BirchFenceGate,
Block::DarkOakFenceGate,
Block::PaleOakFenceGate,
Block::JungleFenceGate,
Block::OakFenceGate,
Block::SpruceFenceGate,
@ -3671,7 +3552,6 @@ pub static WALL_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::CherryWallHangingSign,
Block::JungleWallHangingSign,
Block::DarkOakWallHangingSign,
Block::PaleOakWallHangingSign,
Block::CrimsonWallHangingSign,
Block::WarpedWallHangingSign,
Block::MangroveWallHangingSign,
@ -3724,7 +3604,6 @@ pub static WALL_POST_OVERRIDE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaSign,
Block::JungleSign,
Block::DarkOakSign,
Block::PaleOakSign,
Block::CrimsonSign,
Block::WarpedSign,
Block::MangroveSign,
@ -3736,7 +3615,6 @@ pub static WALL_POST_OVERRIDE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaWallSign,
Block::JungleWallSign,
Block::DarkOakWallSign,
Block::PaleOakWallSign,
Block::CrimsonWallSign,
Block::WarpedWallSign,
Block::MangroveWallSign,
@ -3748,7 +3626,6 @@ pub static WALL_POST_OVERRIDE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JunglePressurePlate,
Block::AcaciaPressurePlate,
Block::DarkOakPressurePlate,
Block::PaleOakPressurePlate,
Block::CrimsonPressurePlate,
Block::WarpedPressurePlate,
Block::MangrovePressurePlate,
@ -3766,7 +3643,6 @@ pub static WALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaWallSign,
Block::JungleWallSign,
Block::DarkOakWallSign,
Block::PaleOakWallSign,
Block::CrimsonWallSign,
Block::WarpedWallSign,
Block::MangroveWallSign,
@ -3801,7 +3677,6 @@ pub static WALLS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::TuffWall,
Block::PolishedTuffWall,
Block::TuffBrickWall,
Block::ResinBrickWall,
])
});
pub static WARPED_STEMS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
@ -3850,7 +3725,6 @@ pub static WOODEN_BUTTONS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleButton,
Block::AcaciaButton,
Block::DarkOakButton,
Block::PaleOakButton,
Block::CrimsonButton,
Block::WarpedButton,
Block::MangroveButton,
@ -3866,7 +3740,6 @@ pub static WOODEN_DOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleDoor,
Block::AcaciaDoor,
Block::DarkOakDoor,
Block::PaleOakDoor,
Block::CrimsonDoor,
Block::WarpedDoor,
Block::MangroveDoor,
@ -3879,7 +3752,6 @@ pub static WOODEN_FENCES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::OakFence,
Block::AcaciaFence,
Block::DarkOakFence,
Block::PaleOakFence,
Block::SpruceFence,
Block::BirchFence,
Block::JungleFence,
@ -3898,7 +3770,6 @@ pub static WOODEN_PRESSURE_PLATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JunglePressurePlate,
Block::AcaciaPressurePlate,
Block::DarkOakPressurePlate,
Block::PaleOakPressurePlate,
Block::CrimsonPressurePlate,
Block::WarpedPressurePlate,
Block::MangrovePressurePlate,
@ -3914,7 +3785,6 @@ pub static WOODEN_SLABS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleSlab,
Block::AcaciaSlab,
Block::DarkOakSlab,
Block::PaleOakSlab,
Block::CrimsonSlab,
Block::WarpedSlab,
Block::MangroveSlab,
@ -3930,7 +3800,6 @@ pub static WOODEN_STAIRS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::JungleStairs,
Block::AcaciaStairs,
Block::DarkOakStairs,
Block::PaleOakStairs,
Block::CrimsonStairs,
Block::WarpedStairs,
Block::MangroveStairs,
@ -3943,7 +3812,6 @@ pub static WOODEN_TRAPDOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
Block::AcaciaTrapdoor,
Block::BirchTrapdoor,
Block::DarkOakTrapdoor,
Block::PaleOakTrapdoor,
Block::JungleTrapdoor,
Block::OakTrapdoor,
Block::SpruceTrapdoor,

View file

@ -84,8 +84,14 @@ pub static BEDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
});
pub static BEE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::FloweringAzaleaLeaves,
Item::FloweringAzalea,
Item::MangrovePropagule,
Item::CherryLeaves,
Item::PinkPetals,
Item::ChorusFlower,
Item::SporeBlossom,
Item::Dandelion,
Item::OpenEyeblossom,
Item::Poppy,
Item::BlueOrchid,
Item::Allium,
@ -104,13 +110,6 @@ pub static BEE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::Peony,
Item::RoseBush,
Item::PitcherPlant,
Item::FloweringAzaleaLeaves,
Item::FloweringAzalea,
Item::MangrovePropagule,
Item::CherryLeaves,
Item::PinkPetals,
Item::ChorusFlower,
Item::SporeBlossom,
])
});
pub static BIRCH_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
@ -129,7 +128,6 @@ pub static BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleBoat,
Item::AcaciaBoat,
Item::DarkOakBoat,
Item::PaleOakBoat,
Item::MangroveBoat,
Item::BambooRaft,
Item::CherryBoat,
@ -139,7 +137,6 @@ pub static BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleChestBoat,
Item::AcaciaChestBoat,
Item::DarkOakChestBoat,
Item::PaleOakChestBoat,
Item::MangroveChestBoat,
Item::BambooChestRaft,
Item::CherryChestBoat,
@ -221,7 +218,6 @@ pub static BUTTONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleButton,
Item::AcaciaButton,
Item::DarkOakButton,
Item::PaleOakButton,
Item::CrimsonButton,
Item::WarpedButton,
Item::MangroveButton,
@ -282,7 +278,6 @@ pub static CHEST_BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleChestBoat,
Item::AcaciaChestBoat,
Item::DarkOakChestBoat,
Item::PaleOakChestBoat,
Item::MangroveChestBoat,
Item::BambooChestRaft,
Item::CherryChestBoat,
@ -319,7 +314,6 @@ pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Item>> = LazyLock::new
Item::JungleLeaves,
Item::OakLeaves,
Item::SpruceLeaves,
Item::PaleOakLeaves,
Item::DarkOakLeaves,
Item::AcaciaLeaves,
Item::BirchLeaves,
@ -341,10 +335,6 @@ pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Item>> = LazyLock::new
Item::DarkOakWood,
Item::StrippedDarkOakLog,
Item::StrippedDarkOakWood,
Item::PaleOakLog,
Item::PaleOakWood,
Item::StrippedPaleOakLog,
Item::StrippedPaleOakWood,
Item::OakLog,
Item::OakWood,
Item::StrippedOakLog,
@ -517,7 +507,6 @@ pub static DIRT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::Mycelium,
Item::RootedDirt,
Item::MossBlock,
Item::PaleMossBlock,
Item::Mud,
Item::MuddyMangroveRoots,
])
@ -539,7 +528,6 @@ pub static DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleDoor,
Item::AcaciaDoor,
Item::DarkOakDoor,
Item::PaleOakDoor,
Item::CrimsonDoor,
Item::WarpedDoor,
Item::MangroveDoor,
@ -547,8 +535,6 @@ pub static DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::CherryDoor,
])
});
pub static DROWNED_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Trident]));
pub static DUPLICATES_ALLAYS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::AmethystShard]));
pub static DYEABLE: LazyLock<HashSet<Item>> = LazyLock::new(|| {
@ -948,7 +934,6 @@ pub static FENCE_GATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::AcaciaFenceGate,
Item::BirchFenceGate,
Item::DarkOakFenceGate,
Item::PaleOakFenceGate,
Item::JungleFenceGate,
Item::OakFenceGate,
Item::SpruceFenceGate,
@ -965,7 +950,6 @@ pub static FENCES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::OakFence,
Item::AcaciaFence,
Item::DarkOakFence,
Item::PaleOakFence,
Item::SpruceFence,
Item::BirchFence,
Item::JungleFence,
@ -986,6 +970,36 @@ pub static FISHES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::TropicalFish,
])
});
pub static FLOWERS: LazyLock<HashSet<Item>> = LazyLock::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 FOOT_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::LeatherBoots,
@ -1033,7 +1047,6 @@ pub static HANGING_SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::CherryHangingSign,
Item::JungleHangingSign,
Item::DarkOakHangingSign,
Item::PaleOakHangingSign,
Item::CrimsonHangingSign,
Item::WarpedHangingSign,
Item::MangroveHangingSign,
@ -1102,7 +1115,6 @@ pub static LEAVES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleLeaves,
Item::OakLeaves,
Item::SpruceLeaves,
Item::PaleOakLeaves,
Item::DarkOakLeaves,
Item::AcaciaLeaves,
Item::BirchLeaves,
@ -1142,10 +1154,6 @@ pub static LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::DarkOakWood,
Item::StrippedDarkOakLog,
Item::StrippedDarkOakWood,
Item::PaleOakLog,
Item::PaleOakWood,
Item::StrippedPaleOakLog,
Item::StrippedPaleOakWood,
Item::OakLog,
Item::OakWood,
Item::StrippedOakLog,
@ -1182,10 +1190,6 @@ pub static LOGS_THAT_BURN: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::DarkOakWood,
Item::StrippedDarkOakLog,
Item::StrippedDarkOakWood,
Item::PaleOakLog,
Item::PaleOakWood,
Item::StrippedPaleOakLog,
Item::StrippedPaleOakWood,
Item::OakLog,
Item::OakWood,
Item::StrippedOakLog,
@ -1298,14 +1302,6 @@ pub static OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
});
pub static OCELOT_FOOD: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Cod, Item::Salmon]));
pub static PALE_OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::PaleOakLog,
Item::PaleOakWood,
Item::StrippedPaleOakLog,
Item::StrippedPaleOakWood,
])
});
pub static PANDA_EATS_FROM_GROUND: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Cake, Item::Bamboo]));
pub static PANDA_FOOD: LazyLock<HashSet<Item>> =
@ -1365,8 +1361,6 @@ pub static PIGLIN_LOVED: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::DeepslateGoldOre,
])
});
pub static PIGLIN_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Crossbow]));
pub static PIGLIN_REPELLENTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![Item::SoulTorch, Item::SoulLantern, Item::SoulCampfire])
});
@ -1378,8 +1372,6 @@ pub static PIGLIN_SAFE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::GoldenBoots,
])
});
pub static PILLAGER_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Crossbow]));
pub static PLANKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::OakPlanks,
@ -1388,7 +1380,6 @@ pub static PLANKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JunglePlanks,
Item::AcaciaPlanks,
Item::DarkOakPlanks,
Item::PaleOakPlanks,
Item::CrimsonPlanks,
Item::WarpedPlanks,
Item::MangrovePlanks,
@ -1440,7 +1431,6 @@ pub static SAPLINGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleSapling,
Item::AcaciaSapling,
Item::DarkOakSapling,
Item::PaleOakSapling,
Item::Azalea,
Item::FloweringAzalea,
Item::MangrovePropagule,
@ -1488,7 +1478,6 @@ pub static SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::AcaciaSign,
Item::JungleSign,
Item::DarkOakSign,
Item::PaleOakSign,
Item::CrimsonSign,
Item::WarpedSign,
Item::MangroveSign,
@ -1496,8 +1485,6 @@ pub static SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::CherrySign,
])
});
pub static SKELETON_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Bow]));
pub static SKULLS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::PlayerHead,
@ -1560,14 +1547,12 @@ pub static SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::TuffSlab,
Item::PolishedTuffSlab,
Item::TuffBrickSlab,
Item::ResinBrickSlab,
Item::OakSlab,
Item::SpruceSlab,
Item::BirchSlab,
Item::JungleSlab,
Item::AcaciaSlab,
Item::DarkOakSlab,
Item::PaleOakSlab,
Item::CrimsonSlab,
Item::WarpedSlab,
Item::MangroveSlab,
@ -1578,7 +1563,6 @@ pub static SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
pub static SMALL_FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::Dandelion,
Item::OpenEyeblossom,
Item::Poppy,
Item::BlueOrchid,
Item::Allium,
@ -1592,7 +1576,6 @@ pub static SMALL_FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::LilyOfTheValley,
Item::WitherRose,
Item::Torchflower,
Item::ClosedEyeblossom,
])
});
pub static SMELTS_TO_GLASS: LazyLock<HashSet<Item>> =
@ -1656,14 +1639,12 @@ pub static STAIRS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::TuffStairs,
Item::PolishedTuffStairs,
Item::TuffBrickStairs,
Item::ResinBrickStairs,
Item::OakStairs,
Item::SpruceStairs,
Item::BirchStairs,
Item::JungleStairs,
Item::AcaciaStairs,
Item::DarkOakStairs,
Item::PaleOakStairs,
Item::CrimsonStairs,
Item::WarpedStairs,
Item::MangroveStairs,
@ -1709,6 +1690,15 @@ pub static SWORDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::IronSword,
])
});
pub static TALL_FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::Sunflower,
Item::Lilac,
Item::Peony,
Item::RoseBush,
Item::PitcherPlant,
])
});
pub static TERRACOTTA: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::Terracotta,
@ -1744,7 +1734,6 @@ pub static TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::AcaciaTrapdoor,
Item::BirchTrapdoor,
Item::DarkOakTrapdoor,
Item::PaleOakTrapdoor,
Item::JungleTrapdoor,
Item::OakTrapdoor,
Item::SpruceTrapdoor,
@ -1757,17 +1746,38 @@ pub static TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
});
pub static TRIM_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::AmethystShard,
Item::CopperIngot,
Item::Diamond,
Item::Emerald,
Item::GoldIngot,
Item::IronIngot,
Item::CopperIngot,
Item::GoldIngot,
Item::LapisLazuli,
Item::Emerald,
Item::Diamond,
Item::NetheriteIngot,
Item::Quartz,
Item::Redstone,
Item::ResinBrick,
Item::Quartz,
Item::AmethystShard,
])
});
pub static TRIM_TEMPLATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::WardArmorTrimSmithingTemplate,
Item::SpireArmorTrimSmithingTemplate,
Item::CoastArmorTrimSmithingTemplate,
Item::EyeArmorTrimSmithingTemplate,
Item::DuneArmorTrimSmithingTemplate,
Item::WildArmorTrimSmithingTemplate,
Item::RibArmorTrimSmithingTemplate,
Item::TideArmorTrimSmithingTemplate,
Item::SentryArmorTrimSmithingTemplate,
Item::VexArmorTrimSmithingTemplate,
Item::SnoutArmorTrimSmithingTemplate,
Item::WayfinderArmorTrimSmithingTemplate,
Item::ShaperArmorTrimSmithingTemplate,
Item::SilenceArmorTrimSmithingTemplate,
Item::RaiserArmorTrimSmithingTemplate,
Item::HostArmorTrimSmithingTemplate,
Item::FlowArmorTrimSmithingTemplate,
Item::BoltArmorTrimSmithingTemplate,
])
});
pub static TRIMMABLE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
@ -1851,7 +1861,6 @@ pub static WALLS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::TuffWall,
Item::PolishedTuffWall,
Item::TuffBrickWall,
Item::ResinBrickWall,
])
});
pub static WARPED_STEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
@ -1864,8 +1873,6 @@ pub static WARPED_STEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
});
pub static WART_BLOCKS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::NetherWartBlock, Item::WarpedWartBlock]));
pub static WITHER_SKELETON_DISLIKED_WEAPONS: LazyLock<HashSet<Item>> =
LazyLock::new(|| HashSet::from_iter(vec![Item::Bow, Item::Crossbow]));
pub static WOLF_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
HashSet::from_iter(vec![
Item::Cod,
@ -1896,7 +1903,6 @@ pub static WOODEN_BUTTONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleButton,
Item::AcaciaButton,
Item::DarkOakButton,
Item::PaleOakButton,
Item::CrimsonButton,
Item::WarpedButton,
Item::MangroveButton,
@ -1912,7 +1918,6 @@ pub static WOODEN_DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleDoor,
Item::AcaciaDoor,
Item::DarkOakDoor,
Item::PaleOakDoor,
Item::CrimsonDoor,
Item::WarpedDoor,
Item::MangroveDoor,
@ -1925,7 +1930,6 @@ pub static WOODEN_FENCES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::OakFence,
Item::AcaciaFence,
Item::DarkOakFence,
Item::PaleOakFence,
Item::SpruceFence,
Item::BirchFence,
Item::JungleFence,
@ -1944,7 +1948,6 @@ pub static WOODEN_PRESSURE_PLATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JunglePressurePlate,
Item::AcaciaPressurePlate,
Item::DarkOakPressurePlate,
Item::PaleOakPressurePlate,
Item::CrimsonPressurePlate,
Item::WarpedPressurePlate,
Item::MangrovePressurePlate,
@ -1960,7 +1963,6 @@ pub static WOODEN_SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleSlab,
Item::AcaciaSlab,
Item::DarkOakSlab,
Item::PaleOakSlab,
Item::CrimsonSlab,
Item::WarpedSlab,
Item::MangroveSlab,
@ -1976,7 +1978,6 @@ pub static WOODEN_STAIRS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JungleStairs,
Item::AcaciaStairs,
Item::DarkOakStairs,
Item::PaleOakStairs,
Item::CrimsonStairs,
Item::WarpedStairs,
Item::MangroveStairs,
@ -1992,7 +1993,6 @@ pub static WOODEN_TOOL_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::JunglePlanks,
Item::AcaciaPlanks,
Item::DarkOakPlanks,
Item::PaleOakPlanks,
Item::CrimsonPlanks,
Item::WarpedPlanks,
Item::MangrovePlanks,
@ -2005,7 +2005,6 @@ pub static WOODEN_TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
Item::AcaciaTrapdoor,
Item::BirchTrapdoor,
Item::DarkOakTrapdoor,
Item::PaleOakTrapdoor,
Item::JungleTrapdoor,
Item::OakTrapdoor,
Item::SpruceTrapdoor,

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea-world"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea-world"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -4,7 +4,7 @@ edition = "2021"
license = "MIT"
name = "azalea"
repository = "https://github.com/azalea-rs/azalea/tree/main/azalea"
version = "0.10.3+mc1.21.4-pre3"
version = "0.10.3+mc1.21.3"
[package.metadata.release]
pre-release-replacements = [

View file

@ -70,7 +70,7 @@ def set_protocol_version(protocol_version: str) -> None:
with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'r') as f:
mod_rs = f.read().splitlines()
for i, line in enumerate(mod_rs):
if line.strip().startswith('pub const PROTOCOL_VERSION'):
if line.strip().startswith('pub const PROTOCOL_VERSION:'):
mod_rs[i] = f'pub const PROTOCOL_VERSION: i32 = {protocol_version};'
break
else:
@ -79,3 +79,16 @@ def set_protocol_version(protocol_version: str) -> None:
with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'w') as f:
f.write('\n'.join(mod_rs))
def set_version_name(version_name: str) -> None:
with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'r') as f:
mod_rs = f.read().splitlines()
for i, line in enumerate(mod_rs):
if line.strip().startswith('pub const VERSION_NAME:'):
mod_rs[i] = f'pub const VERSION_NAME: &str = "{version_name}";'
break
else:
raise Exception(
'Could not find version name in azalea-protocol/src/packets/mod.rs')
with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'w') as f:
f.write('\n'.join(mod_rs))

View file

@ -34,6 +34,7 @@ lib.code.packet.set_packets(new_packets_report)
lib.code.version.set_protocol_version(
new_burger_data[0]['version']['protocol'])
lib.code.version.set_version_name(new_version_id)
print('Updated protocol!')