pub struct PigVariantRegistry {
pig_variants_by_id: Vec<PigVariantRef>,
pig_variants_by_key: FxHashMap<Identifier, usize>,
allows_registering: bool,
}Fields§
§pig_variants_by_id: Vec<PigVariantRef>§pig_variants_by_key: FxHashMap<Identifier, usize>§allows_registering: boolImplementations§
Source§impl PigVariantRegistry
impl PigVariantRegistry
pub fn new() -> Self
pub fn select_spawn_variant( &self, biome: BiomeRef, random: &mut impl Random, ) -> Option<PigVariantRef>
Source§impl PigVariantRegistry
impl PigVariantRegistry
pub fn register(&mut self, entry: PigVariantRef) -> usize
pub fn iter(&self) -> impl Iterator<Item = (usize, PigVariantRef)> + '_
Trait Implementations§
Source§impl Default for PigVariantRegistry
impl Default for PigVariantRegistry
Source§impl RegistryExt for PigVariantRegistry
impl RegistryExt for PigVariantRegistry
type Entry = PigVariant
fn freeze(&mut self)
fn by_id(&self, id: usize) -> Option<&'static PigVariant>
fn by_key(&self, key: &Identifier) -> Option<&'static PigVariant>
fn id_from_key(&self, key: &Identifier) -> Option<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
Auto Trait Implementations§
impl Freeze for PigVariantRegistry
impl RefUnwindSafe for PigVariantRegistry
impl Send for PigVariantRegistry
impl Sync for PigVariantRegistry
impl Unpin for PigVariantRegistry
impl UnsafeUnpin for PigVariantRegistry
impl UnwindSafe for PigVariantRegistry
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<>>