Skip to main content

Player

Struct Player 

Source
pub struct Player {
Show 36 fields pub gameprofile: GameProfile, pub connection: Arc<PlayerConnection>, pub world: ArcSwap<World>, pub(crate) server: Weak<Server>, pub(crate) config: Arc<RuntimeConfig>, base: EntityBase, lifecycle: SyncMutex<PlayerLifecycleState>, pub(crate) movement: SyncMutex<MovementState>, entity_data: SyncMutex<PlayerEntityData>, pub last_chunk_pos: SyncMutex<ChunkPos>, pub last_tracking_view: SyncMutex<Option<PlayerChunkView>>, pub chunk_sender: SyncMutex<ChunkSender>, client_information: SyncMutex<ClientInformation>, pub chat: SyncMutex<ChatState>, game_modes: SyncMutex<PlayerGameModeState>, pub inventory: Shared<PlayerInventory>, inventory_sync: SyncMutex<PlayerInventorySyncState>, last_item_in_main_hand: SyncMutex<ItemStack>, inventory_menu: SyncMutex<Menu>, open_menu: SyncMutex<OpenMenuState>, container_counter: SyncMutex<ContainerCounter>, teleport_state: SyncMutex<TeleportState>, item_cooldowns: SyncMutex<ItemCooldowns>, tick_state: SyncMutex<PlayerTickState>, pub abilities: SyncMutex<Abilities>, pub block_breaking: SyncMutex<BlockBreakingManager>, living_base: LivingEntityBase, pub food_data: SyncMutex<FoodData>, health_sync: SyncMutex<HealthSyncState>, pub experience: SyncMutex<Experience>, permissions: SyncMutex<PlayerPermissionState>, seen_credits: SyncMutex<bool>, won_game: SyncMutex<bool>, pub chunk_send_epoch: SyncMutex<u32>, residence: SyncMutex<PlayerResidenceState>, ender_pearls: SyncMutex<Vec<Weak<dyn Entity>>>,
}
Expand description

A struct representing a player.

Fields§

§gameprofile: GameProfile

The player’s game profile.

§connection: Arc<PlayerConnection>

The player’s connection (abstracted for testing).

§world: ArcSwap<World>

The world the player is in.

§server: Weak<Server>

Reference to the server (for entity ID generation, etc.).

§config: Arc<RuntimeConfig>

Runtime configuration shared with the server.

§base: EntityBase

Common entity fields (id, uuid, position, rotation, removal, callback).

§lifecycle: SyncMutex<PlayerLifecycleState>

Client lifecycle flags.

§movement: SyncMutex<MovementState>

Movement tracking state

§entity_data: SyncMutex<PlayerEntityData>

Synchronized entity data (health, pose, flags, etc.) for network sync.

§last_chunk_pos: SyncMutex<ChunkPos>

The last chunk position of the player.

§last_tracking_view: SyncMutex<Option<PlayerChunkView>>

The last chunk tracking view of the player.

§chunk_sender: SyncMutex<ChunkSender>

The chunk sender for the player.

§client_information: SyncMutex<ClientInformation>

The client’s settings/information (language, view distance, chat visibility, etc.). Updated when the client sends SClientInformation during config or play phase.

§chat: SyncMutex<ChatState>

Chat state: message counters, signature cache, validator, session, chain.

§game_modes: SyncMutex<PlayerGameModeState>

Current and previous game mode.

§inventory: Shared<PlayerInventory>

The player’s inventory container (shared with inventory_menu).

§inventory_sync: SyncMutex<PlayerInventorySyncState>

Logical inventory slots that must be resent directly to this player’s client.

§last_item_in_main_hand: SyncMutex<ItemStack>

Last main-hand stack used for vanilla attack-strength reset checks.

§inventory_menu: SyncMutex<Menu>

The player’s inventory menu (always open, even when container_id is 0).

§open_menu: SyncMutex<OpenMenuState>

The currently open menu (None if player inventory is open). This is separate from inventory_menu which is always present.

§container_counter: SyncMutex<ContainerCounter>

Counter for generating container IDs (1-100, wraps around).

§teleport_state: SyncMutex<TeleportState>

Pending server-initiated teleport state (ID, position, timeout).

§item_cooldowns: SyncMutex<ItemCooldowns>

Vanilla item use cooldown groups.

§tick_state: SyncMutex<PlayerTickState>

Local tick and once-per-tick packet state.

§abilities: SyncMutex<Abilities>

Player abilities (flight, invulnerability, build permissions, speeds, etc.)

§block_breaking: SyncMutex<BlockBreakingManager>

Block breaking state machine.

§living_base: LivingEntityBase

Shared living-entity runtime fields (attributes, speed, damage/death state). Vanilla: LivingEntity (L230-232) + Entity.invulnerableTime (L256).

§food_data: SyncMutex<FoodData>

Player food/hunger state (food level, saturation, exhaustion).

§health_sync: SyncMutex<HealthSyncState>

Delta-tracking state for CSetHealth deduplication.

§experience: SyncMutex<Experience>

The Player’s Experience

§permissions: SyncMutex<PlayerPermissionState>

Assigned groups, direct overrides, and the effective permission set.

§seen_credits: SyncMutex<bool>

Whether the player has completed the vanilla End credits flow.

§won_game: SyncMutex<bool>

Vanilla ServerPlayer.wonGame; transient while the End credits screen is open.

§chunk_send_epoch: SyncMutex<u32>

Monotonic counter bumped on world teleport/reset. The chunk sending tick snapshots this before encoding and compares after to detect stale batches.

§residence: SyncMutex<PlayerResidenceState>

Domain-residence identity and persisted entities awaiting restoration.

§ender_pearls: SyncMutex<Vec<Weak<dyn Entity>>>

In-flight ender pearls thrown by this player, kept weakly so they persist with the player and re-spawn on login (vanilla ServerPlayer.enderPearls).

Implementations§

Source§

impl Player

Source

pub fn send_abilities(&self)

Sends the player abilities packet to the client. This tells the client about flight, invulnerability, speeds, etc.

Source

pub fn is_flying(&self) -> bool

Returns true if the player is flying (creative/spectator flight).

Source

pub fn set_flying(&self, flying: bool)

Sets the player’s flying state.

Source

pub fn get_flying_speed(&self) -> f32

Returns the player’s flying speed.

Source

pub fn set_flying_speed(&self, speed: f32)

Sets the player’s flying speed.

Source

pub fn get_abilities(&self) -> Abilities

Returns a copy of the player’s abilities.

Source

pub fn handle_player_abilities(&self, packet: SPlayerAbilities)

Handles the player abilities packet from the client. This is sent when the player starts or stops flying.

Source§

impl Player

Source

pub fn tick_spam_throttlers(&self)

Decays the per player chat and command spam counters once per server tick

Source

const fn should_disconnect_for_rate_spam( throttler: &mut TickThrottler, is_operator: bool, ) -> bool

Source

pub fn detect_command_rate_spam(&self)

Applies Vanilla command spam accounting after a command is handled

Source

fn detect_chat_rate_spam(&self)

Source

pub fn get_and_increment_messages_received(&self) -> i32

Gets the next messages_received counter and increments it

Source

fn verify_chat_signature( &self, packet: &SChat, ) -> Result<(SignedMessageLink, LastSeen), String>

Source

pub fn handle_chat(&self, packet: SChat, player: Arc<Player>)

Handles a chat message from the player.

Source

pub fn send_message(&self, text: &TextComponent)

Sends a system message to the player.

Source

pub fn set_chat_session(&self, session: RemoteChatSession)

Updates the player’s chat session and initializes the message chain.

This should be called when receiving a ChatSessionUpdate packet from the client.

Source

pub fn chat_session(&self) -> Option<RemoteChatSession>

Gets a reference to the player’s chat session if present

Source

pub fn has_chat_session(&self) -> bool

Checks if the player has a valid chat session

Source

pub fn handle_chat_session_update(&self, packet: SChatSessionUpdate)

Handles a chat session update packet from the client.

This validates the player’s profile key and initializes signed chat if valid.

Source

pub fn handle_chat_ack(&self, packet: SChatAck)

Handles a chat acknowledgment packet from the client.

Source§

impl Player

Source

pub fn send_packet<P: ClientPacket>(&self, packet: P)

Sends a packet to the player’s connection.

This is a generic helper that encodes the packet and delegates to the connection’s send_encoded method, enabling object-safe packet sending.

§Panics

Panics if the packet fails to encode.

Source

pub fn send_bundle<F>(&self, f: F)
where F: FnOnce(&mut BundleBuilder),

Sends multiple packets as an atomic bundle.

The closure receives a BundleBuilder to add packets to. All packets are encoded, then sent wrapped in bundle delimiters so the client processes them together in a single game tick.

Source

pub fn disconnect(&self, reason: impl Into<TextComponent>)

Disconnects the player with a reason message.

Source

pub fn close_connection(&self)

Marks the player’s connection as closed without sending a disconnect packet.

Used during shutdown so that container-close logic treats the player as disconnected — dropping open-menu contents into the world instead of the saved inventory, matching vanilla’s removal-on-shutdown behavior.

Source

pub fn handle_client_information(&self, packet: SClientInformation)

Handles client information updates during play phase.

Source

pub fn client_information(&self) -> ClientInformation

Returns the player’s client information settings.

Source

pub fn set_client_information(&self, info: ClientInformation)

Updates the player’s client information settings.

Source

pub fn view_distance(&self) -> u8

Returns the effective view distance for this player.

This is the minimum of the client’s requested view distance and the server’s configured maximum view distance.

Source§

impl Player

Source

pub(super) const fn dimensions_for_pose(pose: EntityPose) -> EntityDimensions

Returns vanilla Avatar.POSES dimensions for a player pose.

Source

fn bounding_box_for_pose(&self, pose: EntityPose) -> WorldAabb

Source

fn can_player_fit_within_blocks_and_entities_when( &self, pose: EntityPose, ) -> bool

Source

pub(super) fn reset_entity_state(&self)

Source

pub fn is_crouching(&self) -> bool

Returns true if the player is shifting (sneaking).

Source

pub fn set_crouching(&self, crouching: bool)

Sets whether the player is shifting (sneaking).

Source

pub fn is_swimming(&self) -> bool

Returns true if vanilla player rules consider the player swimming.

Source

pub fn is_fall_flying(&self) -> bool

Returns true if the player is currently fall flying (elytra).

Source

pub(super) fn on_climbable(&self) -> bool

Returns true if vanilla rules consider this player to be on a climbable block.

Source

pub fn set_fall_flying(&self, fall_flying: bool)

Sets the player’s fall flying state.

Source

pub(super) fn get_desired_pose(&self) -> EntityPose

Determines the desired pose based on current player state. Priority: Sleeping > Swimming > FallFlying > Sneaking > Standing

Source

pub(super) fn update_pose(&self)

Updates the player’s pose in entity data based on current state.

Source§

impl Player

Source

pub fn score(&self) -> i32

Returns the player’s vanilla death-screen score.

Source

pub fn set_score(&self, score: i32)

Sets the player’s vanilla death-screen score.

Source

fn increase_score(&self, amount: i32)

Source

pub(crate) fn give_experience_points(&self, points: i32)

Gives raw experience points to this player.

Source

pub(crate) fn give_experience_levels(&self, levels: i32)

Gives experience levels to this player.

Source

fn play_experience_level_up_sound(&self, level: i32)

Source

pub(super) fn advance_tick(&self)

Advances this player’s local server tick count.

Source§

impl Player

Source

pub(super) fn tick_regeneration(&self)

Ticks food/hunger regeneration and starvation.

Source

pub fn cause_food_exhaustion(&self, amount: f32)

Adds food exhaustion, gated by invulnerability.

Source

pub fn is_hurt(&self) -> bool

Returns true if the player is alive but below max health.

Source§

impl Player

Source

pub(super) fn block_action_restricted( &self, world: &World, pos: BlockPos, ) -> bool

Mirrors vanilla Player.blockActionRestricted for block breaking.

Source

fn can_break_block_in_adventure_mode( predicate: &AdventureModePredicate, world: &World, pos: BlockPos, ) -> bool

Source§

impl Player

Source

fn send_block_updates(&self, pos: BlockPos, direction: Direction)

Sends block update packets for a position and its neighbor. Optionally also sends an update for an additional placement position (useful for items like buckets that place blocks at different positions).

Source

pub fn swing(&self, hand: InteractionHand, update_self: bool)

Triggers arm swing animation and broadcasts it to tracking players.

Source

pub fn handle_use_item_on(&self, packet: SUseItemOn)

Handles the use of an item on a block.

Implements the logic from Java’s ServerGamePacketListenerImpl.handleUseItemOn().

Source

pub fn handle_player_action(&self, packet: SPlayerAction)

Handles a player action packet (block breaking, item dropping, etc.).

Source

pub fn handle_pick_item_from_block(&self, packet: SPickItemFromBlock)

Handles the pick block action (middle click on a block).

§Panics

Panics if the behavior registry has not been initialized.

Source

pub fn handle_sign_update(&self, packet: SSignUpdate)

Handles a sign update packet from the client.

Source

pub fn open_sign_editor(&self, pos: BlockPos, is_front_text: bool)

Opens the sign editor for the player.

§Arguments
  • pos - Position of the sign block
  • is_front_text - Whether to edit front (true) or back (false) text
Source§

impl Player

Source

fn invalid_entity_attacked_message() -> TextComponent

Source

fn eye_position(&self) -> DVec3

Source

