pub trait Component: Send + Sync + 'static {
    type Storage: ComponentStorage;
}
Expand description

A data type that can be used to store data for an entity.

Component is a derivable trait: this means that a data type can implement it by applying a #[derive(Component)] attribute to it. However, components must always satisfy the Send + Sync + 'static trait bounds.

Examples

Components can take many forms: they are usually structs, but can also be of every other kind of data type, like enums or zero sized types. The following examples show how components are laid out in code.

// A component can contain data...
#[derive(Component)]
struct LicensePlate(String);

// ... but it can also be a zero-sized marker.
#[derive(Component)]
struct Car;

// Components can also be structs with named fields...
#[derive(Component)]
struct VehiclePerformance {
    acceleration: f32,
    top_speed: f32,
    handling: f32,
}

// ... or enums.
#[derive(Component)]
enum WheelCount {
    Two,
    Three,
    Four,
}

Component and data access

See the entity module level documentation to learn how to add or remove components from an entity.

See the documentation for Query to learn how to access component data from a system.

Choosing a storage type

Components can be stored in the world using different strategies with their own performance implications. By default, components are added to the Table storage, which is optimized for query iteration.

Alternatively, components can be added to the SparseSet storage, which is optimized for component insertion and removal. This is achieved by adding an additional #[component(storage = "SparseSet")] attribute to the derive one:

#[derive(Component)]
#[component(storage = "SparseSet")]
struct ComponentA;

Implementing the trait for foreign types

As a consequence of the orphan rule, it is not possible to separate into two different crates the implementation of Component from the definition of a type. This means that it is not possible to directly have a type defined in a third party library as a component. This important limitation can be easily worked around using the newtype pattern: this makes it possible to locally define and implement Component for a tuple struct that wraps the foreign type. The following example gives a demonstration of this pattern.

// `Component` is defined in the `bevy_ecs` crate.
use bevy_ecs::component::Component;

// `Duration` is defined in the `std` crate.
use std::time::Duration;

// It is not possible to implement `Component` for `Duration` from this position, as they are
// both foreign items, defined in an external crate. However, nothing prevents to define a new
// `Cooldown` type that wraps `Duration`. As `Cooldown` is defined in a local crate, it is
// possible to implement `Component` for it.
#[derive(Component)]
struct Cooldown(Duration);

!Sync Components

A !Sync type cannot implement Component. However, it is possible to wrap a Send but not Sync type in SyncCell or the currently unstable Exclusive to make it Sync. This forces only having mutable access (&mut T only, never &T), but makes it safe to reference across multiple threads.

This will fail to compile since RefCell is !Sync.

#[derive(Component)]
struct NotSync {
   counter: RefCell<usize>,
}

This will compile since the RefCell is wrapped with SyncCell.

use bevy_utils::synccell::SyncCell;

// This will compile.
#[derive(Component)]
struct ActuallySync {
   counter: SyncCell<RefCell<usize>>,
}

Required Associated Types§

type Storage: ComponentStorage

A marker type indicating the storage type used for this component. This must be either TableStorage or SparseStorage.

Implementations on Foreign Types§

source§

impl Component for AdvancementCachedByteswhere AdvancementCachedBytes: Send + Sync + 'static,

§

impl Component for Parentwhere Parent: Send + Sync + 'static,

§

impl Component for Childrenwhere Children: Send + Sync + 'static,

§

impl Component for Namewhere Name: Send + Sync + 'static,

source§

impl Component for AnvilLevelwhere AnvilLevel: Send + Sync + 'static,

source§

impl Component for BossBarHealthwhere BossBarHealth: Send + Sync + 'static,

source§

impl Component for BossBarStylewhere BossBarStyle: Send + Sync + 'static,

source§

impl Component for BossBarTitlewhere BossBarTitle: Send + Sync + 'static,

source§

impl Component for CommandScopeswhere CommandScopes: Send + Sync + 'static,

source§

impl Component for ClientInventoryStatewhere ClientInventoryState: Send + Sync + 'static,

source§

impl Component for HeldItemwhere HeldItem: Send + Sync + 'static,

source§

impl Component for DisplayNamewhere DisplayName: Send + Sync + 'static,

source§

impl Component for Listedwhere Listed: Send + Sync + 'static,

source§

impl Component for ObjectiveScoreswhere ObjectiveScores: Send + Sync + 'static,

source§

impl Component for Objectivewhere Objective: Send + Sync + 'static,

source§

impl Component for OldObjectiveScoreswhere OldObjectiveScores: Send + Sync + 'static,

source§

impl Component for ObjectiveDisplaywhere ObjectiveDisplay: Send + Sync + 'static,

source§

impl Component for Thunderwhere Thunder: Send + Sync + 'static,

source§

impl Component for Rainwhere Rain: Send + Sync + 'static,

source§

impl Component for WorldBorderPortalTpBoundarywhere WorldBorderPortalTpBoundary: Send + Sync + 'static,

source§

impl Component for WorldBorderCenterwhere WorldBorderCenter: Send + Sync + 'static,

source§

impl Component for WorldBorderWarnBlockswhere WorldBorderWarnBlocks: Send + Sync + 'static,

source§

impl Component for WorldBorderLerpwhere WorldBorderLerp: Send + Sync + 'static,

source§

impl Component for WorldBorderWarnTimewhere WorldBorderWarnTime: Send + Sync + 'static,

Implementors§

source§

impl Component for Directionwhere Direction: Send + Sync + 'static,

source§

impl Component for GameModewhere GameMode: Send + Sync + 'static,

source§

impl Component for ScoreboardPositionwhere ScoreboardPosition: Send + Sync + 'static,

