diff options
| author | mat <git@matdoes.dev> | 2026-01-06 02:05:47 -1100 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2026-01-06 02:05:47 -1100 |
| commit | 4c61a41476e383d8fb765790bd3dd65e4019c0f4 (patch) | |
| tree | af116e49fa33d2e6a6004f45364a642370898f91 /azalea/src/client_impl/mod.rs | |
| parent | fdbcfaab4813da928f9f27e119d4951088c3a853 (diff) | |
| download | azalea-drasl-4c61a41476e383d8fb765790bd3dd65e4019c0f4.tar.xz | |
fix identifier partialeq/hash and add Client::resolve_registry_key
Diffstat (limited to 'azalea/src/client_impl/mod.rs')
| -rw-r--r-- | azalea/src/client_impl/mod.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/azalea/src/client_impl/mod.rs b/azalea/src/client_impl/mod.rs index dc4ab90f..fd6506d0 100644 --- a/azalea/src/client_impl/mod.rs +++ b/azalea/src/client_impl/mod.rs @@ -425,12 +425,27 @@ impl Client { /// This is necessary for data-driven registries like [`Enchantment`]. /// /// [`Enchantment`]: azalea_registry::data::Enchantment + #[deprecated = "use `bot.resolve_registry_key(registry).map(|r| r.into_ident())` instead."] pub fn resolve_registry_name( &self, registry: &impl ResolvableDataRegistry, ) -> Option<Identifier> { self.with_registry_holder(|registries| registry.key(registries).map(|r| r.into_ident())) } + + /// Resolve the given registry entry to its key (aka name). + /// + /// This is necessary for data-driven registries like [`Enchantment`] and + /// [`Biome`](azalea_registry::data::Biome). + /// + /// To get the key as an [`Identifier`], you can map the return value like + /// `.map(|r| r.into_ident())`. + /// + /// [`Enchantment`]: azalea_registry::data::Enchantment + pub fn resolve_registry_key<R: ResolvableDataRegistry>(&self, registry: &R) -> Option<R::Key> { + self.with_registry_holder(|registries| registry.key_owned(registries)) + } + /// Resolve the given registry to its name and data and call the given /// function with it. /// |
