pub struct ChickenVariantRegistry {
chicken_variants_by_id: Vec<ChickenVariantRef>,
chicken_variants_by_key: FxHashMap<Identifier, usize>,
allows_registering: bool,
}Fields§
§chicken_variants_by_id: Vec<ChickenVariantRef>§chicken_variants_by_key: FxHashMap<Identifier, usize>§allows_registering: boolImplementations§
Source§impl ChickenVariantRegistry
impl ChickenVariantRegistry
pub fn new() -> Self
pub fn select_spawn_variant( &self, biome: BiomeRef, random: &mut impl Random, ) -> Option<ChickenVariantRef>
Source§impl ChickenVariantRegistry
impl ChickenVariantRegistry
pub fn register(&mut self, entry: ChickenVariantRef) -> usize
pub fn iter(&self) -> impl Iterator<Item = (usize, ChickenVariantRef)> + '_
Trait Implementations§
Source§impl Default for ChickenVariantRegistry
impl Default for ChickenVariantRegistry
Source§impl RegistryExt for ChickenVariantRegistry
impl RegistryExt for ChickenVariantRegistry
type Entry = ChickenVariant
fn freeze(&mut self)
fn by_id(&self, id: usize) -> Option<&'static ChickenVariant>
fn by_key(&self, key: &Identifier) -> Option<&'static ChickenVariant>
fn id_from_key(&self, key: &Identifier) -> Option<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
Auto Trait Implementations§
impl Freeze for ChickenVariantRegistry
impl RefUnwindSafe for ChickenVariantRegistry
impl Send for ChickenVariantRegistry
impl Sync for ChickenVariantRegistry
impl Unpin for ChickenVariantRegistry
impl UnsafeUnpin for ChickenVariantRegistry
impl UnwindSafe for ChickenVariantRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>