source§

impl Component for ObjectiveRenderTypewhere ObjectiveRenderType: Send + Sync + 'static,

source§

impl Component for FlyingSpeedwhere FlyingSpeed: Send + Sync + 'static,

source§

impl Component for FovModifierwhere FovModifier: Send + Sync + 'static,

source§

impl Component for ActionSequencewhere ActionSequence: Send + Sync + 'static,

source§

impl Component for Clientwhere Client: Send + Sync + 'static,

source§

impl Component for ClientMarkerwhere ClientMarker: Send + Sync + 'static,

source§

impl Component for EntityRemoveBufwhere EntityRemoveBuf: Send + Sync + 'static,

source§

impl Component for Ipwhere Ip: Send + Sync + 'static,

source§

impl Component for OldViewDistancewhere OldViewDistance: Send + Sync + 'static,

source§

impl Component for OldVisibleChunkLayerwhere OldVisibleChunkLayer: Send + Sync + 'static,

source§

impl Component for OldVisibleEntityLayerswhere OldVisibleEntityLayers: Send + Sync + 'static,

source§

impl Component for Propertieswhere Properties: Send + Sync + 'static,

source§

impl Component for Usernamewhere Username: Send + Sync + 'static,

source§

impl Component for ViewDistancewhere ViewDistance: Send + Sync + 'static,

source§

impl Component for VisibleChunkLayerwhere VisibleChunkLayer: Send + Sync + 'static,

source§

impl Component for VisibleEntityLayerswhere VisibleEntityLayers: Send + Sync + 'static,

source§

impl Component for ClientSettingswhere ClientSettings: Send + Sync + 'static,

source§

impl Component for AbstractDecorationEntitywhere AbstractDecorationEntity: Send + Sync + 'static,

source§

impl Component for AbstractDonkeyEntitywhere AbstractDonkeyEntity: Send + Sync + 'static,

source§

impl Component for Chestwhere Chest: Send + Sync + 'static,

source§

impl Component for AbstractFireballEntitywhere AbstractFireballEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::abstract_fireball::Itemwhere Item: Send + Sync + 'static,

source§

impl Component for AbstractHorseEntitywhere AbstractHorseEntity: Send + Sync + 'static,

source§

impl Component for HorseFlagswhere HorseFlags: Send + Sync + 'static,

source§

impl Component for AbstractMinecartEntitywhere AbstractMinecartEntity: Send + Sync + 'static,

source§

impl Component for CustomBlockIdwhere CustomBlockId: Send + Sync + 'static,

source§

impl Component for CustomBlockOffsetwhere CustomBlockOffset: Send + Sync + 'static,

source§

impl Component for CustomBlockPresentwhere CustomBlockPresent: Send + Sync + 'static,

source§

impl Component for valence::entity::abstract_minecart::DamageWobbleSidewhere DamageWobbleSide: Send + Sync + 'static,

source§

impl Component for valence::entity::abstract_minecart::DamageWobbleStrengthwhere DamageWobbleStrength: Send + Sync + 'static,

source§

impl Component for valence::entity::abstract_minecart::DamageWobbleTickswhere DamageWobbleTicks: Send + Sync + 'static,

source§

impl Component for AbstractPiglinEntitywhere AbstractPiglinEntity: Send + Sync + 'static,

source§

impl Component for ImmuneToZombificationwhere ImmuneToZombification: Send + Sync + 'static,

source§

impl Component for AbstractSkeletonEntitywhere AbstractSkeletonEntity: Send + Sync + 'static,

source§

impl Component for AllayEntitywhere AllayEntity: Send + Sync + 'static,

source§

impl Component for CanDuplicatewhere CanDuplicate: Send + Sync + 'static,

source§

impl Component for valence::entity::allay::Dancingwhere Dancing: Send + Sync + 'static,

source§

impl Component for AmbientEntitywhere AmbientEntity: Send + Sync + 'static,

source§

impl Component for AnimalEntitywhere AnimalEntity: Send + Sync + 'static,

source§

impl Component for AreaEffectCloudEntitywhere AreaEffectCloudEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::area_effect_cloud::Colorwhere Color: Send + Sync + 'static,

source§

impl Component for ParticleIdwhere ParticleId: Send + Sync + 'static,

source§

impl Component for Radiuswhere Radius: Send + Sync + 'static,

source§

impl Component for Waitingwhere Waiting: Send + Sync + 'static,

source§

impl Component for ArmorStandEntitywhere ArmorStandEntity: Send + Sync + 'static,

source§

impl Component for ArmorStandFlagswhere ArmorStandFlags: Send + Sync + 'static,

source§

impl Component for TrackerBodyRotationwhere TrackerBodyRotation: Send + Sync + 'static,

source§

impl Component for TrackerHeadRotationwhere TrackerHeadRotation: Send + Sync + 'static,

source§

impl Component for TrackerLeftArmRotationwhere TrackerLeftArmRotation: Send + Sync + 'static,

source§

impl Component for TrackerLeftLegRotationwhere TrackerLeftLegRotation: Send + Sync + 'static,

source§

impl Component for TrackerRightArmRotationwhere TrackerRightArmRotation: Send + Sync + 'static,

source§

impl Component for TrackerRightLegRotationwhere TrackerRightLegRotation: Send + Sync + 'static,

source§

impl Component for ArrowEntitywhere ArrowEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::arrow::Colorwhere Color: Send + Sync + 'static,

source§

impl Component for EntityAttributeInstancewhere EntityAttributeInstance: Send + Sync + 'static,

source§

impl Component for EntityAttributeswhere EntityAttributes: Send + Sync + 'static,

source§

