Skip to main content

FluidTypeProperties

Struct FluidTypeProperties 

pub struct FluidTypeProperties {
    pub description_id: String,
    pub light_level: u8,
    pub fall_distance_modifier: f32,
    pub can_push_entity: bool,
    pub can_swim: bool,
    pub can_drown: bool,
    pub can_extinguish: bool,
    pub can_hydrate: bool,
    pub supports_boating: bool,
    pub explosion_resistance: f32,
    pub randomly_ticks: bool,
    pub drip_particle: Option<String>,
}
Expand description

What a registered fluid is, apart from any level or entity. Vanilla reads the entity behaviours off FluidTags.WATER and FluidTags.LAVA, so minecraft:flowing_water answers as minecraft:water. The empty fluid and a tank-only fluid emit no light, nothing can be done in them, their fall modifier scales nothing and they drip nothing and never tick randomly.

Fields§

§description_id: String

FluidType.getDescriptionId: fluid_type.<mod>.<name>, vanilla’s by its block (block.minecraft.water, block.minecraft.air for the empty fluid).

§light_level: u8

FluidType.getLightLevel: what the fluid’s block emits, 0 through 15.

§fall_distance_modifier: f32

FluidType.getFallDistanceModifier: what an entity’s fall distance is multiplied by each tick in the fluid: water’s 0 resets it, lava’s 0.5 halves it.

§can_push_entity: bool

FluidType.canPushEntity: whether its current moves entities.

§can_swim: bool

FluidType.canSwim: whether a sprinting entity swims in it.

§can_drown: bool

FluidType.canDrownIn: whether an entity’s air runs out with its eyes in it.

§can_extinguish: bool

FluidType.canExtinguish: whether it puts out a burning entity.

§can_hydrate: bool

FluidType.canHydrate: whether it keeps farmland wet.

§supports_boating: bool

FluidType.supportsBoating: whether a boat floats on it.

§explosion_resistance: f32

Fluid.getExplosionResistance: how much of an explosion’s power the fluid soaks up per block, 100 for water, lava and a mod’s world fluid, 0 for the empty fluid and a tank-only fluid. A flowing form answers as its source.

§randomly_ticks: bool

Fluid.isRandomlyTicking: whether the fluid takes random ticks, which only lava does.

§drip_particle: Option<String>

Fluid.getDripParticle: the particle id a block of the fluid drips beneath it (minecraft:dripping_water, minecraft:dripping_lava), none for any other fluid.

Trait Implementations§

§

impl Clone for FluidTypeProperties

§

fn clone(&self) -> FluidTypeProperties

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for FluidTypeProperties

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl PartialEq for FluidTypeProperties

§

fn eq(&self, other: &FluidTypeProperties) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
§

impl StructuralPartialEq for FluidTypeProperties

§

impl Wire for FluidTypeProperties

§

const MIN: usize

Minimum encoded size, used to reject impossible collection lengths.
§

fn put(&self, out: &mut Writer)

Encodes this value, recording failures on the writer.
§

fn put_owned(self, out: &mut Writer)

Consumes owned data when a resource’s ownership must cross the boundary.
§

fn take(input: &mut Reader<'_>) -> Result<FluidTypeProperties, WireError>

Decodes one value, leaving any following bytes for the caller.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Put for T
where T: Wire,

§

fn put_to(&self, out: &mut Writer)

Writes it.
§

impl<T> Record for T
where T: Wire,

§

fn encode(&self, out: &mut Writer)

Writes the argument into a hook call.
§

fn apply(&mut self, bytes: &[u8]) -> Result<(), WireError>

Applies one complete reply, refusing malformed or trailing bytes atomically.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.