Struct ProjectileRef
pub struct ProjectileRef(/* private fields */);Expand description
A projectile of the open world (vanilla’s Projectile), narrowed with
host.projectile: arrows, tridents (a player’s too), firework rockets,
thrown items, fireballs, wind charges, skulls, shulker bullets and mods’
thrown types.
Implementations§
§impl ProjectileRef
impl ProjectileRef
pub fn owner(self, host: &dyn Host) -> Option<EntityRef>
pub fn owner(self, host: &dyn Host) -> Option<EntityRef>
Side: server.
Projectile.getOwner: the owner as a resolved entity. None for no
owner, one that is gone or in another level, or a stale handle.
pub fn pickup(self, host: &dyn Host) -> Option<ArrowPickup>
pub fn pickup(self, host: &dyn Host) -> Option<ArrowPickup>
Side: server.
AbstractArrow.pickup, for an arrow or a mob’s trident.
pub fn pierce_level(self, host: &dyn Host) -> Result<i8, PierceLevelError>
pub fn pierce_level(self, host: &dyn Host) -> Result<i8, PierceLevelError>
Side: server.
AbstractArrow.getPierceLevel: the signed byte stored by vanilla.
pub fn base_damage(self, host: &dyn Host) -> Option<f64>
pub fn base_damage(self, host: &dyn Host) -> Option<f64>
Side: server.
AbstractArrow.getBaseDamage, for an arrow (a trident’s is fixed).
pub fn critical(self, host: &dyn Host) -> Option<bool>
pub fn critical(self, host: &dyn Host) -> Option<bool>
Side: server.
AbstractArrow.isCritArrow, for an arrow.
pub fn set_owner(
self,
host: &mut dyn ServerHost,
owner: Option<EntityRef>,
) -> bool
pub fn set_owner( self, host: &mut dyn ServerHost, owner: Option<EntityRef>, ) -> bool
Side: server.
Projectile.setOwner. False for a stale projectile or owner, or an
owner that is a fishing hook (a trident a player threw takes a player
only). Does not touch leftOwner.
pub fn deflect(
self,
host: &mut dyn ServerHost,
deflection: Deflection,
by: Option<EntityRef>,
new_owner: Option<EntityRef>,
by_attack: bool,
power: [f64; 3],
) -> bool
pub fn deflect( self, host: &mut dyn ServerHost, deflection: Deflection, by: Option<EntityRef>, new_owner: Option<EntityRef>, by_attack: bool, power: [f64; 3], ) -> bool
Side: server.
Projectile.deflect(deflection, by, newOwner, byAttack, power), with
power per axis, through Projectile::deflect for the projectile list
(the engine path gameplay uses). REVERSE draws one float from the
projectile’s own random; AIM_DEFLECT uses by’s look and
MOMENTUM_DEFLECT its normalized known speed, and both change nothing
without by. The new owner is set, then onDeflection: a hurting
projectile’s acceleration power is 0.1 by an attack, else halved. A
wind charge refuses for its first five ticks, with no change and no
draw. A trident a player threw and a rocket turn the same way (no
acceleration power). False, and nothing changed, for a stale projectile,
by or owner, a non-finite power or a refusal.
pub fn set_pickup(self, host: &mut dyn ServerHost, pickup: ArrowPickup) -> bool
pub fn set_pickup(self, host: &mut dyn ServerHost, pickup: ArrowPickup) -> bool
Side: server.
Sets AbstractArrow.pickup. False for a stale handle or a projectile
that is not an arrow or a mob’s trident.
pub fn set_pierce_level(
self,
host: &mut dyn ServerHost,
level: i8,
) -> Result<(), PierceLevelError>
pub fn set_pierce_level( self, host: &mut dyn ServerHost, level: i8, ) -> Result<(), PierceLevelError>
Side: server.
AbstractArrow.setPierceLevel: stores the signed byte without clamping.
pub fn set_base_damage(self, host: &mut dyn ServerHost, damage: f64) -> bool
pub fn set_base_damage(self, host: &mut dyn ServerHost, damage: f64) -> bool
Side: server.
AbstractArrow.setBaseDamage. False for a stale handle, a projectile
that is not an arrow, or a value that is not finite.
pub fn set_critical(self, host: &mut dyn ServerHost, critical: bool) -> bool
pub fn set_critical(self, host: &mut dyn ServerHost, critical: bool) -> bool
Side: server.
AbstractArrow.setCritArrow; clients see the flag at once through the
entity data. False for a stale handle or a projectile that is not an arrow.
§impl ProjectileRef
impl ProjectileRef
Trait Implementations§
§impl Clone for ProjectileRef
impl Clone for ProjectileRef
§fn clone(&self) -> ProjectileRef
fn clone(&self) -> ProjectileRef
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more