impl Component for TrackedEntityAttributeswhere TrackedEntityAttributes: Send + Sync + 'static,

source§

impl Component for AxolotlEntitywhere AxolotlEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::axolotl::FromBucketwhere FromBucket: Send + Sync + 'static,

source§

impl Component for PlayingDeadwhere PlayingDead: Send + Sync + 'static,

source§

impl Component for valence::entity::axolotl::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for BatEntitywhere BatEntity: Send + Sync + 'static,

source§

impl Component for BatFlagswhere BatFlags: Send + Sync + 'static,

source§

impl Component for valence::entity::bee::Angerwhere Anger: Send + Sync + 'static,

source§

impl Component for BeeEntitywhere BeeEntity: Send + Sync + 'static,

source§

impl Component for BeeFlagswhere BeeFlags: Send + Sync + 'static,

source§

impl Component for BlazeEntitywhere BlazeEntity: Send + Sync + 'static,

source§

impl Component for BlazeFlagswhere BlazeFlags: Send + Sync + 'static,

source§

impl Component for BlockDisplayEntitywhere BlockDisplayEntity: Send + Sync + 'static,

source§

impl Component for BlockStatewhere BlockState: Send + Sync + 'static,

source§

impl Component for BoatEntitywhere BoatEntity: Send + Sync + 'static,

source§

impl Component for BoatTypewhere BoatType: Send + Sync + 'static,

source§

impl Component for BubbleWobbleTickswhere BubbleWobbleTicks: Send + Sync + 'static,

source§

impl Component for valence::entity::boat::DamageWobbleSidewhere DamageWobbleSide: Send + Sync + 'static,

source§

impl Component for valence::entity::boat::DamageWobbleStrengthwhere DamageWobbleStrength: Send + Sync + 'static,

source§

impl Component for valence::entity::boat::DamageWobbleTickswhere DamageWobbleTicks: Send + Sync + 'static,

source§

impl Component for LeftPaddleMovingwhere LeftPaddleMoving: Send + Sync + 'static,

source§

impl Component for RightPaddleMovingwhere RightPaddleMoving: Send + Sync + 'static,

source§

impl Component for CamelEntitywhere CamelEntity: Send + Sync + 'static,

source§

impl Component for Dashingwhere Dashing: Send + Sync + 'static,

source§

impl Component for LastPoseTickwhere LastPoseTick: Send + Sync + 'static,

source§

impl Component for CatEntitywhere CatEntity: Send + Sync + 'static,

source§

impl Component for CatVariantwhere CatVariant: Send + Sync + 'static,

source§

impl Component for valence::entity::cat::CollarColorwhere CollarColor: Send + Sync + 'static,

source§

impl Component for HeadDownwhere HeadDown: Send + Sync + 'static,

source§

impl Component for InSleepingPosewhere InSleepingPose: Send + Sync + 'static,

source§

impl Component for CaveSpiderEntitywhere CaveSpiderEntity: Send + Sync + 'static,

source§

impl Component for ChestBoatEntitywhere ChestBoatEntity: Send + Sync + 'static,

source§

impl Component for ChestMinecartEntitywhere ChestMinecartEntity: Send + Sync + 'static,

source§

impl Component for ChickenEntitywhere ChickenEntity: Send + Sync + 'static,

source§

impl Component for CodEntitywhere CodEntity: Send + Sync + 'static,

source§

impl Component for Commandwhere Command: Send + Sync + 'static,

source§

impl Component for CommandBlockMinecartEntitywhere CommandBlockMinecartEntity: Send + Sync + 'static,

source§

impl Component for LastOutputwhere LastOutput: Send + Sync + 'static,

source§

impl Component for CowEntitywhere CowEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::creeper::Chargedwhere Charged: Send + Sync + 'static,

source§

impl Component for CreeperEntitywhere CreeperEntity: Send + Sync + 'static,

source§

impl Component for FuseSpeedwhere FuseSpeed: Send + Sync + 'static,

source§

impl Component for Ignitedwhere Ignited: Send + Sync + 'static,

source§

impl Component for Billboardwhere Billboard: Send + Sync + 'static,

source§

impl Component for Brightnesswhere Brightness: Send + Sync + 'static,

source§

impl Component for DisplayEntitywhere DisplayEntity: Send + Sync + 'static,

source§

impl Component for GlowColorOverridewhere GlowColorOverride: Send + Sync + 'static,

source§

impl Component for valence::entity::display::Heightwhere Height: Send + Sync + 'static,

source§

impl Component for InterpolationDurationwhere InterpolationDuration: Send + Sync + 'static,

source§

impl Component for LeftRotationwhere LeftRotation: Send + Sync + 'static,

source§

impl Component for RightRotationwhere RightRotation: Send + Sync + 'static,

source§

impl Component for Scalewhere Scale: Send + Sync + 'static,

source§

impl Component for ShadowRadiuswhere ShadowRadius: Send + Sync + 'static,

source§

impl Component for ShadowStrengthwhere ShadowStrength: Send + Sync + 'static,

source§

impl Component for StartInterpolationwhere StartInterpolation: Send + Sync + 'static,

source§

impl Component for Translationwhere Translation: Send + Sync + 'static,

source§

impl Component for ViewRangewhere ViewRange: Send + Sync + 'static,

source§

impl Component for valence::entity::display::Widthwhere Width: Send + Sync + 'static,

source§

impl Component for DolphinEntitywhere DolphinEntity: Send + Sync + 'static,

source§

impl Component for HasFishwhere HasFish: Send + Sync + 'static,

source§

impl Component for Moistnesswhere Moistness: Send + Sync + 'static,

source§

impl Component for TreasurePoswhere TreasurePos: Send + Sync + 'static,

