pub(in worldgen::feature) struct BlockStateId(pub u16);Expand description
A raw block state id. Using the registry this id can be derived into a block and it’s current properties.
Tuple Fields§
§0: u16Trait Implementations§
Source§impl BlockStateBehaviorExt for BlockStateId
impl BlockStateBehaviorExt for BlockStateId
Source§fn is_liquid_container(&self) -> bool
fn is_liquid_container(&self) -> bool
Returns whether this block state belongs to a vanilla
LiquidBlockContainer.Source§fn can_be_replaced_by_fluid(&self, fluid_block: BlockRef) -> bool
fn can_be_replaced_by_fluid(&self, fluid_block: BlockRef) -> bool
Returns whether this block state can be replaced by the given fluid block.
Source§fn can_be_replaced(&self, context: &BlockPlaceContext<'_>) -> bool
fn can_be_replaced(&self, context: &BlockPlaceContext<'_>) -> bool
Returns whether this block state can be replaced in this placement context.
Source§fn is_pathfindable(&self, computation_type: PathComputationType) -> bool
fn is_pathfindable(&self, computation_type: PathComputationType) -> bool
Returns whether this block state is pathfindable for the supplied vanilla computation type.
§impl BlockStateExt for BlockStateId
impl BlockStateExt for BlockStateId
fn get_block(&self) -> &'static Block
fn with_properties_of(&self, source: BlockStateId) -> BlockStateId
fn is_air(&self) -> bool
§fn get_ticking_metadata(&self) -> BlockStateTickingMetadata
fn get_ticking_metadata(&self) -> BlockStateTickingMetadata
Returns Vanilla’s immutable cached fluid/random-tick metadata for this state.
§fn get_fluid_state(&self) -> FluidState
fn get_fluid_state(&self) -> FluidState
Mirrors Vanilla’s cached
BlockState.getFluidState().§fn is_randomly_ticking(&self) -> bool
fn is_randomly_ticking(&self) -> bool
Mirrors Vanilla’s cached
BlockState.isRandomlyTicking() for the block callback.§fn has_block_entity(&self) -> bool
fn has_block_entity(&self) -> bool
Returns whether this block structurally supports a block entity. Read more
fn get_value<P>(&self, property: &P) -> <P as Property>::Valuewhere
P: Property,
§fn try_get_value<P>(&self, property: &P) -> Option<<P as Property>::Value>where
P: Property,
fn try_get_value<P>(&self, property: &P) -> Option<<P as Property>::Value>where
P: Property,
Gets the value of a property, returning
None if the block doesn’t have this property.fn set_value<P>(
&self,
property: &P,
value: <P as Property>::Value,
) -> BlockStateIdwhere
P: Property,
fn copy_value<P, O>(&self, property: &P, other: &O) -> BlockStateIdwhere
P: Property,
O: BlockStateExt,
fn get_property_str(&self, name: &str) -> Option<String>
fn get_static_collision_shape(&self) -> VoxelShape
fn get_collision_shape_at(&self, pos: BlockPos) -> OffsetVoxelShape
fn get_static_support_shape(&self) -> VoxelShape
fn get_support_shape_at(&self, pos: BlockPos) -> OffsetVoxelShape
fn get_static_outline_shape(&self) -> VoxelShape
fn get_outline_shape_at(&self, pos: BlockPos) -> OffsetVoxelShape
fn get_occlusion_shape(&self) -> VoxelShape
fn get_static_interaction_shape(&self) -> VoxelShape
fn get_interaction_shape_at(&self, pos: BlockPos) -> OffsetVoxelShape
fn get_static_visual_shape(&self) -> VoxelShape
fn get_visual_shape_at(&self, pos: BlockPos) -> OffsetVoxelShape
§fn get_light_emission(&self) -> u8
fn get_light_emission(&self) -> u8
Returns this block state’s block light emission, in vanilla’s 0-15 range.
§fn get_light_dampening(&self) -> u8
fn get_light_dampening(&self) -> u8
Returns this block state’s light dampening, in vanilla’s 0-15 range.
§fn use_shape_for_light_occlusion(&self) -> bool
fn use_shape_for_light_occlusion(&self) -> bool
Returns true if vanilla uses face shapes for light occlusion on this state.
§fn get_offset(&self, pos: BlockPos) -> DVec3
fn get_offset(&self, pos: BlockPos) -> DVec3
Mirrors vanilla
BlockState.getOffset(BlockPos).§fn is_face_sturdy_at(&self, pos: BlockPos, direction: Direction) -> bool
fn is_face_sturdy_at(&self, pos: BlockPos, direction: Direction) -> bool
Checks if this block face is sturdy enough to support other blocks.
Uses
SupportType::Full by default.§fn is_face_sturdy_for_at(
&self,
pos: BlockPos,
direction: Direction,
support_type: SupportType,
) -> bool
fn is_face_sturdy_for_at( &self, pos: BlockPos, direction: Direction, support_type: SupportType, ) -> bool
Checks if this block face is sturdy for the given support type.
§fn is_solid(&self) -> bool
fn is_solid(&self) -> bool
Checks if this block state is solid (has a full cube collision shape). Read more
§fn blocks_motion(&self) -> bool
fn blocks_motion(&self) -> bool
Checks if this block state blocks motion. Read more
§fn is_solid_render(&self) -> bool
fn is_solid_render(&self) -> bool
Checks if this block state renders as a full solid cube. Read more
§fn is_suffocating(&self) -> bool
fn is_suffocating(&self) -> bool
Returns vanilla
BlockState.isSuffocating.§fn is_static_redstone_conductor(&self) -> bool
fn is_static_redstone_conductor(&self) -> bool
Returns the extracted static
BlockState.isRedstoneConductor value.
Dynamic behavior queries must also receive the live level and position.§fn is_replaceable(&self) -> bool
fn is_replaceable(&self) -> bool
Returns if a block can be replaced extracted from the minecraft data
Source§impl Clone for BlockStateId
impl Clone for BlockStateId
Source§fn clone(&self) -> BlockStateId
fn clone(&self) -> BlockStateId
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BlockStateId
Source§impl Debug for BlockStateId
impl Debug for BlockStateId
Source§impl Default for BlockStateId
impl Default for BlockStateId
Source§fn default() -> BlockStateId
fn default() -> BlockStateId
Returns the “default value” for a type. Read more
impl Eq for BlockStateId
Source§impl Hash for BlockStateId
impl Hash for BlockStateId
Source§impl PartialEq for BlockStateId
impl PartialEq for BlockStateId
Source§impl ReadFrom for BlockStateId
impl ReadFrom for BlockStateId
impl StructuralPartialEq for BlockStateId
Source§impl ToGlobalId for BlockStateId
impl ToGlobalId for BlockStateId
Source§fn to_global_id(&self) -> u32
fn to_global_id(&self) -> u32
Converts the value to a global ID.
Auto Trait Implementations§
impl Freeze for BlockStateId
impl RefUnwindSafe for BlockStateId
impl Send for BlockStateId
impl Sync for BlockStateId
impl Unpin for BlockStateId
impl UnsafeUnpin for BlockStateId
impl UnwindSafe for BlockStateId
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compares
self with key and returns true if they are equal.§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<>>