pub struct PotionContents {
potion: Option<RegistryReference<Potion>>,
custom_color: Option<i32>,
custom_effects: Vec<MobEffectInstance>,
custom_name: Option<String>,
}Expand description
A registered base potion plus optional custom display and effect data.
Fields§
§potion: Option<RegistryReference<Potion>>§custom_color: Option<i32>§custom_effects: Vec<MobEffectInstance>§custom_name: Option<String>Implementations§
Source§impl PotionContents
impl PotionContents
const MAX_NETWORK_STRING_LENGTH: usize = 32_767
pub const fn empty() -> Self
pub const fn new( potion: Option<RegistryReference<Potion>>, custom_color: Option<i32>, custom_effects: Vec<MobEffectInstance>, custom_name: Option<String>, ) -> Self
pub const fn of(potion: PotionRef) -> Self
pub fn create_item_stack(item: ItemRef, potion: PotionRef) -> ItemStack
pub const fn potion(&self) -> Option<RegistryReference<Potion>>
pub const fn custom_color(&self) -> Option<i32>
pub fn custom_effects(&self) -> &[MobEffectInstance]
pub fn custom_name(&self) -> Option<&str>
pub fn is(&self, potion: &Potion) -> bool
Sourcepub fn is_in_tag(&self, tag: &Identifier) -> bool
pub fn is_in_tag(&self, tag: &Identifier) -> bool
Whether the base potion is in tag and there are no custom effects.
Sourcepub fn all_effects(&self) -> Vec<MobEffectInstance>
pub fn all_effects(&self) -> Vec<MobEffectInstance>
Returns vanilla PotionContents.getAllEffects(): the base potion’s
effects followed by the custom effects.
Sourcepub fn has_effects(&self) -> bool
pub fn has_effects(&self) -> bool
Whether the base potion or the custom effects contain any effect.
Sourcepub fn get_color_or(&self, default_color: i32) -> i32
pub fn get_color_or(&self, default_color: i32) -> i32
Returns the custom color, else the color blended from the effects,
else default_color.
Sourcefn color_from_effects(effects: &[MobEffectInstance]) -> Option<i32>
fn color_from_effects(effects: &[MobEffectInstance]) -> Option<i32>
Blends visible effect colors weighted by amplifier + 1 and returns None when no effect is visible
fn to_nbt_tag_ref(&self) -> NbtTag
fn from_owned_nbt(tag: &NbtTag) -> Option<Self>
Trait Implementations§
Source§impl Clone for PotionContents
impl Clone for PotionContents
Source§impl Debug for PotionContents
impl Debug for PotionContents
Source§impl Default for PotionContents
impl Default for PotionContents
Source§impl DowncastType for PotionContents
impl DowncastType for PotionContents
Source§const TYPE_KEY: DowncastTypeKey
const TYPE_KEY: DowncastTypeKey
The process-wide key for this concrete type.
Source§impl FromNbtTag for PotionContents
impl FromNbtTag for PotionContents
fn from_nbt_tag(tag: NbtTag<'_, '_>) -> Option<Self>
fn from_optional_nbt_tag( tag: Option<NbtTag<'_, '_>>, ) -> Result<Option<Self>, DeserializeError>
Source§impl HashComponent for PotionContents
impl HashComponent for PotionContents
Source§fn hash_component(&self, hasher: &mut ComponentHasher)
fn hash_component(&self, hasher: &mut ComponentHasher)
Hashes this value into the given hasher.
Source§fn compute_hash(&self) -> i32
fn compute_hash(&self) -> i32
Computes the hash of this value.
Source§impl PartialEq for PotionContents
impl PartialEq for PotionContents
Source§impl ReadFrom for PotionContents
impl ReadFrom for PotionContents
impl StructuralPartialEq for PotionContents
Source§impl ToNbtTag for PotionContents
impl ToNbtTag for PotionContents
fn to_nbt_tag(self) -> NbtTag
fn to_optional_nbt_tag(self) -> Option<NbtTag>
Auto Trait Implementations§
impl Freeze for PotionContents
impl RefUnwindSafe for PotionContents
impl Send for PotionContents
impl Sync for PotionContents
impl Unpin for PotionContents
impl UnsafeUnpin for PotionContents
impl UnwindSafe for PotionContents
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Component for T
impl<T> Component for T
fn clone_component(&self) -> Box<dyn Component>
fn component_eq(&self, other: &(dyn Component + 'static)) -> bool
Source§impl<T> Downcast for Twhere
T: ErasedType + ?Sized,
impl<T> Downcast for Twhere
T: ErasedType + ?Sized,
Source§fn is<T>(&self) -> boolwhere
T: DowncastType,
fn is<T>(&self) -> boolwhere
T: DowncastType,
Returns whether the erased value has concrete type
T.Source§fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastType,
fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastType,
Returns the erased value as
T when its key matches.Source§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: DowncastType,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: DowncastType,
Returns the erased value as mutable
T when its key matches.Source§impl<T> ErasedType for Twhere
T: DowncastType,
impl<T> ErasedType for Twhere
T: DowncastType,
fn downcast_type_key(&self) -> DowncastTypeKey
fn downcast_data(&self) -> *const ()
fn downcast_data_mut(&mut self) -> *mut ()
§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<>>