source§

impl Component for DonkeyEntitywhere DonkeyEntity: Send + Sync + 'static,

source§

impl Component for DragonFireballEntitywhere DragonFireballEntity: Send + Sync + 'static,

source§

impl Component for DrownedEntitywhere DrownedEntity: Send + Sync + 'static,

source§

impl Component for EggEntitywhere EggEntity: Send + Sync + 'static,

source§

impl Component for ElderGuardianEntitywhere ElderGuardianEntity: Send + Sync + 'static,

source§

impl Component for BeamTargetwhere BeamTarget: Send + Sync + 'static,

source§

impl Component for EndCrystalEntitywhere EndCrystalEntity: Send + Sync + 'static,

source§

impl Component for ShowBottomwhere ShowBottom: Send + Sync + 'static,

source§

impl Component for EnderDragonEntitywhere EnderDragonEntity: Send + Sync + 'static,

source§

impl Component for PhaseTypewhere PhaseType: Send + Sync + 'static,

source§

impl Component for EnderPearlEntitywhere EnderPearlEntity: Send + Sync + 'static,

source§

impl Component for Angrywhere Angry: Send + Sync + 'static,

source§

impl Component for CarriedBlockwhere CarriedBlock: Send + Sync + 'static,

source§

impl Component for EndermanEntitywhere EndermanEntity: Send + Sync + 'static,

source§

impl Component for Provokedwhere Provoked: Send + Sync + 'static,

source§

impl Component for EndermiteEntitywhere EndermiteEntity: Send + Sync + 'static,

source§

impl Component for Airwhere Air: Send + Sync + 'static,

source§

impl Component for CustomNamewhere CustomName: Send + Sync + 'static,

source§

impl Component for Entitywhere Entity: Send + Sync + 'static,

source§

impl Component for Flagswhere Flags: Send + Sync + 'static,

source§

impl Component for FrozenTickswhere FrozenTicks: Send + Sync + 'static,

source§

impl Component for NameVisiblewhere NameVisible: Send + Sync + 'static,

source§

impl Component for NoGravitywhere NoGravity: Send + Sync + 'static,

source§

impl Component for Posewhere Pose: Send + Sync + 'static,

source§

impl Component for Silentwhere Silent: Send + Sync + 'static,

source§

impl Component for EvokerEntitywhere EvokerEntity: Send + Sync + 'static,

source§

impl Component for EvokerFangsEntitywhere EvokerFangsEntity: Send + Sync + 'static,

source§

impl Component for ExperienceBottleEntitywhere ExperienceBottleEntity: Send + Sync + 'static,

source§

impl Component for ExperienceOrbEntitywhere ExperienceOrbEntity: Send + Sync + 'static,

source§

impl Component for ExplosiveProjectileEntitywhere ExplosiveProjectileEntity: Send + Sync + 'static,

source§

impl Component for EyeOfEnderEntitywhere EyeOfEnderEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::eye_of_ender::Itemwhere Item: Send + Sync + 'static,

source§

impl Component for BlockPoswhere BlockPos: Send + Sync + 'static,

source§

impl Component for FallingBlockEntitywhere FallingBlockEntity: Send + Sync + 'static,

source§

impl Component for FireballEntitywhere FireballEntity: Send + Sync + 'static,

source§

impl Component for FireworkRocketEntitywhere FireworkRocketEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::firework_rocket::Itemwhere Item: Send + Sync + 'static,

source§

impl Component for ShooterEntityIdwhere ShooterEntityId: Send + Sync + 'static,

source§

impl Component for ShotAtAnglewhere ShotAtAngle: Send + Sync + 'static,

source§

impl Component for FishEntitywhere FishEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::fish::FromBucketwhere FromBucket: Send + Sync + 'static,

source§

impl Component for CaughtFishwhere CaughtFish: Send + Sync + 'static,

source§

impl Component for FishingBobberEntitywhere FishingBobberEntity: Send + Sync + 'static,

source§

impl Component for HookEntityIdwhere HookEntityId: Send + Sync + 'static,

source§

impl Component for FlyingEntitywhere FlyingEntity: Send + Sync + 'static,

source§

impl Component for FoxEntitywhere FoxEntity: Send + Sync + 'static,

source§

impl Component for FoxFlagswhere FoxFlags: Send + Sync + 'static,

source§

impl Component for OtherTrustedwhere OtherTrusted: Send + Sync + 'static,

source§

impl Component for Ownerwhere Owner: Send + Sync + 'static,

source§

impl Component for valence::entity::fox::Typewhere Type: Send + Sync + 'static,

source§

impl Component for FrogEntitywhere FrogEntity: Send + Sync + 'static,

source§

impl Component for Targetwhere Target: Send + Sync + 'static,

source§

impl Component for valence::entity::frog::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for FurnaceMinecartEntitywhere FurnaceMinecartEntity: Send + Sync + 'static,

source§

impl Component for Litwhere Lit: Send + Sync + 'static,

source§

impl Component for GhastEntitywhere GhastEntity: Send + Sync + 'static,

source§

impl Component for Shootingwhere Shooting: Send + Sync + 'static,

source§

impl Component for GiantEntitywhere GiantEntity: Send + Sync + 'static,

source§

impl Component for GlowItemFrameEntitywhere GlowItemFrameEntity: Send + Sync + 'static,

source§

impl Component for DarkTicksRemainingwhere DarkTicksRemaining: Send + Sync + 'static,

source§

impl Component for GlowSquidEntitywhere GlowSquidEntity: Send + Sync + 'static,

source§

impl Component for GoatEntitywhere GoatEntity: Send + Sync + 'static,