fn damage_source_for_attack_type( &self, damage_type: &'static DamageType, ) -> DamageSource

Source

fn attack_damage_source(&self, attacking_item: &ItemStack) -> DamageSource

Source

pub(in player) fn tick_attack_strength( &self, )

Ticks vanilla attack-strength recovery and resets it on main-hand item changes.

Source

fn reset_attack_strength_ticker(&self)

Source

fn current_item_attack_strength_delay(&self) -> f32

Source

fn attack_strength_delay_from_speed(attack_speed: f64) -> f32

Source

pub fn attack_strength_scale(&self, partial_tick: f32) -> f32

Returns vanilla Player.getAttackStrengthScale.

Source

fn attack_strength_scale_for_delay( &self, partial_tick: f32, attack_strength_delay: f32, ) -> f32

Source

fn base_damage_scale_factor(attack_strength_scale: f32) -> f32

Source

fn get_knockback( attack_knockback: f64, weapon: &ItemStack, enchantment_context: &EnchantmentDamageContext<'_>, ) -> f64

Source

fn cause_extra_knockback( &self, entity: &dyn Entity, knockback_amount: f64, old_movement: DVec3, )

Source

fn entity_interaction_range(&self) -> f64

Source

pub fn is_within_attack_range_with_buffer( &self, item_stack: &ItemStack, aabb: WorldAabb, buffer: f64, ) -> bool

Returns true if the target box is within the player’s attack range for item_stack.

Source

pub fn is_within_entity_interaction_range_with_buffer( &self, aabb: WorldAabb, buffer: f64, ) -> bool

Returns true if the target box is within the player’s entity interaction range.

Source

fn attack_range_for_item(&self, item_stack: &ItemStack) -> (f64, f64, f64)

Source

fn piercing_hit_entities( &self, item_stack: &ItemStack, world: &World, ) -> Vec<SharedEntity>

Source

fn can_piercing_hit_entity(&self, target: &dyn Entity) -> bool

Source

pub(super) fn piercing_attack( &self, item_stack: &ItemStack, piercing_weapon: &PiercingWeapon, )

Source

fn stab_attack( &self, target: &SharedEntity, base_damage: f32, deals_damage: bool, deals_knockback: bool, dismounts: bool, ) -> bool

Source

fn play_sound_holder(&self, holder: Option<&SoundEventHolder>)

Source

fn cannot_attack(&self, entity: &dyn Entity) -> bool

Source

pub fn attack(&self, target: &SharedEntity) -> bool

Attacks an entity with the player’s main-hand base damage.

Returns true if the target accepted damage.

Source

fn item_attack_interaction( &self, entity: &dyn Entity, damage_source: &DamageSource, apply_to_target: bool, )

Source

pub fn interact_on( &self, entity: &dyn Entity, hand: InteractionHand, location: DVec3, ) -> InteractionResult

Interacts with an entity using the held item.

Source

pub fn handle_attack(&self, packet: SAttack)

Handles a client request to attack an entity.

Source

pub(super) fn cannot_attack_with_item( &self, item_stack: &ItemStack, tolerance: i32, ) -> bool

Source

pub(super) fn is_invalid_attack_target( player_id: i32, target_id: i32, target_type: EntityTypeRef, ) -> bool

Source

pub fn handle_interact(&self, packet: SInteract)

Handles a client request to interact with an entity.

Source§

impl Player

Source

pub fn handle_use_item(&self, packet: SUseItem)

Handles the use of an item.

Source§

impl Player

Source

pub fn set_game_mode(&self, gamemode: GameType) -> bool

Sets the player’s game mode and notifies the client.

Returns true if the game mode was changed, false if the player was already in the requested game mode.

Source

fn update_game_mode_invisibility(&self)

Source

fn is_in_range_of_ground_for_flight_disable(&self) -> bool

Source

pub fn send_difficulty(&self)

Sends the current world difficulty to the client.

Source

pub fn handle_change_difficulty(&self, difficulty: Difficulty)

Handles a client request to change the world difficulty.

Source

pub(in player) fn update_player_attributes( &self, )

Updates interaction range attribute modifiers based on game mode.

Vanilla: ServerPlayer.updatePlayerAttributes() — applies creative-mode range modifiers every tick.

Source

pub fn has_infinite_materials(&self) -> bool

Returns true if player has infinite materials (Creative mode).

Source

pub fn ack_block_changes_up_to(&self, sequence: i32)

Acknowledges block changes up to the given sequence number.

The ack is batched and sent once per tick (in tick_ack_block_changes), matching vanilla behavior.

Source

pub(in player) fn tick_ack_block_changes( &self, )

Sends pending block change ack if any. Called once per tick.

Source

pub fn is_within_block_interaction_range(&self, pos: BlockPos) -> bool

Returns true if player is within block interaction range.

Uses eye position and AABB distance (nearest point on block surface), matching vanilla’s Player.isWithinBlockInteractionRange(pos, 1.0).

Source

pub fn is_within_block_interaction_range_with_buffer( &self, pos: BlockPos, buffer: f64, ) -> bool

Returns true if player is within block interaction range plus a vanilla buffer.

Source

pub fn is_within_entity_interaction_range( &self, aabb: WorldAabb, buffer: f64, ) -> bool

Returns true if the player’s eye position is within entity interaction range.

Source

pub fn handle_spectator_action(&self, packet: SSpectatorAction)

Handles spectator camera selection.

Source

pub fn is_secondary_use_active(&self) -> bool

Returns true if player is sneaking (secondary use active).

Source§

impl Player

Source

pub fn reset_sent_info(&self)

Invalidates the delta-tracking state so that the next tick() will send CSetHealth to the client (vanilla: resetSentInfo).

Source§

impl Player

Source

pub fn is_item_on_cooldown(&self, stack: &ItemStack) -> bool

Returns whether the stack’s vanilla cooldown group is currently active.

Source

pub fn apply_item_use_cooldown(&self, stack: &ItemStack)

Starts the stack’s vanilla use_cooldown, if it has one.

Source

pub(super) fn tick_item_cooldowns(&self)

Source§

impl Player

Source

fn begin_respawn_request(&self) -> Option<PendingWorldChangeToken>

Source

fn finish_respawn_request(&self, token: PendingWorldChangeToken)

Source

pub fn respawn(&self)

TODO: personal respawn blocks/anchors and noRespawnBlockAvailable.

Source

fn finish_death_respawn( self: &Arc<Self>, source_world: &Arc<World>, target_world: &Arc<World>, spawn: DeathRespawnSpawn, pending_token: PendingWorldChangeToken, )

Source

fn finish_end_credits_respawn( self: &Arc<Self>, source_world: &Arc<World>, target_world: &Arc<World>, spawn: DeathRespawnSpawn, pending_token: PendingWorldChangeToken, )

Source

fn finish_failed_respawn( self: &Arc<Self>, target_world: &Arc<World>, pending_token: PendingWorldChangeToken, )

Source

fn reset_state_for_death_respawn_during_world_change( &self, pending_token: PendingWorldChangeToken, )

Source

fn reset_state_for_death_respawn_inner( &self, pending_token: Option<PendingWorldChangeToken>, )

Source

fn detach_relationships_for_respawn(&self)

Source

pub fn handle_client_command(self: &Arc<Self>, action: ClientCommandAction)

Handles client commands, requestStats and RequestGameRuleValues are still todo

Source

pub(in player) const fn should_process_respawn( health: f32, ) -> bool

Vanilla accepts a client respawn request only when player health is dead-or-dying. Steel’s death-processed guard is not respawn authority.

Source

pub fn has_seen_credits(&self) -> bool

Returns vanilla ServerPlayer.seenCredits.

Source

pub fn set_seen_credits(&self, seen_credits: bool)

Sets vanilla ServerPlayer.seenCredits.

Source

pub(crate) fn has_won_game(&self) -> bool

Returns vanilla ServerPlayer.wonGame.

Source

fn set_won_game(&self, won_game: bool)

Source

pub(crate) fn show_end_credits(&self)

Starts the vanilla End credits flow.

Source

fn respawn_after_end_credits(self: &Arc<Self>)

Source§

impl Player

Source

pub(crate) fn reset( self: &Arc<Self>, new_world: Arc<World>, reason: ResetReason, )

Resets the player’s transient state and prepares them for a new world.

This is the shared “clean slate” path used by initial join, respawn, and world change. If the player is currently in a different world, they are removed from the old world first.

Vanilla creates a fresh ServerPlayer for death and End-credits respawns, but reuses it for dimension changes. Steel reuses the same Player for every path, so this resets only the transient state appropriate to reason.

Source

pub(crate) fn reset_after_detached_domain_restore<F>( self: &Arc<Self>, new_world: Arc<World>, restore_state: F, )
where F: FnOnce(),

Resets a player already detached from its source domain and restores target-domain state.

Source

fn reset_inner_after<F>( self: &Arc<Self>, new_world: Arc<World>, reason: ResetReason, source_world_detached: bool, restore_state: F, )
where F: FnOnce(),

Source

pub(crate) fn spawn( self: &Arc<Self>, position: DVec3, rotation: (f32, f32), reason: ResetReason, ) -> bool

Spawns the player into their current world at the given position.

This is the shared “enter world” path used by initial join, respawn, and world change. Sends position sync, abilities, inventory, time, weather, and adds the player to the world as appropriate for the given reason.

§Panics

Panics if the advance_time gamerule is not a bool.

Source

pub(crate) fn spawn_with_velocity( self: &Arc<Self>, position: DVec3, rotation: (f32, f32), velocity: DVec3, reason: ResetReason, ) -> bool

Source

pub(crate) fn spawn_with_velocity_packet( self: &Arc<Self>, position: DVec3, rotation: (f32, f32), velocity: DVec3, reason: ResetReason, packet_position: DVec3, packet_rotation: (f32, f32), packet_velocity: DVec3, relatives: RelativeMovement, ) -> bool

Source

fn send_spawn_state_packets(&self, world: &World)

Source

fn send_time_sync(&self, world: &World)

Source

fn send_default_spawn_position(&self, world: &World)

Source

fn send_weather_sync(&self, world: &World)

Source

pub(in player) fn passenger_ids_for_packet( entity: &dyn Entity, ) -> Vec<i32>

Source

pub(in player) fn send_mob_effect_sync_packet( &self, packet: MobEffectSyncPacket, )

Source

fn send_active_effects_for_self(&self)

Source

pub(in player) fn send_active_effects_for_vehicle( &self, vehicle: &dyn Entity, )

Source

pub(crate) fn send_restored_vehicle_mount_sync(&self, vehicle: &dyn Entity)

Source

pub(in player) fn remove_active_effects_for_vehicle( &self, vehicle: &dyn Entity, )

Source§

impl Player

Source

fn apply_post_teleport_transition( &self, post_transition: &TeleportPostTransition, )

Source

pub(crate) fn change_world_within_domain( self: &Arc<Self>, teleport_transition: &TeleportTransition, ) -> bool

Applies an ordinary player transition that has already passed server world-change checks. Cross-domain player state is restored only by the domain-switch workflow.

Source§

impl Player

Source

pub(crate) fn set_world(&self, world: Arc<World>)

Sets the world the player is in.

This is used when the correct world isn’t known at construction time (e.g., when loading saved player data determines the actual world).

Source

pub(crate) fn begin_domain_switch(&self, token: PendingWorldChangeToken) -> bool

Marks the player as switching domains if they are not already in a transition.

Source

pub(crate) fn is_domain_switch_queued( &self, token: PendingWorldChangeToken, ) -> bool

Returns whether the queued domain switch still owns this token.

Source

pub(crate) fn is_domain_switch_detached( &self, token: PendingWorldChangeToken, ) -> bool

Returns whether the detached domain switch still owns this token.

Source

pub(crate) fn mark_domain_switch_detached( &self, token: PendingWorldChangeToken, ) -> bool

Marks the token-owned domain switch as detached from its source world.

Source

pub(crate) fn mark_domain_switch_target_handshake( &self, token: PendingWorldChangeToken, ) -> bool

Opens only target-world acknowledgement packets before target insertion completes.

Source

pub(crate) fn mark_domain_switch_live( &self, token: PendingWorldChangeToken, ) -> bool

Marks the token-owned domain switch as live in its target world.

Source

pub(crate) fn finish_domain_switch( &self, token: PendingWorldChangeToken, ) -> bool

Clears a domain switch only if the caller still owns it.

Source

pub(crate) fn begin_respawn_transition( &self, token: PendingWorldChangeToken, ) -> bool

Marks a token as owning respawn preparation if no player transition is active.

Source

pub(crate) fn is_respawn_transition_pending( &self, token: PendingWorldChangeToken, ) -> bool

Returns whether respawn preparation still owns this token.

Source

pub(crate) fn finish_respawn_transition( &self, token: PendingWorldChangeToken, ) -> bool

Clears respawn preparation only if the caller still owns it.

Source

pub(crate) fn finish_player_transition( &self, token: PendingWorldChangeToken, ) -> bool

Clears either player transition kind only if the caller owns its token.

Source

pub(crate) fn defer_death_respawn(&self)

Source

pub(crate) fn retry_deferred_death_respawn(&self)

Source

pub fn is_domain_switching(&self) -> bool

Returns whether this player is currently switching domains.

Source

pub(crate) fn domain_switch_blocks_gameplay(&self) -> bool

Returns whether the current domain-switch phase blocks gameplay work.

Source

pub(crate) fn gate_domain_switch_packet( &self, handshake_packet: bool, perform_respawn: bool, ) -> bool

Gates a packet against the current domain phase.

A dead player’s one-shot respawn request is retained while a queued or detached switch blocks normal gameplay packets.

Source

pub fn has_joined_world(&self) -> bool

Returns whether the server has inserted this player into a world.

Source

pub(crate) fn mark_joined_world(&self) -> bool

Marks this player as inserted into a world.

Returns true when a client-loaded acknowledgement arrived before world admission and was applied by this call.

Source

pub fn has_client_loaded(&self) -> bool

Returns whether the client has sent its play-loaded signal.

Source

pub fn set_client_loaded(&self, client_loaded: bool)

Marks whether the client has loaded into play.

Source

pub fn mark_client_loaded_from_network(&self) -> bool

Applies or buffers the client’s play-loaded acknowledgement.

Returns true when the acknowledgement can run gameplay side effects now.

Source

pub(super) fn tick_client_load_timeout(&self)

Source§

impl Player

Source

const fn is_invalid_position( x: f64, y: f64, z: f64, rot_x: f32, rot_y: f32, ) -> bool

Source

fn move_vehicle_packet_from_entity(entity: &dyn Entity) -> CMoveVehicle

Source

fn update_awaiting_teleport(&self) -> bool

Checks if we’re awaiting a teleport confirmation and handles timeout/resend.

Returns true if awaiting teleport (movement should be rejected), false if normal movement processing should continue.

Source

pub fn apply_post_impulse_grace_time(&self, ticks: i32)

Applies vanilla post-impulse movement validation grace.

Source

pub(super) fn reset_vehicle_movement_for_tick(&self)

Resets per-tick vanilla movement validation bases for the controlled root vehicle.

Source

fn should_validate_movement(world: &World, is_fall_flying: bool) -> bool

Checks if movement validation should be performed for this player.

Matches vanilla’s ServerGamePacketListenerImpl.shouldValidateMovement(). Uses the playerMovementCheck and elytraMovementCheck gamerules.

Returns true if movement should be validated, false to skip validation.

Source

pub fn handle_move_player(&self, packet: SMovePlayer)

Handles a move player packet.

Matches vanilla ServerGamePacketListenerImpl.handleMovePlayer().

§Panics

Panics if the server cannot restore the player to the last accepted position after rejecting invalid movement. That indicates world entity state refused an authoritative correction.

Source

pub fn handle_move_vehicle(&self, packet: SMoveVehicle)

Handles a controlled-vehicle movement packet.

Matches vanilla ServerGamePacketListenerImpl.handleMoveVehicle().

Source

fn record_client_floating( &self, world: &World, y_dist: f64, player_stands_on_something: bool, is_spectator: bool, is_fall_flying: bool, )

Source

fn record_client_vehicle_floating( &self, world: &World, vehicle: &dyn Entity, y_dist: f64, vehicle_rests_on_something: bool, )

Source

fn no_blocks_around_entity(world: &World, entity: &dyn Entity) -> bool

Source

pub(super) fn maximum_flying_ticks(&self) -> i32

Returns how long vanilla permits unsupported floating for this player’s gravity.

Source

fn maximum_flying_ticks_for_gravity(gravity: f64) -> i32

Returns how long vanilla permits unsupported floating for an entity gravity value.

Source

pub(super) fn disconnect_if_floating_too_long(&self) -> bool

Advances vanilla’s floating violation tracker and disconnects when exceeded.

Source

pub(super) fn disconnect_if_vehicle_floating_too_long(&self) -> bool

Advances vanilla’s controlled-vehicle floating tracker and disconnects when exceeded.

Source

pub fn is_awaiting_teleport(&self) -> bool

Returns true if we’re waiting for a teleport confirmation.

Source

pub fn teleport( &self, pos: DVec3, yaw: f32, pitch: f32, ) -> Result<(), EntityMoveError>

Teleports the player to a new position.

Sends a CPlayerPosition packet and waits for client acknowledgment. Until acknowledged, movement packets from the client will be rejected.

Matches vanilla ServerGamePacketListenerImpl.teleport().

Source

pub(crate) fn teleport_with_velocity( &self, pos: DVec3, velocity: DVec3, yaw: f32, pitch: f32, ) -> Result<(), EntityMoveError>

Sends a CPlayerPosition packet with explicit delta movement for vanilla ServerPlayer.teleport(TeleportTransition) paths.

Source

pub(crate) fn teleport_with_velocity_packet( &self, pos: DVec3, velocity: DVec3, rotation: (f32, f32), packet_pos: DVec3, packet_velocity: DVec3, packet_rotation: (f32, f32), relatives: RelativeMovement, ) -> Result<(), EntityMoveError>

Commits resolved server state while sending vanilla packet-relative values.

Source

pub(crate) fn reset_flying_ticks(&self)

Resets vanilla floating violation counters after a successful high-level teleport.

Source

pub fn handle_accept_teleportation(&self, packet: SAcceptTeleportation)

Handles a teleport acknowledgment from the client.

Matches vanilla ServerGamePacketListenerImpl.handleAcceptTeleportPacket().

Source

pub fn last_client_input(&self) -> PlayerInput

Returns the latest vanilla client input snapshot.

Source

pub fn handle_player_input(&self, packet: SPlayerInput)

Handles a player input packet (movement keys, sneaking, sprinting).

Source

pub fn handle_player_command(&self, packet: SPlayerCommand)

Handles a player command packet (sprinting, elytra, leaving bed, etc).

Source§

impl Player

Source

pub fn set_permission_state( &self, groups: Vec<String>, overrides: PermissionSet, metadata_overrides: PermissionMetadataSet, effective: PermissionSet, effective_metadata: PermissionMetadataSet, ) -> u64

Replaces assigned groups, direct overrides, metadata, and effective state.

Source

pub fn permissions(&self) -> PermissionSet

Returns a snapshot of effective permissions.

Source

pub fn permission_groups(&self) -> Vec<String>

Returns assigned permission groups.

Source

pub(crate) fn is_operator(&self) -> bool

Returns whether the latest published subject state assigns the operator group.

Source

pub fn permission_overrides(&self) -> PermissionSet

Returns direct permission overrides.

Source

pub fn permission_metadata_overrides(&self) -> PermissionMetadataSet

Returns direct permission metadata overrides.

Source

pub fn permission_state_version(&self) -> u64

Returns the current permission snapshot version.

Source

pub fn has_permission(&self, permission: &PermissionExpr) -> bool

Returns whether the player satisfies an expression in their current world.

Source

pub fn has_permission_in( &self, permission: &PermissionExpr, context: &PermissionContext, ) -> bool

Returns whether the player satisfies an expression in an explicit context.

Source

pub fn permission_state( &self, permission: &PermissionExpr, ) -> Option<PermissionState>

Resolves an expression in the player’s current world.

Source

pub fn permission_state_in( &self, permission: &PermissionExpr, context: &PermissionContext, ) -> Option<PermissionState>

Resolves an expression in an explicit context.

Source

pub fn permission_metadata( &self, key: &Identifier, ) -> Option<PermissionMetadataValue>

Resolves one permission metadata value in the player’s current world.

Source

pub fn permission_metadata_in( &self, key: &Identifier, context: &PermissionContext, ) -> Option<PermissionMetadataValue>

Resolves one permission metadata value in an explicit context.

Source§

impl Player

Source

pub(crate) fn reset_domain_data_for_first_visit(&self)

Resets domain-scoped gameplay data to the defaults used for a new player.

Source§

impl Player

Source

fn take_open_menu_for_callback( &self, expected_container_id: Option<i32>, ) -> Result<Menu, OpenMenuUnavailable>

Source

fn finish_open_menu_callback(&self, menu: Menu)

Source

fn finish_open_menu_removal(&self)

Source

fn run_deferred_menu_actions(&self, actions: Vec<DeferredMenuAction>)

Source

fn queue_deferred_menus( terminal_removal: &mut TerminalMenuRemoval, actions: Vec<DeferredMenuAction>, )

Source

fn begin_menu_open_operation(&self) -> bool

Source

fn finish_menu_open_operation(&self)

Source

pub(in player) fn touch_nearby_items( &self, )

Attempts to pick up nearby item entities.

Mirrors vanilla’s Player.aiStep() item pickup logic:

  • Calculates pickup area as bounding box inflated by (1.0, 0.5, 1.0)
  • Calls playerTouch() on each entity in range
Source

pub fn handle_container_button_click(&self, packet: SContainerButtonClick)

Handles a container button click packet (e.g., enchanting table buttons).

Source

pub fn handle_container_click(&self, packet: SContainerClick)

Handles a container click packet (slot interaction).

Source

fn process_container_click(&self, menu: &mut Menu, packet: SContainerClick)

Processes a container click on any menu implementing the Menu trait.

This is the common implementation shared between inventory menu and external menus (crafting table, chest, etc.).

Source

pub fn handle_container_close(&self, packet: SContainerClose)

Handles a container close packet.

Based on Java’s ServerGamePacketListenerImpl::handleContainerClose.

Source

pub fn handle_rename_item(self: &Arc<Self>, packet: SRenameItem)

Handles an anvil rename packet.

Source

pub fn handle_container_slot_state_changed( &self, packet: SContainerSlotStateChanged, )

Handles a container slot state changed packet (e.g., crafter slot toggle).

Source

pub fn handle_set_creative_mode_slot(&self, packet: SSetCreativeModeSlot)

Handles a creative mode slot set packet.

Source

pub fn handle_set_carried_item(&self, packet: SSetCarriedItem)

Sets selected slot

Source

pub fn send_inventory_to_remote(&self)

Sends all inventory slots to the client (full sync). This should be called when the player first joins.

Source

fn next_container_counter(&self) -> u8

Generates the next container ID (1-100, wrapping around).

Based on Java’s ServerPlayer::nextContainerCounter.

Source

pub fn open_menu( &self, title: impl Into<TextComponent>, create: impl for<'a> FnOnce(MenuOpenContext<'a>) -> Menu + Send + 'static, )

Opens a menu for this player.

Based on Java’s ServerPlayer::openMenu.

§Arguments
  • title - The display title shown in the open-screen packet.
  • create - Factory invoked with the allocated container id, player, and current world. If called by a menu hook, the factory runs after that hook releases its container locks.
§Panics

Panics if the created menu uses a different container id than the one allocated for it, or has no menu type (i.e. the player’s own inventory menu, which must never be opened via open_menu).

Source

fn open_menu_inner(&self, pending: PendingMenuOpen)

Source

fn execute_menu_open(&self, pending: PendingMenuOpen)

Source

fn open_prepared_menu(&self, title: TextComponent, menu: Menu)

Source

pub fn crafting_container(&self) -> Shared<CraftingContainer>

A shared handle to the 2x2 crafting grid of the always-open inventory menu.

Source

pub(crate) fn inventory_crafting_handler(&self) -> CraftingHandler

A shared handler for the 2x2 crafting grid of the always-open inventory menu and its result.

Source

pub fn close_container(&self)

Closes the currently open container and returns to the inventory menu.

Based on Java’s ServerPlayer::closeContainer. This sends a close packet to the client.

Source

pub fn do_close_container(&self)

Internal close container logic without sending a packet.

Based on Java’s ServerPlayer::doCloseContainer. Called when the client sends a close packet or when opening a new menu.

Source

pub fn remove_all_menus(&self) -> MenuRemovalStatus

Removes both the base inventory menu and any external menu.

This mirrors Player::remove: base crafting and carried items are handled before the external menu, and menu hooks cannot install a replacement while removal is in progress. The inventory menu remains reusable because Steel keeps one Player across world changes.

Source

pub(in player) fn remove_all_menus_with_disposition( &self, disposition: MenuItemDisposition, ) -> MenuRemovalStatus

Source

fn finish_terminal_menu_main_cleanup(&self, menu: Option<Menu>)

Source

fn try_finish_terminal_menu_removal(&self)

Source

fn close_open_menu(&self, send_packet: bool)

Source

fn remove_open_menu(&self, menu: &mut Menu)

Source

pub fn has_container_open(&self) -> bool

Returns true if the player has an external menu open (not the inventory).

Source

pub fn tick_open_menu(&self)

Runs the open menu’s per-tick hook, if an external menu is open.

Scoped to the opened menu; the base inventory menu is not ticked. Called once per player tick, before syncing inventory changes to the client.

Source

pub fn broadcast_inventory_changes(&self)

Broadcasts inventory changes to the client (incremental sync). This is called every tick to sync only changed slots.

Source

pub(crate) fn request_inventory_resync( &self, slots: impl IntoIterator<Item = usize>, )

Requests direct synchronization of logical player-inventory slots.

Source

pub(in player) fn flush_inventory_resync( &self, )

Sends the latest values for requested logical inventory slots.

Source

pub(crate) fn clear_or_count_matching_items( &self, predicate: &dyn Fn(&ItemStack) -> bool, amount_to_remove: i32, ) -> i32

Removes or counts matching stacks across every location used by vanilla /clear.

Source

pub fn drop_from_selected(&self, all: bool)

Drops an item from the player’s selected hotbar slot.

Based on Java’s ServerPlayer.drop(boolean all).

  • all: If true, drops the entire stack (Ctrl+Q). If false, drops one item (Q).
Source

pub fn drop_item( &self, item: ItemStack, throw_randomly: bool, thrown_from_hand: bool, ) -> Option<Arc<ItemEntity>>

Drops an item into the world.

Based on Java’s LivingEntity.drop(ItemStack, boolean randomly, boolean thrownFromHand).

  • throw_randomly: If true, the item is thrown in a random direction. If false, it’s thrown in the direction the player is facing.
  • thrown_from_hand: If true, sets the thrower and uses a longer pickup delay.
Source

pub fn can_drop_items(&self) -> bool

Returns true if the player can drop items.

Based on Java’s Player.canDropItems(). Returns false if the player is dead, removed, or has a flag preventing item drops.

Source

pub fn returns_menu_items_to_inventory(&self) -> bool

Returns whether items from a closing menu (crafting grid, anvil inputs, cursor) should be placed back into the inventory instead of dropped into the world.

Matches vanilla’s AbstractContainerMenu.dropOrPlaceInInventory: a disconnected player or one removed for any reason except a world change drops the items.

Source

fn default_menu_item_disposition(&self) -> MenuItemDisposition

Source

pub fn add_item_or_drop(&self, item: ItemStack)

Tries to add an item to the player’s inventory, dropping it if it doesn’t fit.

Based on Java’s Inventory.placeItemBackInInventory.

Source

pub fn add_item_or_drop_with_guard( &self, guard: &mut ContainerLockGuard, item: ItemStack, )

Tries to add an item to the player’s inventory using an existing lock guard, dropping it if it doesn’t fit.

Use this variant when you already hold a ContainerLockGuard that includes the player’s inventory to avoid deadlocks.

Source§

impl Player

Source

pub fn get_ray_endpoints(&self) -> (DVec3, DVec3)

Computes the start (eye position) and end positions for a raytrace.

Source

pub fn game_mode(&self) -> GameType

Returns the player’s current game mode.

Source

pub fn previous_game_mode(&self) -> Option<GameType>

Returns the player’s previous game mode.

Source

pub(crate) fn restore_game_modes( &self, current: GameType, previous: Option<GameType>, )

Restores current and previous game mode from persistent player data.

Source

fn change_game_mode_state(&self, game_mode: GameType) -> bool

Changes the current game mode and records the old current mode as previous.

Source

pub fn new( gameprofile: GameProfile, connection: Arc<PlayerConnection>, world: Arc<World>, server: Weak<Server>, config: Arc<RuntimeConfig>, entity_id: i32, client_information: ClientInformation, ) -> Self

Creates a new player.

Source

pub fn tick(&self)

Ticks the player.

§Panics

Panics if the player position cannot be restored after ai_step. Vanilla treats the pre-tick position as authoritative here, so a rejection indicates corrupted entity state.

Source

fn tick_death(&self)

Ticks the death animation timer. Vanilla: LivingEntity.tickDeath() (not overridden by ServerPlayer).

Source

fn sync_entity_data(&self)

Immediately flushes dirty player entity data to tracking players and self.

Source

fn update_dirty_mob_effect_entity_data(&self)

Source

pub fn handle_custom_payload(&self, _packet: SCustomPayload)

Handles a custom payload packet.

Source

pub fn handle_client_tick_end(&self)

Handles the end of a client tick.

Source

pub fn hurt(&self, world: &World, source: &DamageSource, amount: f32) -> bool

Main entry point for dealing damage. Returns true if damage was applied.

world is vanilla’s explicit ServerLevel argument and controls difficulty scaling and damage gamerules.

Source

fn disabled_damage_game_rule(source: &DamageSource) -> Option<GameRuleRef<bool>>

Source

fn actually_hurt(&self, world: &World, source: &DamageSource, amount: f32)

Applies vanilla player damage reductions and health loss.

Source

fn die(&self, source: &DamageSource)

Vanilla: ServerPlayer.die() (does NOT call super.die()).

Source

pub fn can_eat(&self, can_always_eat: bool) -> bool

Returns whether the Player can eat

Source

pub const fn cleanup(&self)

Cleans up player resources.

Source

pub fn get_world(&self) -> Arc<World>

Returns the world the player is currently in.

Source

pub(crate) fn server(&self) -> Arc<Server>

Returns the server this player belongs to.

Source

pub(crate) fn domain_residence_token(&self) -> DomainResidenceToken

Returns the identity of the player’s current continuous domain stay.

Source

pub(crate) fn advance_domain_residence(&self) -> DomainResidenceToken

Starts a new continuous domain stay and invalidates old restore work.

Source

pub(crate) fn is_domain_residence_current( &self, token: DomainResidenceToken, ) -> bool

Returns whether delayed work still belongs to the current domain stay.

Source

pub(crate) fn install_pending_domain_restores( &self, token: DomainResidenceToken, world: &World, root_vehicle: Option<PersistentRootVehicle>, ender_pearls: Vec<PersistentEnderPearl>, ) -> bool

Installs both persisted restore payloads for a token-owned domain stay.

Source

pub(crate) fn clear_pending_root_vehicle(&self)

Source

pub(crate) fn pending_root_vehicle_for_current_world( &self, ) -> Option<PersistentRootVehicle>

Source

pub(crate) fn take_matching_pending_root_vehicle( &self, token: DomainResidenceToken, world: &World, attach: [u8; 16], root_uuid: [u8; 16], ) -> Option<PersistentRootVehicle>

Source

pub(crate) fn pending_ender_pearls(&self) -> Vec<PersistentEnderPearl>

Source

pub(crate) fn remove_pending_ender_pearl(&self, uuid: Uuid)

Source

pub(crate) fn discard_pending_ender_pearl( &self, token: DomainResidenceToken, uuid: Uuid, ) -> bool

Source

pub(crate) fn take_matching_pending_ender_pearl( &self, token: DomainResidenceToken, world: &World, uuid: Uuid, ) -> Option<PersistentEnderPearl>

Source

pub fn register_ender_pearl(&self, pearl: &SharedEntity)

Registers a thrown ender pearl so it persists with this player and re-spawns on login (vanilla ServerPlayer.registerEnderPearl).

Source

pub fn deregister_ender_pearl(&self, uuid: Uuid)

Deregisters a thrown ender pearl once it hits, teleports, or is discarded (vanilla ServerPlayer.deregisterEnderPearl).

Source

pub fn ender_pearls(&self) -> Vec<SharedEntity>

Returns this player’s live, in-flight ender pearls, pruning dead entries.

Source

pub(crate) fn save_command_nbt(&self, nbt: &mut NbtCompound)

Appends vanilla-shaped player state used by command NBT predicates.

Source

pub fn store_ender_pearls_with_player(&self)

Marks live ender pearls as stored with this player so chunk saves remove them from world storage and player data remains the sole owner.

Source

pub fn tick_count(&self) -> i32

Returns this player’s local server tick count.

Source

pub(crate) fn take_xp_delay(&self) -> i32

Returns vanilla Player.takeXpDelay.

Source

pub(crate) fn set_take_xp_delay(&self, delay: i32)

Sets vanilla Player.takeXpDelay.

Source

fn primary_step_sound_block_pos(&self, affecting_pos: BlockPos) -> BlockPos

Trait Implementations§

Source§

impl DowncastType for Player

Source§

const TYPE_KEY: DowncastTypeKey

The process-wide key for this concrete type.
Source§

impl Entity for Player

Source§

fn base(&self) -> &EntityBase

Returns a reference to the entity’s shared vanilla base fields.
Source§

fn entity_type(&self) -> EntityTypeRef

Gets the entity type containing tracking range, dimensions, etc.
Source§

fn base_tick(&self)

Runs vanilla Entity.baseTick pieces Steel currently implements. Read more
Source§

fn scoreboard_name(&self) -> String

Returns this entity’s vanilla scoreboard holder name. Read more
Source§

fn name(&self) -> TextComponent

Returns this entity’s vanilla name component before team decoration.
Source§

fn display_name(&self) -> TextComponent

Returns this entity’s vanilla display name.
Source§

fn plain_text_name(&self) -> String

Returns this entity’s plain vanilla name. Read more
Source§

fn look_at(&self, from_anchor: EntityAnchor, target: DVec3)

Rotates this entity to face a fixed position.
Source§

fn look_at_entity( &self, from_anchor: EntityAnchor, target: &dyn Entity, target_anchor: EntityAnchor, )

Rotates this entity to follow an anchored point on another entity.
Source§

fn is_always_ticking(&self) -> bool

Returns whether this entity ignores chunk ticking visibility. Read more
Source§

fn update_swimming(&self)

Updates the vanilla swimming shared flag. Read more
Source§

fn stop_riding(&self)

Stops riding the current vehicle, if any. Read more
Source§

fn start_riding(&self, entity_to_ride: &SharedEntity) -> bool

Starts riding entity_to_ride if vanilla boarding rules allow it. Read more
Source§

fn broadcast_to_player(&self, player: &Player) -> bool

Returns whether this entity should be broadcast to the given player. Read more
Source§

fn fall_sounds(&self) -> (SoundEventRef, SoundEventRef)

Returns vanilla small and big fall sounds for this entity.
Source§

fn is_alive(&self) -> bool

Returns whether this entity is alive for vanilla generic entity checks.
Source§

fn forces_fall_flying_velocity_sync(&self) -> bool

Returns true when vanilla ServerEntity should force velocity sync for fall flying.
Source§

fn blocks_building(&self) -> bool

Returns whether this entity obstructs block placement. Read more
Source§

fn is_pickable(&self) -> bool

Returns whether this entity can be targeted by picking and interaction raycasts. Read more
Source§

fn is_pushable(&self) -> bool

Returns whether this entity participates in vanilla push separation. Read more
Source§

fn on_climbable(&self) -> bool

Returns true if vanilla rules consider this entity to be on a climbable block.
Source§

fn is_spectator(&self) -> bool

Returns whether this entity is invisible to normal entity selectors. Read more
Source§

fn is_flying_player(&self) -> bool

Returns true for vanilla players whose abilities have flying set.
Source§

fn fire_immune_ticks(&self) -> i32

Returns vanilla fire immunity cooldown ticks after not being ignited.
Source§

fn remaining_fire_ticks_cap(&self) -> Option<i32>

Maximum vanilla remainingFireTicks this entity can store.
Source§

fn get_default_gravity(&self) -> f64

Gets the default gravity for this entity type. Read more
Source§

fn fire_ignite_extra_ticks(&self) -> i32

Returns extra ticks added by fire-block ignition before 8-second ignition.
Source§

fn can_freeze(&self) -> bool

Returns whether this entity may accumulate frozen ticks.
Source§

fn make_stuck_in_block(&self, state: BlockStateId, speed_multiplier: DVec3)

Applies vanilla stuck-in-block movement for the next movement pass.
Source§

fn can_be_hit_by_projectile(&self) -> bool

Returns whether projectile collision may interact with this entity. Read more
Source§

fn uses_client_movement_packets(&self) -> bool

Returns true when movement is driven by serverbound movement packets.
Source§

fn can_simulate_movement(&self) -> bool

Returns true when vanilla allows this side to apply movement simulation side effects.
Source§

fn is_effective_ai(&self) -> bool

Returns true when vanilla allows this side to run entity AI/travel logic.
Source§

fn known_movement(&self) -> DVec3

Returns the movement vector vanilla exposes for block-contact logic.
Source§

fn known_speed(&self) -> DVec3

Returns the base-tick displacement vanilla exposes as getKnownSpeed.
Source§

fn is_suppressing_bounce(&self) -> bool

Returns true when vanilla landing bounce should be suppressed.
Source§

fn cause_fall_damage( &self, fall_distance: f64, damage_modifier: f32, source: &DamageSource, ) -> bool

Applies vanilla fall damage. Read more
Source§

fn synced_data(&self) -> Option<&dyn EntitySyncedData>

Returns the synchronized entity-data container for entities with vanilla data accessors.
Source§

fn update_data_before_sync(&self)

Updates synchronized entity data just before tracker sync. Read more
Source§

fn max_up_step(&self) -> f32

Maximum height this entity can step up during normal movement.
Source§

fn backs_off_from_edge(&self) -> bool

Whether movement should apply player-style sneak edge prevention.
Source§

fn is_pushed_by_fluid(&self) -> bool

Returns whether vanilla fluid currents can push this entity.
Source§

fn is_crouching(&self) -> bool

Returns whether vanilla currently considers this entity crouching.
Source§

fn may_interact(&self, world: &World, pos: BlockPos) -> bool

Returns whether this entity may modify the world at a position. Read more
Source§

fn is_swimming(&self) -> bool

Returns whether vanilla currently considers this entity swimming.
Source§

fn sound_source(&self) -> SoundSource

Returns this entity’s vanilla sound source category.
Source§

fn swim_sound(&self) -> SoundEventRef

Returns this entity’s vanilla swim sound.
Source§

fn play_step_sound(&self, on_pos: BlockPos, on_state: BlockStateId)

Plays the base vanilla step sound for a block.
Source§

fn movement_emission(&self) -> EntityMovementEmission

Returns vanilla movement side effects emitted by this entity.
Source§

fn on_below_world(&self)

Runs entity-specific behavior after falling below the world.
Source§

fn dimensions_for_pose(&self, pose: EntityPose) -> EntityDimensions

Returns vanilla dimensions for a physical pose.
Source§

fn hurt(&self, world: &World, source: &DamageSource, amount: f32) -> bool

Applies damage to this entity.
Source§

fn id(&self) -> i32

Gets the entity’s unique network ID (session-local).
Source§

fn uuid(&self) -> Uuid

Gets the UUID of the entity (persistent identifier).
Source§

fn nbt_for_data_compare(&self) -> NbtCompound

Returns the vanilla-shaped entity NBT used by command predicates. Read more
Source§

fn nbt_for_passenger_save(&self) -> Option<NbtCompound>

Returns passenger-save NBT including the entity type id.
Source§

fn position(&self) -> DVec3

Gets the entity’s current position.
Source§

fn spawn_position(&self) -> DVec3

Gets the position to send in this entity’s add-entity packet. Read more
Source§

fn block_position(&self) -> BlockPos

Gets the entity’s current block position.
Source§

fn in_block_state(&self, world: &World) -> BlockStateId

Returns vanilla Entity.getInBlockState.
Source§

fn old_position(&self) -> DVec3

Gets the entity position used by vanilla movement traces.
Source§

fn bounding_box(&self) -> WorldAabb

Gets the entity’s bounding box for collision queries.
Source§

fn is_free(&self, delta: DVec3) -> bool

Returns vanilla Entity.isFree() for the current bounding box shifted by delta.
Source§

fn attackable(&self) -> bool

Returns whether this entity can be attacked. Read more
Source§

fn skip_attack_interaction(&self, _source: &dyn Entity) -> bool

Returns whether this entity handles and consumes an attack before normal damage. Read more
Source§

fn on_above_bubble_column(&self, drag_down: bool, _pos: BlockPos)

Applies vanilla Entity.onAboveBubbleColumn.
Source§

fn on_inside_bubble_column(&self, drag_down: bool)

Applies vanilla Entity.onInsideBubbleColumn.
Source§

fn is_ignoring_block_triggers(&self) -> bool

Returns whether this entity is excluded from pressure plates and tripwires. Read more
Source§

fn piston_push_reaction(&self) -> PushReaction

Returns how vanilla lets this entity respond to piston movement.
Source§

fn is_supported_by(&self, pos: BlockPos) -> bool

Returns whether this entity’s main supporting block is pos.
Source§

fn can_interact_with_level(&self) -> bool

Returns whether vanilla lets this entity interact with its loaded level.
Source§

fn is_invisible(&self) -> bool

Returns vanilla Entity.isInvisible().
Source§

fn is_discrete(&self) -> bool

Returns vanilla Entity.isDiscrete().
Source§

fn is_allied_to(&self, _other: &dyn Entity) -> bool

Returns whether this entity is allied to other.
Source§

fn is_marker_armor_stand(&self) -> bool

Returns whether this entity is a marker armor stand.
Source§

fn is_tame_owned_by(&self, _owner: &dyn LivingEntity) -> bool

Returns whether this entity is a tameable animal owned by owner.
Source§

fn projectile_owner_uuid(&self) -> Option<Uuid>

Returns the vanilla Projectile owner UUID when this entity exposes one.
Source§

fn projectile_owner(&self) -> Option<SharedEntity>

Returns the live vanilla Projectile owner when this entity exposes one.
Source§

fn can_be_collided_with(&self, _other: Option<&dyn Entity>) -> bool

Returns whether other can collide with this entity. Read more
Source§

fn deflection(&self, _projectile: &dyn Projectile) -> ProjectileDeflection

Returns this entity’s Vanilla projectile deflection behavior.
Source§

fn vehicle(&self) -> Option<SharedEntity>

Gets the vehicle this entity is riding, if present. Read more
Source§

fn controlled_vehicle(&self) -> Option<SharedEntity>

Returns the vehicle this entity directly controls, if any. Read more
Source§

fn is_passenger(&self) -> bool

Returns whether this entity is riding another entity. Read more
Source§

fn can_ride(&self, _vehicle: &dyn Entity) -> bool

Returns whether vanilla allows this entity to start riding vehicle. Read more
Source§

fn passengers(&self) -> Vec<SharedEntity>

Gets this entity’s direct passengers. Read more
Source§

fn count_player_passengers(&self) -> usize

Counts indirect player passengers. Read more
Source§

fn has_exactly_one_player_passenger(&self) -> bool

Returns whether this entity has exactly one indirect player passenger. Read more
Source§

fn first_passenger(&self) -> Option<SharedEntity>

Gets this entity’s first direct passenger. Read more
Source§

fn controlling_passenger(&self) -> Option<SharedEntity>

Returns the living passenger currently controlling this entity, if any. Read more
Source§

fn can_control_vehicle(&self) -> bool

Returns whether this entity can control a vehicle it is riding. Read more
Source§

fn has_controlling_passenger(&self) -> bool

Returns whether this entity currently has a controlling passenger. Read more
Source§

fn is_vehicle(&self) -> bool

Returns whether this entity has any direct passengers. Read more
Source§

fn dismounts_underwater(&self) -> bool

Returns vanilla Entity.dismountsUnderwater.
Source§

fn has_passenger(&self, passenger: &dyn Entity) -> bool

Returns whether passenger is a direct passenger of this entity. Read more
Source§

fn can_add_passenger(&self, _passenger: &dyn Entity) -> bool

Returns whether this entity can accept passenger as a direct passenger. Read more
Source§

fn could_accept_passenger(&self) -> bool

Returns whether this entity can accept any passenger. Read more
Source§

fn passenger_index(&self, passenger: &dyn Entity) -> Option<usize>

Returns the current direct passenger index for attachment lookup.
Source§

fn vehicle_attachment_point(&self, _vehicle: &dyn Entity) -> DVec3

Returns this passenger’s vehicle attachment point. Read more
Source§

fn passenger_attachment_point(&self, passenger: &dyn Entity) -> DVec3

Returns this vehicle’s passenger attachment point. Read more
Source§

fn passenger_riding_position(&self, passenger: &dyn Entity) -> DVec3

Returns the world position where passenger should ride this vehicle. Read more
Source§

fn position_rider(&self, passenger: &dyn Entity)

Repositions a direct passenger from this vehicle’s attachment point. Read more
Source§

fn root_vehicle_id(&self) -> i32

Returns this entity’s root vehicle ID, or this entity’s ID when it is not riding. Read more
Source§

fn root_vehicle(&self) -> Option<SharedEntity>

Returns this entity’s root vehicle, if this entity is riding one. Read more
Source§

fn is_passenger_of_same_vehicle(&self, other: &dyn Entity) -> bool

Returns whether this entity and other share the same root vehicle. Read more
Source§

fn has_indirect_passenger(&self, entity: &dyn Entity) -> bool

Returns whether entity is an indirect passenger of this entity. Read more
Source§

fn can_collide_with(&self, other: &dyn Entity) -> bool

Returns whether this entity can collide with other. Read more
Source§

fn push_impulse(&self, impulse: DVec3)

Adds an impulse to this entity’s velocity and marks velocity for sync. Read more
Source§

fn push_entity(&self, entity: &dyn Entity)

Applies vanilla entity-to-entity push separation. Read more
Source§

fn make_bounding_box_at(&self, position: DVec3) -> WorldAabb

Builds this entity’s default bounding box at position.
Source§

fn get_relative_portal_position( &self, axis: Axis, portal_area: FoundRectangle, ) -> DVec3

Returns vanilla Entity.getRelativePortalPosition.
Source§

fn default_tick(&self)

Default vanilla Entity.tick() behavior. Read more
Source§

fn tick(&self)

Called every game tick when the entity is in a ticked chunk. Read more
Source§

fn ride_tick(&self)

Called every game tick while this entity is riding another entity. Read more
Source§

fn handle_portal(&self)

Runs vanilla Entity.handlePortal behavior currently implemented by Steel.
Source§

fn entity_base_tick(&self)

Runs only vanilla Entity.baseTick behavior. Read more
Source§

fn check_below_world(&self)

Applies vanilla below-world handling.
Source§

fn check_despawn(&self)

Runs vanilla pre-tick despawn checks.
Source§

fn apply_inside_block_effect(&self, effect_type: InsideBlockEffectType)

Applies an inside-block effect queued by vanilla’s step-based collector.
Source§

fn level(&self) -> Option<Arc<World>>

Gets the world this entity is in. Read more
Source§

fn pack_dirty_entity_data(&self) -> Option<Vec<DataValue>>

Packs dirty entity data for network synchronization. Read more
Source§

fn pack_all_entity_data(&self) -> Vec<DataValue>

Packs all non-default entity data for initial spawn. Read more
Source§

fn is_removed(&self) -> bool

Returns true if the entity has been marked for removal.
Source§

fn begin_pending_world_change(&self) -> Option<PendingWorldChangeToken>

Marks this entity as waiting for a prepared world change.
Source§

fn finish_pending_world_change(&self, token: PendingWorldChangeToken) -> bool

Clears a pending world change if it still matches the provided token.
Source§

fn is_world_change_pending(&self) -> bool

Returns true while this entity is waiting for a prepared world change.
Source§

fn is_world_change_token_pending(&self, token: PendingWorldChangeToken) -> bool

Returns true if the given world-change token is still pending.
Source§

fn can_use_portal(&self, ignore_passenger: bool) -> bool

Returns whether this entity may enter a portal. Read more
Source§

fn dimension_changing_delay(&self) -> i32

Returns vanilla’s dimension-changing portal cooldown delay in ticks. Read more
Source§

fn removal_reason(&self) -> Option<RemovalReason>

Returns why this entity was removed, if it has been removed.
Source§

fn set_removed(&self, reason: RemovalReason)

Marks the entity as removed with the given reason.
Source§

fn game_event(&self, event: GameEventRef)

Emits a vanilla game event from this entity’s exact position.
Source§

fn kill(&self, world: &World)

Kills this entity using vanilla’s living/non-living class split. Read more
Source§

fn restore_owner_reference(&self, _owner: &SharedEntity)

Caches a live owner reference after restoring persisted owner-linked entities. Most entities do not store owner references.
Source§

fn set_level_callback(&self, callback: Arc<dyn EntityLevelCallback>)

Sets the level callback for lifecycle events (movement, removal).
Source§

fn notify_leash_holder(&self, _leashable: &dyn Entity)

Called by leashables while this entity is their live leash holder.
Source§

fn notify_leashee_removed(&self, _leashable: &dyn Entity)

Called when a leashable stops using this entity as its live leash holder.
Source§

fn player_touch(self: Arc<Self>, _player: &Arc<Player>)

Called when a player touches this entity during nearby pickup processing.
Source§

fn leashables_leashed_to(&self) -> Vec<SharedEntity>

Finds leashable mobs in vanilla’s nearby leash scan whose holder is this entity.
Source§

fn leashables_leashed_to_holder_in_area( &self, holder: &dyn Entity, ) -> Vec<SharedEntity>

Finds leashable mobs in this entity’s nearby leash scan whose holder is holder.
Source§

fn transfer_leashables_from_holder(&self, old_holder: &dyn Entity) -> bool

Transfers leashables currently held by old_holder to this entity.
Source§

fn drop_all_leash_connections(&self, player: Option<&Player>) -> bool

Drops this entity’s leash and all leashables attached to it.
Source§

fn shear_off_all_leash_connections(&self, player: Option<&Player>) -> bool

Shears off all leash connections reachable from this entity.
Source§

fn attempt_to_shear_equipment( &self, player: &Player, hand: InteractionHand, ) -> bool

Runs vanilla Entity.attemptToShearEquipment.
Source§

fn interact( &self, player: &Player, hand: InteractionHand, location: DVec3, ) -> InteractionResult

Handles vanilla entity right-click interaction.
Source§

fn interact_entity( &self, player: &Player, hand: InteractionHand, _location: DVec3, ) -> InteractionResult

Handles shared vanilla Entity.interact behavior.
Source§

fn is_living_entity(&self) -> bool

Returns true for entities that implement vanilla living-entity behavior.
Source§

fn is_abstract_arrow(&self) -> bool

Returns whether this entity belongs to vanilla’s AbstractArrow hierarchy.
Source§

fn as_projectile(&self) -> Option<&dyn Projectile>

Returns this entity as a projectile when it has projectile behavior.
Source§

fn as_living_entity(&self) -> Option<&dyn LivingEntity>

Returns this entity as a living entity when it has living behavior. Read more
Source§

fn as_item_frame(&self) -> Option<&dyn ItemFrame>

Returns this entity as an item frame when it has item-frame behavior. Read more
Source§

fn as_player(&self) -> Option<&Player>

Returns this entity as a player when it is the concrete server player.
Source§

fn with_weapon_item(&self, visitor: &mut dyn FnMut(Option<&ItemStack>))

Visits vanilla Entity.getWeaponItem without copying inventory state.
Source§

fn is_pathfinder_mob(&self) -> bool

Returns true for mobs with pathfinding navigation.
Source§

fn as_pathfinder_mob(&self) -> Option<&dyn PathfinderMob>

Returns this entity as a pathfinder mob when it has pathfinding behavior. Read more
Source§

fn is_mob(&self) -> bool

Returns true for entities that implement vanilla mob behavior.
Source§

fn as_mob(&self) -> Option<&dyn Mob>

Returns this entity as a mob when it has mob behavior. Read more
Source§

fn is_animal(&self) -> bool

Returns true for entities that implement vanilla animal behavior.
Source§

fn as_animal(&self) -> Option<&dyn Animal>

Returns this entity as an animal when it has animal behavior. Read more
Source§

fn is_ageable_mob(&self) -> bool

Returns true for entities that implement vanilla ageable-mob behavior.
Source§

fn as_ageable_mob(&self) -> Option<&dyn AgeableMob>

Returns this entity as an ageable mob when it has ageable behavior. Read more
Source§

fn is_item_steerable(&self) -> bool

Returns true for entities that implement vanilla item-steered boosts.
Source§

fn as_item_steerable(&self) -> Option<&dyn ItemSteerable>

Returns this entity as item steerable when it has item-steering behavior. Read more
Source§

fn is_server_driven_movement(&self) -> bool

Returns true when normal server ticks drive this entity’s movement.
Source§

fn is_stepping_carefully(&self) -> bool

Returns true when vanilla block step-on hooks should treat this entity as careful.
Source§

fn is_descending(&self) -> bool

Returns true when vanilla collision context should treat the entity as descending.
Source§

fn set_shared_shift_key_down(&self, shift_key_down: bool)

Sets the vanilla shift-key-down shared flag.
Source§

fn set_shared_swimming(&self, swimming: bool)

Sets the vanilla swimming shared flag.
Source§

fn default_update_swimming(&self)

Shared body of vanilla Entity.updateSwimming for player overrides.
Source§

fn set_shared_sprinting(&self, sprinting: bool)

Sets the vanilla sprinting shared flag.
Source§

fn set_shared_fall_flying(&self, fall_flying: bool)

Sets the vanilla fall-flying shared flag.
Source§

fn is_flying_vehicle(&self) -> bool

Returns whether vanilla excludes this vehicle from floating kicks.
Source§

fn tick_count(&self) -> i32

Returns vanilla Entity.tickCount.
Source§

fn advance_tick_count(&self)

Advances vanilla Entity.tickCount.
Source§

fn rotation(&self) -> (f32, f32)

Gets the entity’s rotation as (yaw, pitch) in degrees. Read more
Source§

fn set_rotation(&self, rotation: (f32, f32))

Sets the entity’s rotation as (yaw, pitch) in degrees.
Source§

fn direction_yaw(&self) -> Direction

Gets the nearest horizontal direction to the entity’s yaw (horizontal rotation).
Source§

fn head_yaw(&self) -> f32

Returns vanilla Entity.getYHeadRot.
Source§

fn spawn_data(&self) -> i32

Extra spawn-packet data used by vanilla for entity-specific construction.
Source§

fn get_eye_height(&self) -> f64

Gets the eye height for this entity. Read more
Source§

fn get_fluid_jump_threshold(&self) -> f64

Returns vanilla Entity.getFluidJumpThreshold().
Source§

fn get_eye_y(&self) -> f64

Gets the Y coordinate of the entity’s eyes. Read more
Source§

fn is_in_wall(&self) -> bool

Mirrors vanilla Entity.isInWall.
Source§

fn calculate_view_vector(&self, pitch_degrees: f32, yaw_degrees: f32) -> DVec3

Calculates vanilla Entity.calculateViewVector().
Source§

fn look_angle(&self) -> DVec3

Returns vanilla Entity.getLookAngle().
Source§

fn hand_holding_item_angle(&self, item: ItemRef) -> DVec3

Returns the vanilla offset for the hand holding item. Read more
Source§

fn velocity(&self) -> DVec3

Gets the entity’s velocity in blocks per tick.
Source§

fn set_velocity(&self, velocity: DVec3)

Sets the entity’s velocity.
Source§

fn needs_velocity_sync(&self) -> bool

Returns true when vanilla ServerEntity should consider sending velocity.
Source§

fn mark_velocity_sync(&self)

Marks velocity for vanilla ServerEntity synchronization.
Source§

fn clear_velocity_sync(&self)

Clears the vanilla velocity sync marker after send processing.
Source§

fn hurt_marked(&self) -> bool

Returns true when vanilla hurt-marked velocity sync is pending.
Source§

fn mark_hurt(&self)

Marks this entity as hurt for vanilla self-inclusive motion sync.
Source§

fn clear_hurt_mark(&self)

Clears the vanilla hurt-marked motion sync flag.
Source§

fn fall_distance(&self) -> f64

Returns accumulated vanilla fall distance.
Source§

fn is_in_powder_snow(&self) -> bool

Returns whether this entity is currently inside powder snow.
Source§

fn was_in_powder_snow(&self) -> bool

Returns whether this entity was inside powder snow during the previous base tick.
Source§

fn set_fall_distance(&self, fall_distance: f64)

Sets accumulated vanilla fall distance.
Source§

fn reset_fall_distance(&self)

Resets accumulated vanilla fall distance.
Source§

fn check_fall_distance_accumulation(&self)

Mirrors vanilla Entity.checkFallDistanceAccumulation().
Source§

fn fire_freeze_state(&self) -> EntityFireFreezeState

Returns the current vanilla fire/freeze state.
Source§

fn remaining_fire_ticks(&self) -> i32

Returns vanilla remainingFireTicks.
Source§

fn set_remaining_fire_ticks(&self, remaining_fire_ticks: i32)

Sets vanilla remainingFireTicks.
Source§

fn ticks_frozen(&self) -> i32

Returns synchronized vanilla TicksFrozen.
Source§

fn set_ticks_frozen(&self, ticks_frozen: i32)

Sets synchronized vanilla TicksFrozen.
Source§

fn fire_immune(&self) -> bool

Returns whether this entity is immune to fire effects and fire damage.
Source§

fn should_play_lava_hurt_sound(&self) -> bool

Returns whether vanilla should play this entity’s lava hurt sound.
Source§

fn lava_hurt(&self)

Applies vanilla lava-contact damage after lava ignition effects.
Source§

fn is_on_fire(&self) -> bool

Returns whether the entity is on fire on the server.
Source§

fn has_visual_fire(&self) -> bool

Returns vanilla hasVisualFire.
Source§

fn is_freezing(&self) -> bool

Returns whether the entity has any frozen ticks.
Source§

fn default_can_freeze(&self) -> bool

Returns vanilla Entity.canFreeze() without living-equipment overrides.
Source§

fn ticks_required_to_freeze(&self) -> i32

Returns vanilla getTicksRequiredToFreeze.
Source§

fn is_fully_frozen(&self) -> bool

Returns whether this entity has reached full-freeze duration.
Source§

fn percent_frozen(&self) -> f32

Returns vanilla Entity.getPercentFrozen.
Source§

fn clear_freeze(&self)

Clears accumulated freezing.
Source§

fn clear_fire(&self)

Clears fire without resetting the vanilla fire immunity cooldown.
Source§

fn ignite_for_ticks(&self, number_of_ticks: i32)

Ignites this entity for a vanilla tick duration.
Source§

fn sync_base_fire_freeze_entity_data(&self)

Projects base fire/freeze state into generated synced entity data.
Source§

fn sync_base_entity_data(&self)

Projects all base-owned synchronized fields into generated entity data.
Source§

fn is_in_water(&self) -> bool

Returns true if this entity is currently touching water.
Source§

fn is_in_lava(&self) -> bool

Returns true if this entity is currently touching lava.
Source§

fn is_eye_in_water(&self) -> bool

Returns true if this entity’s eyes are currently inside water.
Source§

fn is_eye_in_lava(&self) -> bool

Returns true if this entity’s eyes are currently inside lava.
Source§

fn is_under_water(&self) -> bool

Returns vanilla underwater state.
Source§

fn fluid_contact(&self) -> EntityFluidContact

Returns cached fluid contact from the last entity fluid refresh.
Source§

fn refresh_fluid_contact(&self) -> EntityFluidContact

Refreshes cached fluid contact from this entity’s current bounding box.
Source§

fn refresh_fluid_contact_for_base_tick(&self) -> EntityFluidContact

Refreshes cached fluid contact with vanilla base-tick eye-water history.
Source§

fn scan_and_store_fluid_contact( &self, advance_eye_water_history: bool, ) -> EntityFluidContact

Scans current fluid contact and stores it on the entity base.
Source§

fn apply_fluid_current_for_base_tick( &self, world: &Arc<World>, contact: EntityFluidContact, )

Applies vanilla water/lava current impulses from the base-tick fluid scan.
Source§

fn apply_fluid_current_impulse(&self, impulse: DVec3)

Applies a non-zero fluid current impulse and marks velocity sync.
Source§

fn is_fall_damage_immune(&self) -> bool

Returns true if this entity type ignores vanilla fall damage.
Source§

fn propagate_fall_to_passengers( &self, fall_distance: f64, damage_modifier: f32, source: &DamageSource, )

Propagates vanilla fall-damage handling to passengers.
Source§

fn on_ground(&self) -> bool

Returns true if the entity is on the ground.
Source§

fn horizontal_collision(&self) -> bool

Returns true if the last movement was clipped horizontally.
Source§

fn vertical_collision(&self) -> bool

Returns true if the last movement was clipped vertically.
Source§

fn vertical_collision_below(&self) -> bool

Returns true if the last vertical collision was below the entity.
Source§

fn no_physics(&self) -> bool

Returns true when movement bypasses collision physics.
Source§

fn is_affected_by_blocks(&self) -> bool

Returns true when vanilla block-contact effects may run for this entity.
Source§

fn set_no_physics(&self, no_physics: bool)

Sets whether this entity bypasses collision physics.
Source§

fn update_no_physics_from_current_collision(&self)

Updates item-style noPhysics from the entity’s current collision state.
Source§

fn move_towards_closest_space(&self, x: f64, y: f64, z: f64)

Nudges velocity toward the closest non-full collision block.
Source§

fn default_make_stuck_in_block( &self, _state: BlockStateId, speed_multiplier: DVec3, )

Default vanilla stuck-in-block movement for the next movement pass.
Source§

fn apply_effects_from_blocks(&self)

Applies current block-contact effects to this entity. Read more
Source§

fn apply_effects_from_blocks_between(&self, from: DVec3, to: DVec3)

Applies block-contact effects for one explicit movement segment. Read more
Source§

fn apply_effects_from_blocks_for_last_movements(&self)

Replays the last finalized block-contact movement list.
Source§

fn set_on_ground(&self, on_ground: bool)

Sets whether the entity is on the ground.
Source§

fn set_on_ground_with_movement( &self, on_ground: bool, horizontal_collision: bool, movement: DVec3, )

Sets ground and horizontal collision flags from accepted movement.
Source§

fn default_apply_accepted_client_movement( &self, world: &Arc<World>, accepted: AcceptedClientMovement, ) -> Result<AcceptedClientMovementOutcome, EntityMoveError>

Default final state application for accepted client-authored movement. Read more
Source§

fn apply_accepted_client_movement( &self, world: &Arc<World>, accepted: AcceptedClientMovement, ) -> Result<AcceptedClientMovementOutcome, EntityMoveError>

Applies final state accepted from a client-authored movement packet.
Source§

fn apply_accepted_client_vehicle_movement( &self, world: &Arc<World>, accepted: AcceptedClientMovement, ) -> Result<AcceptedClientMovementOutcome, EntityMoveError>

Applies final state accepted from a controlled-vehicle movement packet.
Source§

fn try_set_position(&self, pos: DVec3) -> Result<(), EntityMoveError>

Attempts to set the entity’s position through world lifecycle validation.
Source§

fn set_old_position_to_current(&self)

Sets the vanilla movement-trace old position to the current position.
Source§

fn set_old_position(&self, old_position: DVec3)

Sets the vanilla movement-trace old position explicitly.
Source§

fn remove_latest_movement_recording(&self)

Removes the latest movement segment recorded this tick.
Source§

fn on_pos(&self, offset: f32) -> Option<BlockPos>

Returns the block position this entity is standing on.
Source§

fn block_pos_below_that_affects_movement(&self) -> Option<BlockPos>

Returns the block position used for movement-affecting block properties.
Source§

fn on_pos_legacy(&self) -> Option<BlockPos>

Returns vanilla getOnPosLegacy(), used by fall/step block hooks.
Source§

fn block_speed_factor(&self) -> f32

Returns the vanilla block speed factor applied after movement.
Source§

fn block_jump_factor(&self) -> f32

Returns vanilla Entity.getBlockJumpFactor().
Source§

fn pose(&self) -> EntityPose

Returns this entity’s physical pose.
Source§

fn refresh_dimensions(&self)

Refreshes dimensions for the current physical pose.
Source§

fn set_pose(&self, pose: EntityPose)

Sets the physical pose and synchronized pose metadata.
Source§

fn is_on_rails(&self) -> bool

Returns whether this entity is on rails.
Source§

fn is_state_climbable(&self, state: BlockStateId) -> bool

Returns whether a block state is climbable for base movement effects.
Source§

fn air_supply(&self) -> i32

Returns the synchronized vanilla Air value.
Source§

fn set_air_supply(&self, air_supply: i32)

Sets the synchronized vanilla Air value.
Source§

fn max_air_supply(&self) -> i32

Returns this entity’s maximum vanilla air supply.
Source§

fn portal_cooldown(&self) -> i32

Returns the vanilla portal cooldown in ticks.
Source§

fn set_portal_cooldown(&self, portal_cooldown: i32)

Sets the vanilla portal cooldown in ticks.
Source§

fn is_on_portal_cooldown(&self) -> bool

Returns whether the entity is on vanilla portal cooldown.
Source§

fn reset_portal_cooldown(&self)

Resets vanilla portal cooldown to this entity’s dimension-changing delay. Read more
Source§

fn set_as_inside_portal(&self, portal: PortalKind, entry_position: BlockPos)

Marks this entity as inside a vanilla portal during the current tick. Read more
Source§

fn custom_name(&self) -> Option<TextComponent>

Returns this entity’s optional vanilla custom name.
Source§

fn set_custom_name(&self, custom_name: Option<TextComponent>)

Sets this entity’s optional vanilla custom name.
Source§

fn is_custom_name_visible(&self) -> bool

Returns whether vanilla renders this entity’s custom name.
Source§

fn set_custom_name_visible(&self, visible: bool)

Sets whether vanilla renders this entity’s custom name.
Source§

fn has_glowing_tag(&self) -> bool

Returns whether this entity has the server-owned vanilla glowing tag.
Source§

fn set_glowing_tag(&self, glowing: bool)

Sets this entity’s server-owned vanilla glowing tag.
Source§

fn tags(&self) -> Vec<String>

Returns a snapshot of this entity’s vanilla scoreboard tags.
Source§

fn add_tag(&self, tag: String) -> bool

Adds a vanilla scoreboard tag.
Source§

fn remove_tag(&self, tag: &str) -> bool

Removes a vanilla scoreboard tag.
Source§

fn custom_data(&self) -> NbtCompound

Returns a snapshot of this entity’s vanilla custom data.
Source§

fn set_custom_data(&self, custom_data: NbtCompound)

Replaces this entity’s vanilla custom data.
Source§

fn is_silent(&self) -> bool

Returns whether sounds from this entity are suppressed.
Source§

fn set_silent(&self, silent: bool)

Sets whether sounds from this entity are suppressed.
Source§

fn broadcast_entity_event(&self, event: EntityStatus)

Broadcasts a vanilla entity event/status packet near this entity.
Source§

fn play_sound(&self, sound: SoundEventRef, volume: f32, pitch: f32)

Plays an entity sound at the entity’s exact position.
Source§

fn play_entity_on_fire_extinguished_sound(&self)

Plays vanilla’s extinguished-on-fire entity sound.
Source§

fn play_block_step_sound(&self, block_state: BlockStateId)

Plays a vanilla block step sound at this entity’s current position.
Source§

fn play_muffled_step_sound(&self, block_state: BlockStateId)

Plays vanilla’s muffled secondary step sound.
Source§

fn play_combination_step_sounds( &self, primary_step_sound: BlockStateId, secondary_step_sound: BlockStateId, )

Plays vanilla’s combination primary and secondary step sounds.
Source§

fn walking_step_sound(&self, pos: BlockPos, block_state: BlockStateId)

Plays vanilla walking step sounds, including amethyst chimes.
Source§

fn play_amethyst_step_sound(&self)

Plays vanilla amethyst step chime when its cooldown permits it.
Source§

fn water_swim_sound(&self)

Plays vanilla swim sound from movement emission.
Source§

fn play_swim_sound(&self, volume: f32)

Plays this entity’s swim sound at the given volume.
Source§

fn is_flapping(&self) -> bool

Returns whether the entity is currently flapping.
Source§

fn on_flap(&self)

Runs entity-specific flap side effects.
Source§

fn process_flapping_movement(&self)

Processes vanilla flap movement side effects.
Source§

fn next_step(&self) -> f32

Returns the next step threshold after movement side effects are produced.
Source§

fn apply_movement_emission_and_play_sound( &self, emission: EntityMovementEmission, clipped_movement: DVec3, effect_pos: BlockPos, effect_state: BlockStateId, )

Applies vanilla movement sounds and game events after a completed move.
Source§

fn apply_movement_side_effects_after_move( &self, world: &World, actual_movement: DVec3, )

Applies movement side effects after vanilla collision and landing updates.
Source§

fn vibration_and_sound_effects_from_block( &self, pos: BlockPos, block_state: BlockStateId, should_sound: bool, should_vibrate: bool, clipped_movement: DVec3, ) -> bool

Emits step side effects from a candidate movement-effect block.
Source§

fn is_no_gravity(&self) -> bool

Returns true if gravity is disabled for this entity.
Source§

fn set_no_gravity(&self, no_gravity: bool)

Sets the shared vanilla NoGravity flag.
Source§

fn is_invulnerable(&self) -> bool

Returns the shared vanilla Invulnerable flag.
Source§

fn set_invulnerable(&self, invulnerable: bool)

Sets the shared vanilla Invulnerable flag.
Source§

fn get_gravity(&self) -> f64

Gets the current gravity value. Read more
Source§

fn apply_gravity(&self)

Applies gravity to the entity’s velocity. Read more
Source§

fn move_relative(&self, speed: f32, input: DVec3)

Applies vanilla Entity.moveRelative().
Source§

fn move_without_physics(&self, delta: DVec3) -> Option<MoveResult>

Moves the entity without collision physics.
Source§

fn move_entity(&self, mover_type: MoverType, delta: DVec3) -> Option<MoveResult>

Moves the entity with collision detection. Read more
Source§

fn apply_fall_damage_after_move( &self, result: &MoveResult, world: &Arc<World>, ) -> bool

Applies vanilla fall-distance bookkeeping after accepted movement.
Source§

fn reset_fall_distance_on_resetting_clip( &self, world: &Arc<World>, movement: DVec3, )

Resets fall distance when vanilla’s fall-damage-resetting clip hits.
Source§

fn do_check_fall_damage( &self, movement: DVec3, on_ground: bool, world: &Arc<World>, ) -> bool

Mirrors vanilla Entity.doCheckFallDamage. Read more
Source§

fn refresh_supporting_block_for_fall_damage( &self, movement: DVec3, on_ground: bool, )

Refreshes vanilla supporting-block state before fall-damage side effects.
Source§

fn check_fall_damage( &self, vertical_movement: f64, on_ground: bool, on_state: BlockStateId, pos: BlockPos, world: &Arc<World>, )

Mirrors vanilla Entity.checkFallDamage.
Source§

fn ground_contact_after_movement( &self, on_ground: bool, movement: Option<DVec3>, ) -> EntityGroundContact

Computes vanilla support state for an on-ground update.
Source§

fn check_supporting_block( &self, on_ground: bool, movement: Option<DVec3>, world: &Arc<World>, ) -> EntityGroundContact

Mirrors vanilla Entity.checkSupportingBlock.
Source§

fn spawn_at_location( &self, item: ItemStack, y_offset: f64, ) -> Option<Arc<ItemEntity>>

Spawns an item at this entity’s location. Read more
Source§

fn spawn_at_location_with_offset( &self, item: ItemStack, offset: DVec3, ) -> Option<Arc<ItemEntity>>

Spawns an item at this entity’s location plus a vanilla attachment offset.
Source§

fn save_additional(&self, _nbt: &mut NbtCompound)

Saves type-specific entity data to NBT. Read more
Source§

fn load_additional(&self, _nbt: BorrowedNbtCompoundView<'_, '_>)

Loads type-specific entity data from NBT. Read more
Source§

impl LivingEntity for Player

Source§

fn tick_living_entity(&self)

Runs vanilla LivingEntity.tick. Read more
Source§

fn get_health(&self) -> f32

Gets the current health of the entity.
Source§

fn set_health(&self, health: f32)

Sets the health of the entity, clamped between 0 and max health.
Source§

fn living_base(&self) -> &LivingEntityBase

Returns a reference to the shared LivingEntityBase that holds living runtime state such as attributes, cached movement speed, damage cooldown, and death animation counters.
Source§

fn can_be_seen_as_enemy(&self) -> bool

Returns vanilla LivingEntity.canBeSeenAsEnemy().
Source§

fn is_invulnerable_to(&self, world: &World, source: &DamageSource) -> bool

Returns whether this living entity ignores a damage source.
Source§

fn hurt_armor(&self, source: &DamageSource, damage: f32)

Damages equipment that participates in vanilla armor absorption.
Source§

fn actually_hurt(&self, world: &World, source: &DamageSource, amount: f32)

Applies damage after vanilla reductions.
Source§

fn hurt_broadcast_chunk(&self) -> ChunkPos

Returns the chunk used for vanilla nearby hurt broadcasts.
Source§

fn die(&self, source: &DamageSource)

Processes vanilla living death side effects.
Source§

fn with_equipment_slot( &self, slot: EquipmentSlot, visitor: &mut dyn FnMut(&ItemStack), )

Visits the item in a vanilla living-entity equipment slot.
Source§

fn with_equipment_slot_mut( &self, slot: EquipmentSlot, visitor: &mut dyn FnMut(&mut ItemStack), )

Mutates the item in a vanilla living-entity equipment slot.
Source§

fn interact_living_entity_with_equippable( &self, player: &Player, hand: InteractionHand, ) -> InteractionResult

Runs vanilla’s equippable ItemStack.interactLivingEntity branch.
Source§

fn has_infinite_materials(&self) -> bool

Returns whether equipment durability should be skipped for this entity.
Source§

fn get_absorption_amount(&self) -> f32

Gets the absorption amount (extra health from effects like absorption).
Source§

fn set_absorption_amount(&self, amount: f32)

Sets the absorption amount.
Source§

fn is_affected_by_fluids(&self) -> bool

Returns vanilla LivingEntity.isAffectedByFluids().
Source§

fn can_glide(&self) -> bool

Mirrors vanilla LivingEntity.canGlide().
Source§

fn is_immobile(&self) -> bool

Returns vanilla LivingEntity.isImmobile().
Source§

fn jump_from_ground(&self)

Mirrors vanilla LivingEntity.jumpFromGround().
Source§

fn ai_step(&self) -> Option<MoveResult>

Mirrors vanilla LivingEntity.aiStep().
Source§

fn travel(&self, input: DVec3) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travel().
Source§

fn get_flying_speed(&self) -> f32

Returns vanilla LivingEntity.getFlyingSpeed().
Source§

fn living_rotation_state(&self) -> LivingRotationState

Returns vanilla living body/head rotation state.
Source§

fn y_body_rot(&self) -> f32

Returns vanilla LivingEntity.yBodyRot.
Source§

fn set_y_body_rot(&self, y_body_rot: f32)

Sets vanilla LivingEntity.yBodyRot.
Source§

fn y_head_rot(&self) -> f32

Returns vanilla LivingEntity.yHeadRot.
Source§

fn set_y_head_rot(&self, y_head_rot: f32)

Sets vanilla LivingEntity.yHeadRot.
Source§

fn advance_living_rotation_for_base_tick(&self)

Copies current living body/head rotations to vanilla old-rotation state.
Source§

fn advance_attack_animation_for_base_tick(&self)

Copies current attack animation to vanilla old attack-animation state.
Source§

fn base_tick_living_entity(&self)

Runs vanilla LivingEntity.baseTick.
Source§

fn living_swing_state(&self) -> LivingSwingState

Returns vanilla arm-swing animation state.
Source§

fn current_swing_duration(&self) -> i32

Returns vanilla LivingEntity.getCurrentSwingDuration.
Source§

fn swing(&self, hand: InteractionHand, update_self: bool)

Runs vanilla LivingEntity.swing.
Source§

fn update_swing_time(&self)

Runs vanilla LivingEntity.updateSwingTime.
Source§

fn attributes(&self) -> &SyncMutex<AttributeMap>

Returns a reference to this entity’s attribute map.
Source§

fn pack_syncable_attributes(&self) -> Vec<AttributeSnapshot>

Packs syncable attributes for initial spawn pairing. Read more
Source§

fn drain_dirty_syncable_attributes(&self) -> Vec<AttributeSnapshot>

Drains syncable dirty attributes for per-tick tracking updates. Read more
Source§

fn drain_dirty_mob_effects(&self) -> Vec<MobEffectSyncChange>

Drains dirty mob-effect packet changes for vanilla recipients.
Source§

fn pack_all_equipment(&self) -> Vec<EquipmentSlotItem>

Packs non-empty equipment slots for initial spawn pairing.
Source§

fn drain_dirty_equipment(&self) -> Vec<EquipmentSlotItem>

Drains equipment slots that changed since the last tracker sync.
Source§

fn save_command_nbt(&self, nbt: &mut NbtCompound)

Appends vanilla-shaped living state used by command NBT predicates.
Source§

fn get_max_health(&self) -> f32

Gets the maximum health from the attribute system.
Source§

fn no_action_time(&self) -> i32

Returns vanilla LivingEntity.noActionTime.
Source§

fn set_no_action_time(&self, no_action_time: i32)

Sets vanilla LivingEntity.noActionTime.
Source§

fn increment_no_action_time(&self)

Increments vanilla LivingEntity.noActionTime.
Source§

fn heal(&self, amount: f32)

Heals the entity by the specified amount.
Source§

fn is_dead_or_dying(&self) -> bool

Returns true if the entity is dead or dying (health <= 0).
Source§

fn is_baby(&self) -> bool

Returns vanilla LivingEntity.isBaby().
Source§

fn sound_volume(&self) -> f32

Returns vanilla LivingEntity.getSoundVolume.
Source§

fn voice_pitch(&self) -> f32

Returns vanilla LivingEntity.getVoicePitch.
Source§

fn hurt_sound(&self, _source: &DamageSource) -> Option<SoundEventRef>

Returns vanilla LivingEntity.getHurtSound.
Source§

fn death_sound(&self) -> Option<SoundEventRef>

Returns vanilla LivingEntity.getDeathSound.
Source§

fn make_sound(&self, sound: Option<SoundEventRef>)

Runs vanilla LivingEntity.makeSound.
Source§

fn play_hurt_sound(&self, source: &DamageSource)

Runs vanilla LivingEntity.playHurtSound.
Source§

fn play_death_sound(&self)

Plays vanilla’s death sound for this living entity.
Source§

fn get_age_scale(&self) -> f32

Returns vanilla LivingEntity.getAgeScale().
Source§

fn get_scale(&self) -> f32

Returns vanilla LivingEntity.getScale().
Source§

fn is_alive(&self) -> bool

Returns true if the entity is alive (health > 0).
Source§

fn get_armor_cover_percentage(&self) -> f32

Returns vanilla LivingEntity.getArmorCoverPercentage().
Source§

fn get_visibility_percent(&self, targeting_entity: Option<&dyn Entity>) -> f64

Returns vanilla LivingEntity.getVisibilityPercent().
Source§

fn disguise_head_matches_targeting_entity( &self, targeting_entity: Option<&dyn Entity>, ) -> bool

Returns whether the equipped head item reduces visibility to targeting_entity.
Source§

fn can_be_seen_by_anyone(&self) -> bool

Returns vanilla LivingEntity.canBeSeenByAnyone().
Source§

fn can_attack(&self, target: &dyn LivingEntity) -> bool

Returns vanilla LivingEntity.canAttack().
Source§

fn last_damage_source(&self) -> Option<DamageSource>

Returns vanilla LivingEntity.getLastDamageSource().
Source§

fn set_last_hurt_by_player(&self, player_uuid: Uuid, time_to_remember: i32)

Sets vanilla LivingEntity.lastHurtByPlayer.
Source§

fn last_hurt_by_player_memory_time(&self) -> i32

Returns vanilla LivingEntity.lastHurtByPlayerMemoryTime.
Source§

fn last_hurt_by_player_uuid(&self) -> Option<Uuid>

Returns vanilla LivingEntity.lastHurtByPlayer, if still remembered.
Source§

fn last_hurt_by_mob(&self) -> Option<SharedEntity>

Returns vanilla LivingEntity.lastHurtByMob.
Source§

fn last_hurt_by_mob_timestamp(&self) -> i32

Returns vanilla LivingEntity.lastHurtByMobTimestamp.
Source§

fn set_last_hurt_by_mob(&self, target: Option<&SharedEntity>)

Sets vanilla LivingEntity.lastHurtByMob.
Source§

fn last_hurt_mob(&self) -> Option<SharedEntity>

Returns vanilla LivingEntity.lastHurtMob.
Source§

fn last_hurt_mob_timestamp(&self) -> i32

Returns vanilla LivingEntity.lastHurtMobTimestamp.
Source§

fn set_last_hurt_mob(&self, target: Option<&SharedEntity>)

Sets vanilla LivingEntity.lastHurtMob.
Source§

fn resolve_mob_responsible_for_damage( &self, world: &World, source: &DamageSource, )

Resolves vanilla LivingEntity.resolveMobResponsibleForDamage.
Source§

fn resolve_player_responsible_for_damage( &self, world: &World, source: &DamageSource, )

Resolves vanilla LivingEntity.resolvePlayerResponsibleForDamage.
Source§

fn has_line_of_sight(&self, target: &dyn Entity) -> bool

Returns vanilla LivingEntity.hasLineOfSight().
Source§

fn has_line_of_sight_with( &self, target: &dyn Entity, block_shape: ClipBlockShape, fluid: ClipFluid, target_eye_y: f64, ) -> bool

Returns vanilla line-of-sight with explicit clip options.
Source§

fn default_is_invulnerable_to(&self, source: &DamageSource) -> bool

Returns vanilla base living-entity invulnerability.
Source§

fn hurt_server(&self, world: &World, source: &DamageSource, amount: f32) -> bool

Main vanilla living-entity damage entry point. Read more
Source§

fn before_actually_hurt(&self, _source: &DamageSource, _amount: f32)

Hook before applying damage after vanilla reductions.
Source§

fn do_hurt_equipment( &self, source: &DamageSource, damage: f32, slots: &[EquipmentSlot], )

Mirrors vanilla LivingEntity.doHurtEquipment.
Source§

fn get_damage_after_armor_absorb( &self, source: &DamageSource, damage: f32, ) -> f32

Mirrors vanilla LivingEntity.getDamageAfterArmorAbsorb.
Source§

fn get_damage_after_magic_absorb( &self, source: &DamageSource, damage: f32, ) -> f32

Mirrors vanilla LivingEntity.getDamageAfterMagicAbsorb.
Source§

fn apply_damage_knockback(&self, source: &DamageSource)

Applies vanilla hurt knockback for a damage source.
Source§

fn damage_knockback_direction(&self, source: &DamageSource) -> (f64, f64)

Returns the horizontal direction used by vanilla damage knockback.
Source§

fn knockback(&self, power: f64, xd: f64, zd: f64)

Applies vanilla LivingEntity.knockback.
Source§

fn knockback_resistance(&self) -> f64

Returns vanilla knockback resistance.
Source§

fn indicate_damage(&self, _xd: f64, _zd: f64)

Mirrors vanilla LivingEntity.indicateDamage.
Source§

fn broadcast_damage_event(&self, world: &World, source: &DamageSource)

Broadcasts vanilla damage-event metadata near this entity.
Source§

fn broadcast_hurt_animation(&self, world: &World)

Broadcasts vanilla hurt animation near this entity.
Source§

fn should_drop_loot(&self, world: &World) -> bool

Returns vanilla LivingEntity.shouldDropLoot.
Source§

fn should_drop_experience(&self) -> bool

Returns vanilla LivingEntity.shouldDropExperience.
Source§

fn is_always_experience_dropper(&self) -> bool

Returns vanilla LivingEntity.isAlwaysExperienceDropper.
Source§

fn skip_drop_experience(&self)

Runs vanilla LivingEntity.skipDropExperience.
Source§

fn was_experience_consumed(&self) -> bool

Returns vanilla LivingEntity.wasExperienceConsumed.
Source§

fn base_experience_reward(&self) -> i32

Returns vanilla LivingEntity.getBaseExperienceReward.
Source§

fn experience_reward( &self, _world: &World, _killer_entity_id: Option<i32>, ) -> i32

Returns vanilla LivingEntity.getExperienceReward.
Source§

fn drop_all_death_loot(&self, source: &DamageSource)

Runs the currently implemented subset of vanilla LivingEntity.dropAllDeathLoot.
Source§

fn drop_experience(&self, world: &Arc<World>, killer_entity_id: Option<i32>)

Runs vanilla LivingEntity.dropExperience.
Source§

fn death_loot_table(&self) -> Option<LootTableRef>

Resolves the loot table used by vanilla LivingEntity.dropFromLootTable.
Source§

fn death_loot_table_seed(&self) -> i64

Returns vanilla Entity.getLootTableSeed for death loot.
Source§

fn drop_from_loot_table(&self, source: &DamageSource, killed_by_player: bool)

Runs vanilla LivingEntity.dropFromLootTable.
Source§

fn drop_custom_death_loot( &self, _source: &DamageSource, _killed_by_player: bool, )

Hook for non-mob custom death loot.
Source§

fn tick_death(&self)

Ticks the vanilla living death animation and removes the entity at completion.
Source§

fn fall_damage_sound(&self, damage: i32) -> SoundEventRef

Returns vanilla LivingEntity.getFallDamageSound().
Source§

fn play_block_fall_sound(&self)

Plays vanilla LivingEntity.playBlockFallSound().
Source§

fn cause_living_fall_damage( &self, fall_distance: f64, damage_modifier: f32, source: &DamageSource, ) -> bool

Mirrors vanilla LivingEntity.causeFallDamage.
Source§

fn get_armor_value(&self) -> i32

Gets the entity’s armor value from the attribute system.
Source§

fn get_attribute_gravity(&self) -> f64

Gets the gravity value from the attribute system.
Source§

fn get_effective_gravity(&self) -> f64

Returns vanilla LivingEntity.getEffectiveGravity().
Source§

fn is_affected_by_potions(&self) -> bool

Checks if the entity can be affected by potions.
Source§

fn default_can_be_affected(&self, effect: &MobEffectInstance) -> bool

Returns vanilla base LivingEntity.canBeAffected eligibility.
Source§

fn can_be_affected(&self, effect: &MobEffectInstance) -> bool

Returns whether this entity accepts a mob-effect instance. Read more
Source§

fn has_mob_effect(&self, effect: MobEffectRef) -> bool

Returns vanilla LivingEntity.hasEffect().
Source§

fn mob_effect(&self, effect: MobEffectRef) -> Option<ActiveMobEffect>

Returns vanilla LivingEntity.getEffect().
Source§

fn active_mob_effects(&self) -> Vec<ActiveMobEffect>

Returns all active vanilla mob effects.
Source§

fn set_mob_effect(&self, effect: MobEffectRef, amplifier: i32)

Sets active vanilla mob-effect state.
Source§

fn add_mob_effect(&self, effect: MobEffectInstance) -> bool

Adds or updates active vanilla mob-effect state.
Source§

fn set_mob_effect_active(&self, effect: MobEffectRef, active: bool)

Sets the presence of a vanilla mob effect.
Source§

fn remove_mob_effect(&self, effect: MobEffectRef) -> bool

Removes active vanilla mob-effect state.
Source§

fn tick_mob_effects(&self)

Ticks vanilla server-side mob-effect behavior and durations.
Source§

fn has_water_breathing(&self) -> bool

Returns whether vanilla effects keep this entity from drowning.
Source§

fn should_effects_refill_air_supply(&self) -> bool

Returns whether active vanilla effects refill this entity’s air supply.
Source§

fn can_breathe_underwater(&self) -> bool

Returns vanilla LivingEntity.canBreatheUnderwater.
Source§

fn can_drown_in_water(&self) -> bool

Returns whether this entity can lose air and take drowning damage.
Source§

fn is_eye_in_bubble_column(&self) -> bool

Returns whether the entity’s eye block is a bubble column.
Source§

fn decrease_air_supply(&self, current_supply: i32) -> i32

Mirrors vanilla LivingEntity.decreaseAirSupply.
Source§

fn increase_air_supply(&self, current_supply: i32) -> i32

Mirrors vanilla LivingEntity.increaseAirSupply.
Source§

fn should_take_drowning_damage(&self) -> bool

Mirrors vanilla LivingEntity.shouldTakeDrowningDamage.
Source§

fn tick_living_air_supply(&self)

Ticks vanilla living air-supply and drowning behavior from baseTick.
Source§

fn is_in_wall(&self) -> bool

Mirrors vanilla LivingEntity.isInWall.
Source§

fn tick_in_wall_damage(&self)

Applies vanilla living in-wall damage from baseTick.
Source§

fn tick_living_environmental_damage(&self)

Applies vanilla living environmental damage in LivingEntity.baseTick order.
Source§

fn can_stand_on_fluid(&self, _fluid_state: FluidState) -> bool

Returns vanilla LivingEntity.canStandOnFluid().
Source§

fn is_using_item(&self) -> bool

Checks if the entity is currently using an item.
Source§

fn is_blocking(&self) -> bool

Checks if the entity is blocking with a shield or similar item.
Source§

fn is_fall_flying(&self) -> bool

Checks if the entity is fall flying (using elytra).
Source§

fn set_fall_flying(&self, fall_flying: bool)

Sets whether this entity is fall flying.
Source§

fn fall_flying_ticks(&self) -> i32

Returns vanilla LivingEntity.getFallFlyingTicks().
Source§

fn is_holding(&self, predicate: &mut dyn FnMut(&ItemStack) -> bool) -> bool

Returns vanilla LivingEntity.isHolding.
Source§

fn has_item_in_slot(&self, slot: EquipmentSlot) -> bool

Returns whether this entity currently has an item in slot.
Source§

fn can_use_slot(&self, _slot: EquipmentSlot) -> bool

Returns whether vanilla allows this entity to use slot.
Source§

fn can_dispenser_equip_into_slot(&self, _slot: EquipmentSlot) -> bool

Returns the effective vanilla dispenser slot gate for living entities and mobs.
Source§

fn can_equip_with_dispenser(&self, item_stack: &ItemStack) -> bool

Returns vanilla LivingEntity.canEquipWithDispenser.
Source§

fn is_equippable_in_slot( &self, item_stack: &ItemStack, slot: EquipmentSlot, ) -> bool

Returns vanilla LivingEntity.isEquippableInSlot.
Source§

fn equip_sound( &self, slot: EquipmentSlot, stack: &ItemStack, ) -> Option<SoundEventRef>

Returns the equip sound Steel can currently resolve for this entity.
Source§

fn refresh_equipment_attribute_modifiers(&self, slot: EquipmentSlot)

Refreshes transient item attribute modifiers for one equipment slot.
Source§

fn detect_equipment_updates(&self)

Detects and applies Vanilla living-equipment changes once per tick.
Source§

fn pack_living_equipment(&self) -> Vec<EquipmentSlotItem>

Packs non-empty living equipment slots for initial spawn pairing.
Source§

fn drain_dirty_living_equipment(&self) -> Vec<EquipmentSlotItem>

Drains dirty living equipment slots for tracker sync.
Source§

fn on_equipped_item_broken(&self, slot: EquipmentSlot)

Called after an equipped item breaks.
Source§

fn default_living_can_freeze(&self) -> bool

Returns vanilla LivingEntity.canFreeze() after concrete entity exemptions. Read more
Source§

fn is_on_non_air_block_for_frost(&self) -> bool

Returns whether vanilla tryAddFrost sees a non-air block below.
Source§

fn remove_frost(&self)

Mirrors vanilla LivingEntity.removeFrost.
Source§

fn try_add_frost(&self)

Mirrors vanilla LivingEntity.tryAddFrost.
Source§

fn tick_freezing(&self)

Ticks vanilla LivingEntity.aiStep freezing effects.
Source§

fn tick_living_state(&self)

Ticks living-entity counters after movement.
Source§

fn can_glide_using(&self, item_stack: &ItemStack, slot: EquipmentSlot) -> bool

Mirrors vanilla LivingEntity.canGlideUsing().
Source§

fn can_glide_using_equipment_slot(&self, slot: EquipmentSlot) -> bool

Returns whether the item in slot can be used for vanilla gliding.
Source§

fn damage_random_glider(&self)

Damages one random equipped glider like vanilla LivingEntity.updateFallFlying().
Source§

fn default_can_glide(&self) -> bool

Default vanilla LivingEntity.canGlide() implementation for overrides.
Source§

fn start_fall_flying(&self)

Mirrors vanilla Player.startFallFlying().
Source§

fn try_to_start_fall_flying(&self) -> bool

Mirrors vanilla Player.tryToStartFallFlying().
Source§

fn last_climbable_pos(&self) -> Option<BlockPos>

Returns the last climbable block position this living entity touched.
Source§

fn set_last_climbable_pos(&self, pos: BlockPos)

Records the last climbable block position this living entity touched.
Source§

fn default_living_on_climbable(&self) -> bool

Returns vanilla LivingEntity.onClimbable() behavior.
Source§

fn should_discard_friction(&self) -> bool

Returns whether vanilla living travel should skip friction damping.
Source§

fn set_discard_friction(&self, discard_friction: bool)

Sets whether vanilla living travel should skip friction damping.
Source§

fn is_jumping(&self) -> bool

Returns whether this living entity is currently applying jump input.
Source§

fn set_jumping(&self, jumping: bool)

Sets whether this living entity is currently applying jump input.
Source§

fn travel_input(&self) -> LivingTravelInput

Returns vanilla living travel input.
Source§

fn set_travel_input(&self, input: LivingTravelInput)

Sets vanilla living travel input.
Source§

fn apply_input(&self)

Applies vanilla LivingEntity.applyInput() damping.
Source§

fn no_jump_delay(&self) -> i32

Returns vanilla jump cooldown ticks.
Source§

fn set_no_jump_delay(&self, ticks: i32)

Sets vanilla jump cooldown ticks.
Source§

fn tick_no_jump_delay(&self)

Decrements vanilla jump cooldown once per living AI step.
Source§

fn default_is_immobile(&self) -> bool

Returns vanilla LivingEntity.isImmobile().
Source§

fn apply_living_velocity_thresholds(&self)

Applies vanilla LivingEntity.aiStep() velocity thresholds.
Source§

fn server_ai_step(&self)

Server AI hook called from vanilla LivingEntity.aiStep().
Source§

fn get_jump_boost_power(&self) -> f32

Returns vanilla LivingEntity.getJumpBoostPower().
Source§

fn get_jump_power_with_multiplier(&self, multiplier: f32) -> f32

Returns vanilla LivingEntity.getJumpPower(float).
Source§

fn get_jump_power(&self) -> f32

Returns vanilla LivingEntity.getJumpPower().
Source§

fn default_jump_from_ground(&self)

Default vanilla LivingEntity.jumpFromGround() implementation for overrides.
Source§

fn go_down_in_water(&self)

Mirrors vanilla LivingEntity.goDownInWater().
Source§

fn jump_in_liquid(&self, _fluid_tag: &Identifier)

Mirrors vanilla LivingEntity.jumpInLiquid().
Source§

fn handle_living_jump(&self)

Applies vanilla LivingEntity.aiStep() jump handling.
Source§

fn tick_ridden(&self, _controller: &Player, _ridden_input: DVec3)

Mirrors vanilla LivingEntity.tickRidden().
Source§

fn ridden_input(&self, _controller: &Player, self_input: DVec3) -> DVec3

Mirrors vanilla LivingEntity.getRiddenInput().
Source§

fn ridden_speed(&self, _controller: &Player) -> f32

Mirrors vanilla LivingEntity.getRiddenSpeed().
Source§

fn travel_ridden( &self, controller: &Player, self_input: DVec3, ) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travelRidden().
Source§

fn default_ai_step(&self) -> Option<MoveResult>

Default vanilla-shaped LivingEntity.aiStep() movement foundation for overrides. Read more
Source§

fn push_entities(&self)

Mirrors vanilla LivingEntity.pushEntities().
Source§

fn apply_entity_cramming_damage( &self, world: &World, pushable_entities: &[SharedEntity], )

Applies vanilla max entity cramming damage from LivingEntity.pushEntities().
Source§

fn is_suppressing_sliding_down_ladder(&self) -> bool

Returns vanilla LivingEntity.isSuppressingSlidingDownLadder().
Source§

fn levitation_travel_y_delta(&self, movement_y: f64) -> Option<f64>

Returns a levitation velocity adjustment for travelInAir.
Source§

fn should_travel_in_fluid(&self, fluid_state: FluidState) -> bool

Returns whether vanilla LivingEntity.travel() should use fluid movement.
Source§

fn get_water_slow_down(&self) -> f32

Returns vanilla LivingEntity.getWaterSlowDown().
Source§

fn water_movement_efficiency(&self) -> f32

Returns the water movement efficiency attribute used by fluid travel.
Source§

fn has_dolphins_grace(&self) -> bool

Returns whether dolphin’s grace should apply to water travel.
Source§

fn get_friction_influenced_speed(&self, block_friction: f32) -> f32

Returns vanilla LivingEntity.getFrictionInfluencedSpeed().
Source§

fn air_travel_vertical_friction(&self, _horizontal_friction: f32) -> f32

Returns the vertical friction used by travelInAir.
Source§

fn handle_on_climbable(&self, movement: DVec3) -> DVec3

Applies vanilla LivingEntity.handleOnClimbable().
Source§

fn apply_living_travel_gravity(&self)

Applies gravity using vanilla living-entity effective gravity.
Source§

fn handle_relative_friction_and_calculate_movement( &self, input: DVec3, block_friction: f32, ) -> Option<(DVec3, MoveResult)>

Mirrors vanilla LivingEntity.handleRelativeFrictionAndCalculateMovement().
Source§

fn travel_in_air(&self, input: DVec3) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travelInAir().
Source§

fn get_fluid_falling_adjusted_movement( &self, base_gravity: f64, is_falling: bool, movement: DVec3, ) -> DVec3

Mirrors vanilla LivingEntity.getFluidFallingAdjustedMovement().
Source§

fn jump_out_of_fluid(&self, old_y: f64)

Mirrors vanilla LivingEntity.jumpOutOfFluid().
Source§

fn float_in_water_while_ridden(&self)

Mirrors vanilla LivingEntity.floatInWaterWhileRidden().
Source§

fn travel_in_water( &self, input: DVec3, base_gravity: f64, is_falling: bool, old_y: f64, ) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travelInWater().
Source§

fn travel_in_lava( &self, input: DVec3, base_gravity: f64, is_falling: bool, old_y: f64, ) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travelInLava().
Source§

fn travel_in_fluid(&self, input: DVec3) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travelInFluid().
Source§

fn update_fall_flying(&self)

Mirrors the validation part of vanilla LivingEntity.updateFallFlying().
Source§

fn update_fall_flying_movement(&self, movement: DVec3) -> DVec3

Mirrors vanilla LivingEntity.updateFallFlyingMovement().
Source§

fn stop_fall_flying(&self)

Mirrors vanilla LivingEntity.stopFallFlying().
Source§

fn handle_fall_flying_collisions( &self, previous_horizontal_speed: f64, new_horizontal_speed: f64, )

Mirrors vanilla LivingEntity.handleFallFlyingCollisions().
Source§

fn travel_fall_flying(&self, input: DVec3) -> Option<MoveResult>

Mirrors vanilla LivingEntity.travelFallFlying().
Source§

fn default_travel(&self, input: DVec3) -> Option<MoveResult>

Default vanilla LivingEntity.travel() implementation for overrides.
Source§

fn sleeping_pos(&self) -> Option<BlockPos>

Returns the bed position that makes this living entity sleeping.
Source§

fn set_sleeping_pos(&self, bed_position: BlockPos)

Sets the vanilla living-entity sleeping position.
Source§

fn clear_sleeping_pos(&self)

Clears the vanilla living-entity sleeping position.
Source§

fn is_sleeping(&self) -> bool

Checks if the entity is sleeping.
Source§

fn stop_sleeping(&self)

Stops the entity from sleeping.
Source§

fn is_sprinting(&self) -> bool

Checks if the entity is sprinting.
Source§

fn set_sprinting(&self, sprinting: bool)

Sets whether the entity is sprinting.
Source§

fn get_speed(&self) -> f32

Gets the entity’s cached movement speed.
Source§

fn set_speed(&self, speed: f32)

Sets the entity’s cached movement speed.
Source§

fn apply_post_impulse_grace_time(&self, ticks: i32)

Applies vanilla post-impulse movement validation grace.
Source§

fn set_ignore_fall_damage_from_current_impulse( &self, ignore_fall_damage: bool, new_impulse_impact_pos: DVec3, )

Mirrors vanilla LivingEntity.setIgnoreFallDamageFromCurrentImpulse.
Source§

fn is_ignoring_fall_damage_from_current_impulse(&self) -> bool

Returns vanilla LivingEntity.isIgnoringFallDamageFromCurrentImpulse.
Source§

fn current_impulse_impact_pos(&self) -> Option<DVec3>

Returns vanilla LivingEntity.currentImpulseImpactPos.
Source§

fn try_reset_current_impulse_context(&self)

Mirrors vanilla LivingEntity.tryResetCurrentImpulseContext.
Source§

fn reset_current_impulse_context(&self)

Mirrors vanilla LivingEntity.resetCurrentImpulseContext.
Source§

fn is_in_post_impulse_grace_time(&self) -> bool

Returns whether movement validation is inside post-impulse grace.
Source§

fn tick_post_impulse_grace_time(&self)

Decrements post-impulse grace once per living-entity tick.
Source§

fn refresh_dirty_attributes(&self)

Drains dirty attributes and applies server-side effects.
Source§

impl TextResolutor for Player

Source§

fn resolve_content(&self, _resolvable: &Resolvable) -> TextComponent

Source§

fn resolve_custom(&self, _data: &CustomData) -> Option<TextComponent>

Source§

fn translate(&self, _key: &str) -> Option<String>

§

fn resolve_other(&self, content: &Content) -> TextComponent

§

fn split_translation(&self, text: String) -> Vec<(String, usize)>

Auto Trait Implementations§

§

impl !Freeze for Player

§

impl !RefUnwindSafe for Player

§

impl !UnwindSafe for Player

§

impl Send for Player

§

impl Sync for Player

§

impl Unpin for Player

§

impl UnsafeUnpin for Player

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> Downcast for T
where T: ErasedType + ?Sized,

Source§

fn is<T>(&self) -> bool
where T: DowncastType,

Returns whether the erased value has concrete type T.
Source§

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,

Returns the erased value as mutable T when its key matches.
Source§

impl<T> EntityEventSource for T
where T: Entity,

Source§

fn as_entity_event_source(&self) -> &(dyn Entity + 'static)

Returns this entity as a game-event source.
Source§

impl<T> ErasedType for T
where T: DowncastType,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoShared for T

Source§

fn into_shared(self) -> Arc<Mutex<RawMutex, Self>>

Wraps this value in an Arc<SyncMutex<>>
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more