aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2025-12-12 00:56:02 -0600
committerGitHub <noreply@github.com>2025-12-12 00:56:02 -0600
commitf9c25665c203d6377ace62f1e95381d037d8fd9e (patch)
tree8b4131d20fe661d3cc1175ec27f801fe61df41ea /azalea-client/src/plugins
parent82ad975242292d5875780b4398b62637674bf50a (diff)
downloadazalea-drasl-f9c25665c203d6377ace62f1e95381d037d8fd9e.tar.xz
Refactor azalea-registry (#294)
* move registries in azalea-registry into separate modules * rename Item and Block to ItemKind and BlockKind * remove 'extra' registries from azalea-registry * hide deprecated items from docs * use DamageKindKey instead of Identifier when parsing registries * store tag entries as a Vec instead of a HashSet * sort tag values by protocol id * update changelog
Diffstat (limited to 'azalea-client/src/plugins')
-rw-r--r--azalea-client/src/plugins/interact/mod.rs78
-rw-r--r--azalea-client/src/plugins/inventory/equipment_effects.rs8
-rw-r--r--azalea-client/src/plugins/inventory/mod.rs3
-rw-r--r--azalea-client/src/plugins/mining.rs12
-rw-r--r--azalea-client/src/plugins/movement.rs2
-rw-r--r--azalea-client/src/plugins/packet/game/events.rs2
-rw-r--r--azalea-client/src/plugins/packet/game/mod.rs5
7 files changed, 54 insertions, 56 deletions
diff --git a/azalea-client/src/plugins/interact/mod.rs b/azalea-client/src/plugins/interact/mod.rs
index 47ada08a..8269197c 100644
--- a/azalea-client/src/plugins/interact/mod.rs
+++ b/azalea-client/src/plugins/interact/mod.rs
@@ -30,7 +30,7 @@ use azalea_protocol::packets::game::{
s_swing::ServerboundSwing,
s_use_item_on::ServerboundUseItemOn,
};
-use azalea_registry::Item;
+use azalea_registry::builtin::ItemKind;
use azalea_world::Instance;
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
@@ -527,45 +527,45 @@ fn update_attributes_for_held_item(
}
}
-fn added_attack_speed_for_item(item: Item) -> f64 {
+fn added_attack_speed_for_item(item: ItemKind) -> f64 {
match item {
- Item::WoodenSword => -2.4,
- Item::WoodenShovel => -3.0,
- Item::WoodenPickaxe => -2.8,
- Item::WoodenAxe => -3.2,
- Item::WoodenHoe => -3.0,
-
- Item::StoneSword => -2.4,
- Item::StoneShovel => -3.0,
- Item::StonePickaxe => -2.8,
- Item::StoneAxe => -3.2,
- Item::StoneHoe => -2.0,
-
- Item::GoldenSword => -2.4,
- Item::GoldenShovel => -3.0,
- Item::GoldenPickaxe => -2.8,
- Item::GoldenAxe => -3.0,
- Item::GoldenHoe => -3.0,
-
- Item::IronSword => -2.4,
- Item::IronShovel => -3.0,
- Item::IronPickaxe => -2.8,
- Item::IronAxe => -3.1,
- Item::IronHoe => -1.0,
-
- Item::DiamondSword => -2.4,
- Item::DiamondShovel => -3.0,
- Item::DiamondPickaxe => -2.8,
- Item::DiamondAxe => -3.0,
- Item::DiamondHoe => 0.0,
-
- Item::NetheriteSword => -2.4,
- Item::NetheriteShovel => -3.0,
- Item::NetheritePickaxe => -2.8,
- Item::NetheriteAxe => -3.0,
- Item::NetheriteHoe => 0.0,
-
- Item::Trident => -2.9,
+ ItemKind::WoodenSword => -2.4,
+ ItemKind::WoodenShovel => -3.0,
+ ItemKind::WoodenPickaxe => -2.8,
+ ItemKind::WoodenAxe => -3.2,
+ ItemKind::WoodenHoe => -3.0,
+
+ ItemKind::StoneSword => -2.4,
+ ItemKind::StoneShovel => -3.0,
+ ItemKind::StonePickaxe => -2.8,
+ ItemKind::StoneAxe => -3.2,
+ ItemKind::StoneHoe => -2.0,
+
+ ItemKind::GoldenSword => -2.4,
+ ItemKind::GoldenShovel => -3.0,
+ ItemKind::GoldenPickaxe => -2.8,
+ ItemKind::GoldenAxe => -3.0,
+ ItemKind::GoldenHoe => -3.0,
+
+ ItemKind::IronSword => -2.4,
+ ItemKind::IronShovel => -3.0,
+ ItemKind::IronPickaxe => -2.8,
+ ItemKind::IronAxe => -3.1,
+ ItemKind::IronHoe => -1.0,
+
+ ItemKind::DiamondSword => -2.4,
+ ItemKind::DiamondShovel => -3.0,
+ ItemKind::DiamondPickaxe => -2.8,
+ ItemKind::DiamondAxe => -3.0,
+ ItemKind::DiamondHoe => 0.0,
+
+ ItemKind::NetheriteSword => -2.4,
+ ItemKind::NetheriteShovel => -3.0,
+ ItemKind::NetheritePickaxe => -2.8,
+ ItemKind::NetheriteAxe => -3.0,
+ ItemKind::NetheriteHoe => 0.0,
+
+ ItemKind::Trident => -2.9,
_ => 0.,
}
}
diff --git a/azalea-client/src/plugins/inventory/equipment_effects.rs b/azalea-client/src/plugins/inventory/equipment_effects.rs
index 4294cc2f..c02f8ad5 100644
--- a/azalea-client/src/plugins/inventory/equipment_effects.rs
+++ b/azalea-client/src/plugins/inventory/equipment_effects.rs
@@ -2,15 +2,13 @@
use std::collections::HashMap;
-use azalea_core::{
- data_registry::ResolvableDataRegistry, identifier::Identifier,
- registry_holder::value::AttributeEffect,
-};
+use azalea_core::{data_registry::ResolvableDataRegistry, registry_holder::value::AttributeEffect};
use azalea_entity::{Attributes, inventory::Inventory};
use azalea_inventory::{
ItemStack,
components::{self, AttributeModifier, EquipmentSlot},
};
+use azalea_registry::identifier::Identifier;
use bevy_ecs::{
component::Component,
entity::Entity,
@@ -147,7 +145,7 @@ fn collect_attribute_modifiers_from_item(
slot: EquipmentSlot,
item: &ItemStack,
instance_holder: &InstanceHolder,
-) -> Vec<(azalea_registry::Attribute, AttributeModifier)> {
+) -> Vec<(azalea_registry::builtin::Attribute, AttributeModifier)> {
let mut modifiers = Vec::new();
// handle the attribute_modifiers component first
diff --git a/azalea-client/src/plugins/inventory/mod.rs b/azalea-client/src/plugins/inventory/mod.rs
index f0d4a9ce..93be9e96 100644
--- a/azalea-client/src/plugins/inventory/mod.rs
+++ b/azalea-client/src/plugins/inventory/mod.rs
@@ -10,7 +10,7 @@ use azalea_protocol::packets::game::{
s_container_close::ServerboundContainerClose,
s_set_carried_item::ServerboundSetCarriedItem,
};
-use azalea_registry::MenuKind;
+use azalea_registry::builtin::MenuKind;
use azalea_world::{InstanceContainer, InstanceName};
use bevy_app::{App, Plugin};
use bevy_ecs::prelude::*;
@@ -25,6 +25,7 @@ use crate::{
// TODO: when this is removed, remove the Inv alias above (which just exists to
// avoid conflicting with this pub deprecated type)
+#[doc(hidden)]
#[deprecated = "moved to `azalea_entity::inventory::Inventory`."]
pub type Inventory = azalea_entity::inventory::Inventory;
diff --git a/azalea-client/src/plugins/mining.rs b/azalea-client/src/plugins/mining.rs
index 73f2733d..4ed14482 100644
--- a/azalea-client/src/plugins/mining.rs
+++ b/azalea-client/src/plugins/mining.rs
@@ -7,6 +7,7 @@ use azalea_entity::{
use azalea_inventory::ItemStack;
use azalea_physics::{PhysicsSystems, collision::BlockWithShape};
use azalea_protocol::packets::game::s_player_action::{self, ServerboundPlayerAction};
+use azalea_registry::builtin::{BlockKind, ItemKind};
use azalea_world::{InstanceContainer, InstanceName};
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
@@ -525,10 +526,8 @@ pub fn handle_finish_mining_block_observer(
if game_mode.current == GameMode::Creative {
let held_item = inventory.held_item().kind();
- if matches!(
- held_item,
- azalea_registry::Item::Trident | azalea_registry::Item::DebugStick
- ) || azalea_registry::tags::items::SWORDS.contains(&held_item)
+ if matches!(held_item, ItemKind::Trident | ItemKind::DebugStick)
+ || azalea_registry::tags::items::SWORDS.contains(&held_item)
{
return;
}
@@ -538,12 +537,11 @@ pub fn handle_finish_mining_block_observer(
return;
};
- let registry_block: azalea_registry::Block =
- Box::<dyn BlockTrait>::from(block_state).as_registry_block();
+ let registry_block = Box::<dyn BlockTrait>::from(block_state).as_registry_block();
if !can_use_game_master_blocks(abilities, permission_level)
&& matches!(
registry_block,
- azalea_registry::Block::CommandBlock | azalea_registry::Block::StructureBlock
+ BlockKind::CommandBlock | BlockKind::StructureBlock
)
{
return;
diff --git a/azalea-client/src/plugins/movement.rs b/azalea-client/src/plugins/movement.rs
index 587bc05b..703b5557 100644
--- a/azalea-client/src/plugins/movement.rs
+++ b/azalea-client/src/plugins/movement.rs
@@ -29,7 +29,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::EntityKind;
use azalea_world::{Instance, MinecraftEntityId};
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
diff --git a/azalea-client/src/plugins/packet/game/events.rs b/azalea-client/src/plugins/packet/game/events.rs
index 53d93855..9ce4c252 100644
--- a/azalea-client/src/plugins/packet/game/events.rs
+++ b/azalea-client/src/plugins/packet/game/events.rs
@@ -1,11 +1,11 @@
use std::sync::{Arc, Weak};
use azalea_chat::FormattedText;
-use azalea_core::identifier::Identifier;
use azalea_protocol::packets::{
Packet,
game::{ClientboundGamePacket, ClientboundPlayerCombatKill, ServerboundGamePacket},
};
+use azalea_registry::identifier::Identifier;
use azalea_world::Instance;
use bevy_ecs::prelude::*;
use parking_lot::RwLock;
diff --git a/azalea-client/src/plugins/packet/game/mod.rs b/azalea-client/src/plugins/packet/game/mod.rs
index 7446a506..89b33274 100644
--- a/azalea-client/src/plugins/packet/game/mod.rs
+++ b/azalea-client/src/plugins/packet/game/mod.rs
@@ -17,6 +17,7 @@ use azalea_protocol::{
common::movements::MoveFlags,
packets::{ConnectionProtocol, game::*},
};
+use azalea_registry::builtin::EntityKind;
use azalea_world::{InstanceContainer, InstanceName, MinecraftEntityId, PartialInstance};
use bevy_ecs::{prelude::*, system::SystemState};
pub use events::*;
@@ -292,7 +293,7 @@ impl GamePacketHandler<'_> {
let entity_bundle = EntityBundle::new(
game_profile.uuid,
Vec3::ZERO,
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
new_instance_name,
);
let entity_id = p.player_id;
@@ -1478,7 +1479,7 @@ impl GamePacketHandler<'_> {
let entity_bundle = EntityBundle::new(
game_profile.uuid,
Vec3::ZERO,
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
new_instance_name,
);
// update the local gamemode and metadata things