source§

impl Component for LeftHornwhere LeftHorn: Send + Sync + 'static,

source§

impl Component for RightHornwhere RightHorn: Send + Sync + 'static,

source§

impl Component for Screamingwhere Screaming: Send + Sync + 'static,

source§

impl Component for GolemEntitywhere GolemEntity: Send + Sync + 'static,

source§

impl Component for BeamTargetIdwhere BeamTargetId: Send + Sync + 'static,

source§

impl Component for GuardianEntitywhere GuardianEntity: Send + Sync + 'static,

source§

impl Component for SpikesRetractedwhere SpikesRetracted: Send + Sync + 'static,

source§

impl Component for Hitboxwhere Hitbox: Send + Sync + 'static,

source§

impl Component for HitboxShapewhere HitboxShape: Send + Sync + 'static,

source§

impl Component for valence::entity::hoglin::Babywhere Baby: Send + Sync + 'static,

source§

impl Component for HoglinEntitywhere HoglinEntity: Send + Sync + 'static,

source§

impl Component for HopperMinecartEntitywhere HopperMinecartEntity: Send + Sync + 'static,

source§

impl Component for HorseEntitywhere HorseEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::horse::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for HostileEntitywhere HostileEntity: Send + Sync + 'static,

source§

impl Component for HuskEntitywhere HuskEntity: Send + Sync + 'static,

source§

impl Component for IllagerEntitywhere IllagerEntity: Send + Sync + 'static,

source§

impl Component for IllusionerEntitywhere IllusionerEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::interaction::Heightwhere Height: Send + Sync + 'static,

source§

impl Component for InteractionEntitywhere InteractionEntity: Send + Sync + 'static,

source§

impl Component for Responsewhere Response: Send + Sync + 'static,

source§

impl Component for valence::entity::interaction::Widthwhere Width: Send + Sync + 'static,

source§

impl Component for IronGolemEntitywhere IronGolemEntity: Send + Sync + 'static,

source§

impl Component for IronGolemFlagswhere IronGolemFlags: Send + Sync + 'static,

source§

impl Component for ItemEntitywhere ItemEntity: Send + Sync + 'static,

source§

impl Component for Stackwhere Stack: Send + Sync + 'static,

source§

impl Component for valence::entity::item_display::Itemwhere Item: Send + Sync + 'static,

source§

impl Component for ItemDisplaywhere ItemDisplay: Send + Sync + 'static,

source§

impl Component for ItemDisplayEntitywhere ItemDisplayEntity: Send + Sync + 'static,

source§

impl Component for ItemFrameEntitywhere ItemFrameEntity: Send + Sync + 'static,

source§

impl Component for ItemStackwhere ItemStack: Send + Sync + 'static,

source§

impl Component for Rotationwhere Rotation: Send + Sync + 'static,

source§

impl Component for LeashKnotEntitywhere LeashKnotEntity: Send + Sync + 'static,

source§

impl Component for LightningEntitywhere LightningEntity: Send + Sync + 'static,

source§

impl Component for Absorptionwhere Absorption: Send + Sync + 'static,

source§

impl Component for Healthwhere Health: Send + Sync + 'static,

source§

impl Component for LivingEntitywhere LivingEntity: Send + Sync + 'static,

source§

impl Component for LivingFlagswhere LivingFlags: Send + Sync + 'static,

source§

impl Component for PotionSwirlsAmbientwhere PotionSwirlsAmbient: Send + Sync + 'static,

source§

impl Component for PotionSwirlsColorwhere PotionSwirlsColor: Send + Sync + 'static,

source§

impl Component for SleepingPositionwhere SleepingPosition: Send + Sync + 'static,

source§

impl Component for StingerCountwhere StingerCount: Send + Sync + 'static,

source§

impl Component for StuckArrowCountwhere StuckArrowCount: Send + Sync + 'static,

source§

impl Component for CarpetColorwhere CarpetColor: Send + Sync + 'static,

source§

impl Component for LlamaEntitywhere LlamaEntity: Send + Sync + 'static,

source§

impl Component for Strengthwhere Strength: Send + Sync + 'static,

source§

impl Component for valence::entity::llama::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for LlamaSpitEntitywhere LlamaSpitEntity: Send + Sync + 'static,

source§

impl Component for MagmaCubeEntitywhere MagmaCubeEntity: Send + Sync + 'static,

source§

impl Component for MarkerEntitywhere MarkerEntity: Send + Sync + 'static,

source§

impl Component for HeadRollingTimeLeftwhere HeadRollingTimeLeft: Send + Sync + 'static,

source§

impl Component for MerchantEntitywhere MerchantEntity: Send + Sync + 'static,

source§

impl Component for MinecartEntitywhere MinecartEntity: Send + Sync + 'static,

source§

impl Component for MobEntitywhere MobEntity: Send + Sync + 'static,

source§

impl Component for MobFlagswhere MobFlags: Send + Sync + 'static,

source§

impl Component for MooshroomEntitywhere MooshroomEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::mooshroom::Typewhere Type: Send + Sync + 'static,

source§

impl Component for MuleEntitywhere MuleEntity: Send + Sync + 'static,

source§

impl Component for OcelotEntitywhere OcelotEntity: Send + Sync + 'static,

source§

impl Component for Trustingwhere Trusting: Send + Sync + 'static,

source§

impl Component for PaintingEntitywhere PaintingEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::painting::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for AskForBambooTickswhere AskForBambooTicks: Send + Sync + 'static,

source§

impl Component for EatingTickswhere EatingTicks: Send + Sync + 'static,

source§

impl Component for HiddenGenewhere HiddenGene: Send + Sync + 'static,

source§

impl Component for MainGenewhere MainGene: Send + Sync + 'static,

source§

impl Component for PandaEntitywhere PandaEntity: Send + Sync + 'static,

source§

impl Component for PandaFlagswhere PandaFlags: Send + Sync + 'static,

source§

impl Component for SneezeProgresswhere SneezeProgress: Send + Sync + 'static,

source§

impl Component for ParrotEntitywhere ParrotEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::parrot::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for Childwhere Child: Send + Sync + 'static,

source§

impl Component for PassiveEntitywhere PassiveEntity: Send + Sync + 'static,

source§

impl Component for PathAwareEntitywhere PathAwareEntity: Send + Sync + 'static,

source§

impl Component for PatrolEntitywhere PatrolEntity: Send + Sync + 'static,

source§

impl Component for PersistentProjectileEntitywhere PersistentProjectileEntity: Send + Sync + 'static,

source§

impl Component for PierceLevelwhere PierceLevel: Send + Sync + 'static,

source§

impl Component for ProjectileFlagswhere ProjectileFlags: Send + Sync + 'static,

source§

impl Component for PhantomEntitywhere PhantomEntity: Send + Sync + 'static,

source§

impl Component for Sizewhere Size: Send + Sync + 'static,

source§

impl Component for valence::entity::pig::BoostTimewhere BoostTime: Send + Sync + 'static,

source§

impl Component for PigEntitywhere PigEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::pig::Saddledwhere Saddled: Send + Sync + 'static,

source§

impl Component for valence::entity::piglin::Babywhere Baby: Send + Sync + 'static,

source§

impl Component for valence::entity::piglin::Chargingwhere Charging: Send + Sync + 'static,

source§

impl Component for valence::entity::piglin::Dancingwhere Dancing: Send + Sync + 'static,

source§

impl Component for PiglinEntitywhere PiglinEntity: Send + Sync + 'static,

source§

impl Component for PiglinBruteEntitywhere PiglinBruteEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::pillager::Chargingwhere Charging: Send + Sync + 'static,

source§

impl Component for PillagerEntitywhere PillagerEntity: Send + Sync + 'static,

source§

impl Component for AbsorptionAmountwhere AbsorptionAmount: Send + Sync + 'static,

source§

impl Component for Foodwhere Food: Send + Sync + 'static,

source§

impl Component for LeftShoulderEntitywhere LeftShoulderEntity: Send + Sync + 'static,

source§

impl Component for MainArmwhere MainArm: Send + Sync + 'static,

source§

impl Component for PlayerEntitywhere PlayerEntity: Send + Sync + 'static,

source§

impl Component for PlayerModelPartswhere PlayerModelParts: Send + Sync + 'static,

source§

impl Component for RightShoulderEntitywhere RightShoulderEntity: Send + Sync + 'static,

source§

impl Component for Saturationwhere Saturation: Send + Sync + 'static,

source§

impl Component for Scorewhere Score: Send + Sync + 'static,

source§

impl Component for PolarBearEntitywhere PolarBearEntity: Send + Sync + 'static,

source§

impl Component for Warningwhere Warning: Send + Sync + 'static,

source§

impl Component for PotionEntitywhere PotionEntity: Send + Sync + 'static,

source§

impl Component for ProjectileEntitywhere ProjectileEntity: Send + Sync + 'static,

source§

impl Component for PuffStatewhere PuffState: Send + Sync + 'static,

source§

impl Component for PufferfishEntitywhere PufferfishEntity: Send + Sync + 'static,

source§

impl Component for RabbitEntitywhere RabbitEntity: Send + Sync + 'static,

source§

impl Component for RabbitTypewhere RabbitType: Send + Sync + 'static,

source§

impl Component for Celebratingwhere Celebrating: Send + Sync + 'static,

source§

impl Component for RaiderEntitywhere RaiderEntity: Send + Sync + 'static,

source§

impl Component for RavagerEntitywhere RavagerEntity: Send + Sync + 'static,

source§

impl Component for SalmonEntitywhere SalmonEntity: Send + Sync + 'static,

source§

impl Component for SchoolingFishEntitywhere SchoolingFishEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::sheep::Colorwhere Color: Send + Sync + 'static,

source§

impl Component for SheepEntitywhere SheepEntity: Send + Sync + 'static,

source§

impl Component for AttachedFacewhere AttachedFace: Send + Sync + 'static,

source§

impl Component for valence::entity::shulker::Colorwhere Color: Send + Sync + 'static,

source§

impl Component for PeekAmountwhere PeekAmount: Send + Sync + 'static,

source§

impl Component for ShulkerEntitywhere ShulkerEntity: Send + Sync + 'static,

source§

impl Component for ShulkerBulletEntitywhere ShulkerBulletEntity: Send + Sync + 'static,

source§

impl Component for SilverfishEntitywhere SilverfishEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::skeleton::Convertingwhere Converting: Send + Sync + 'static,

source§

impl Component for SkeletonEntitywhere SkeletonEntity: Send + Sync + 'static,

source§

impl Component for SkeletonHorseEntitywhere SkeletonHorseEntity: Send + Sync + 'static,

source§

impl Component for SlimeEntitywhere SlimeEntity: Send + Sync + 'static,

source§

impl Component for SlimeSizewhere SlimeSize: Send + Sync + 'static,

source§

impl Component for SmallFireballEntitywhere SmallFireballEntity: Send + Sync + 'static,

source§

impl Component for FinishDigTimewhere FinishDigTime: Send + Sync + 'static,

source§

impl Component for SnifferEntitywhere SnifferEntity: Send + Sync + 'static,

source§

impl Component for Statewhere State: Send + Sync + 'static,

source§

impl Component for SnowGolemEntitywhere SnowGolemEntity: Send + Sync + 'static,

source§

impl Component for SnowGolemFlagswhere SnowGolemFlags: Send + Sync + 'static,

source§

impl Component for SnowballEntitywhere SnowballEntity: Send + Sync + 'static,

source§

impl Component for SpawnerMinecartEntitywhere SpawnerMinecartEntity: Send + Sync + 'static,

source§

impl Component for SpectralArrowEntitywhere SpectralArrowEntity: Send + Sync + 'static,

source§

impl Component for Spellwhere Spell: Send + Sync + 'static,

source§

impl Component for SpellcastingIllagerEntitywhere SpellcastingIllagerEntity: Send + Sync + 'static,

source§

impl Component for SpiderEntitywhere SpiderEntity: Send + Sync + 'static,

source§

impl Component for SpiderFlagswhere SpiderFlags: Send + Sync + 'static,

source§

impl Component for SquidEntitywhere SquidEntity: Send + Sync + 'static,

source§

impl Component for StorageMinecartEntitywhere StorageMinecartEntity: Send + Sync + 'static,

source§

impl Component for StrayEntitywhere StrayEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::strider::BoostTimewhere BoostTime: Send + Sync + 'static,

source§

impl Component for Coldwhere Cold: Send + Sync + 'static,

source§

impl Component for valence::entity::strider::Saddledwhere Saddled: Send + Sync + 'static,

source§

impl Component for StriderEntitywhere StriderEntity: Send + Sync + 'static,

source§

impl Component for EntityAnimationswhere EntityAnimations: Send + Sync + 'static,

source§

impl Component for EntityIdwhere EntityId: Send + Sync + 'static,

source§

impl Component for EntityKindwhere EntityKind: Send + Sync + 'static,

source§

impl Component for EntityLayerIdwhere EntityLayerId: Send + Sync + 'static,

source§

impl Component for EntityStatuseswhere EntityStatuses: Send + Sync + 'static,

source§

impl Component for HeadYawwhere HeadYaw: Send + Sync + 'static,

source§

impl Component for Lookwhere Look: Send + Sync + 'static,

source§

impl Component for ObjectDatawhere ObjectData: Send + Sync + 'static,

source§

impl Component for OldEntityLayerIdwhere OldEntityLayerId: Send + Sync + 'static,

source§

impl Component for OldPositionwhere OldPosition: Send + Sync + 'static,

source§

impl Component for OnGroundwhere OnGround: Send + Sync + 'static,

source§

impl Component for Positionwhere Position: Send + Sync + 'static,

source§

impl Component for Velocitywhere Velocity: Send + Sync + 'static,

source§

impl Component for TadpoleEntitywhere TadpoleEntity: Send + Sync + 'static,

source§

impl Component for OwnerUuidwhere OwnerUuid: Send + Sync + 'static,

source§

impl Component for TameableEntitywhere TameableEntity: Send + Sync + 'static,

source§

impl Component for TameableFlagswhere TameableFlags: Send + Sync + 'static,

source§

impl Component for TameableShoulderEntitywhere TameableShoulderEntity: Send + Sync + 'static,

source§

impl Component for Backgroundwhere Background: Send + Sync + 'static,

source§

impl Component for LineWidthwhere LineWidth: Send + Sync + 'static,

source§

impl Component for Textwhere Text: Send + Sync + 'static,

source§

impl Component for TextDisplayEntitywhere TextDisplayEntity: Send + Sync + 'static,

source§

impl Component for TextDisplayFlagswhere TextDisplayFlags: Send + Sync + 'static,

source§

impl Component for TextOpacitywhere TextOpacity: Send + Sync + 'static,

source§

impl Component for ThrownEntitywhere ThrownEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::thrown_item::Itemwhere Item: Send + Sync + 'static,

source§

impl Component for ThrownItemEntitywhere ThrownItemEntity: Send + Sync + 'static,

source§

impl Component for Fusewhere Fuse: Send + Sync + 'static,

source§

impl Component for TntEntitywhere TntEntity: Send + Sync + 'static,

source§

impl Component for TntMinecartEntitywhere TntMinecartEntity: Send + Sync + 'static,

source§

impl Component for TrackedDatawhere TrackedData: Send + Sync + 'static,

source§

impl Component for TraderLlamaEntitywhere TraderLlamaEntity: Send + Sync + 'static,

source§

impl Component for Enchantedwhere Enchanted: Send + Sync + 'static,

source§

impl Component for Loyaltywhere Loyalty: Send + Sync + 'static,

source§

impl Component for TridentEntitywhere TridentEntity: Send + Sync + 'static,

source§

impl Component for TropicalFishEntitywhere TropicalFishEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::tropical_fish::Variantwhere Variant: Send + Sync + 'static,

source§

impl Component for ActivelyTravelingwhere ActivelyTraveling: Send + Sync + 'static,

source§

impl Component for DiggingSandwhere DiggingSand: Send + Sync + 'static,

source§

impl Component for HasEggwhere HasEgg: Send + Sync + 'static,

source§

impl Component for HomePoswhere HomePos: Send + Sync + 'static,

source§

impl Component for LandBoundwhere LandBound: Send + Sync + 'static,

source§

impl Component for TravelPoswhere TravelPos: Send + Sync + 'static,

source§

impl Component for TurtleEntitywhere TurtleEntity: Send + Sync + 'static,

source§

impl Component for VexEntitywhere VexEntity: Send + Sync + 'static,

source§

impl Component for VexFlagswhere VexFlags: Send + Sync + 'static,

source§

impl Component for valence::entity::villager::VillagerDatawhere VillagerData: Send + Sync + 'static,

source§

impl Component for VillagerEntitywhere VillagerEntity: Send + Sync + 'static,

source§

impl Component for VindicatorEntitywhere VindicatorEntity: Send + Sync + 'static,

source§

impl Component for WanderingTraderEntitywhere WanderingTraderEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::warden::Angerwhere Anger: Send + Sync + 'static,

source§

impl Component for WardenEntitywhere WardenEntity: Send + Sync + 'static,

source§

impl Component for WaterCreatureEntitywhere WaterCreatureEntity: Send + Sync + 'static,

source§

impl Component for Drinkingwhere Drinking: Send + Sync + 'static,

source§

impl Component for WitchEntitywhere WitchEntity: Send + Sync + 'static,

source§

impl Component for InvulTimerwhere InvulTimer: Send + Sync + 'static,

source§

impl Component for TrackedEntityId1where TrackedEntityId1: Send + Sync + 'static,

source§

impl Component for TrackedEntityId2where TrackedEntityId2: Send + Sync + 'static,

source§

impl Component for TrackedEntityId3where TrackedEntityId3: Send + Sync + 'static,

source§

impl Component for WitherEntitywhere WitherEntity: Send + Sync + 'static,

source§

impl Component for WitherSkeletonEntitywhere WitherSkeletonEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::wither_skull::Chargedwhere Charged: Send + Sync + 'static,

source§

impl Component for WitherSkullEntitywhere WitherSkullEntity: Send + Sync + 'static,

source§

impl Component for AngerTimewhere AngerTime: Send + Sync + 'static,

source§

impl Component for Beggingwhere Begging: Send + Sync + 'static,

source§

impl Component for valence::entity::wolf::CollarColorwhere CollarColor: Send + Sync + 'static,

source§

impl Component for WolfEntitywhere WolfEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::zoglin::Babywhere Baby: Send + Sync + 'static,

source§

impl Component for ZoglinEntitywhere ZoglinEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::zombie::Babywhere Baby: Send + Sync + 'static,

source§

impl Component for ConvertingInWaterwhere ConvertingInWater: Send + Sync + 'static,

source§

impl Component for ZombieEntitywhere ZombieEntity: Send + Sync + 'static,

source§

impl Component for ZombieTypewhere ZombieType: Send + Sync + 'static,

source§

impl Component for ZombieHorseEntitywhere ZombieHorseEntity: Send + Sync + 'static,

source§

impl Component for valence::entity::zombie_villager::Convertingwhere Converting: Send + Sync + 'static,

source§

impl Component for valence::entity::zombie_villager::VillagerDatawhere VillagerData: Send + Sync + 'static,

source§

impl Component for ZombieVillagerEntitywhere ZombieVillagerEntity: Send + Sync + 'static,

source§

impl Component for ZombifiedPiglinEntitywhere ZombifiedPiglinEntity: Send + Sync + 'static,

source§

impl Component for KeepaliveStatewhere KeepaliveState: Send + Sync + 'static,

source§

impl Component for Pingwhere Ping: Send + Sync + 'static,

source§

impl Component for OpLevelwhere OpLevel: Send + Sync + 'static,

source§

impl Component for Advancementwhere Advancement: Send + Sync + 'static,

source§

impl Component for AdvancementClientUpdatewhere AdvancementClientUpdate: Send + Sync + 'static,

source§

impl Component for AdvancementCriteriawhere AdvancementCriteria: Send + Sync + 'static,

source§

impl Component for AdvancementDisplaywhere AdvancementDisplay: Send + Sync + 'static,

source§

impl Component for AdvancementRequirementswhere AdvancementRequirements: Send + Sync + 'static,

source§

impl Component for CursorItemwhere CursorItem: Send + Sync + 'static,

source§

impl Component for Inventorywhere Inventory: Send + Sync + 'static,

source§

impl Component for OpenInventorywhere OpenInventory: Send + Sync + 'static,

source§

impl Component for PlayerListEntrywhere PlayerListEntry: Send + Sync + 'static,

source§

impl Component for BossBarFlagswhere BossBarFlags: Send + Sync + 'static,

source§

impl Component for PlayerAbilitiesFlagswhere PlayerAbilitiesFlags: Send + Sync + 'static,

source§

impl Component for DeathLocationwhere DeathLocation: Send + Sync + 'static,

source§

impl Component for HasRespawnScreenwhere HasRespawnScreen: Send + Sync + 'static,

source§

impl Component for HashedSeedwhere HashedSeed: Send + Sync + 'static,

source§

impl Component for IsDebugwhere IsDebug: Send + Sync + 'static,

source§

impl Component for IsFlatwhere IsFlat: Send + Sync + 'static,

source§

impl Component for IsHardcorewhere IsHardcore: Send + Sync + 'static,

source§

impl Component for PortalCooldownwhere PortalCooldown: Send + Sync + 'static,

source§

impl Component for PrevGameModewhere PrevGameMode: Send + Sync + 'static,

source§

impl Component for ReducedDebugInfowhere ReducedDebugInfo: Send + Sync + 'static,

source§

impl Component for RespawnPositionwhere RespawnPosition: Send + Sync + 'static,

source§

impl Component for ChunkLayerwhere ChunkLayer: Send + Sync + 'static,

source§

impl Component for Despawnedwhere Despawned: Send + Sync + 'static,

source§

impl Component for EntityLayerwhere EntityLayer: Send + Sync + 'static,

source§

impl Component for UniqueIdwhere UniqueId: Send + Sync + 'static,

source§

impl Component for TeleportStatewhere TeleportState: Send + Sync + 'static,