flying-squid/docs/classes/Entity.md
2018-06-02 15:23:09 -07:00

3.5 KiB

Entity

Is a prismarine-entity

Players are a type of entity, so they will have most of the attributes and methods.

Properties

entity.id

ID of entity on server

entity.position

Current position (currently in fixed position (x32 what you'd expect) so do entity.position.scaled(1/32) to get normal position)

entity.world

World object entity is in

entity.type

Either "player", "mob", or "object" (currently)

entity.entityType

Numerical type of the entity.

entity.name

Sub-category of entity. For mobs, this is which mob (Zombie/Skeleton, etc). For objects, this is which object (Arrow/Dropped item, etc)

entity.nearbyEntities

Nearby entities to this entity

entity.viewDistance

How far away entities are loaded/unloaded (used for players ATM)

entity.health

How many half-hearts an entity has of health (e.g. Player has 20). Not really used for objects, only players and mobs.

entity.pitch

Pitch of entity (rotation sideways)

entity.headPitch

Pitch of entity's head

entity.yaw

Yaw of entity (rotation looking up and down)

entity.gravity

Gravity of entity (non-players) to calculate physics.

entity.terminalvelocity

Only applies to gravity, really. You can still apply a velocity larger than terminal velocity.

entity.friction

Decreases velocity when touching blocks

entity.size

Used to calculate collisions for server-side entities

entity.deathTime

How much time before an entity despawns (in ms)

entity.pickupTime

How long before an entity can be picked up (in ms)

entity.bornTime

When an entity was born. Used with pickupTime and deathTime (time in epoch)

entity.itemId

If a block drop, what item id

entity.itemDamage

If a block drop, what item damage

entity.metadata

Metadata for the entity (not like block metadata/damage). Contains stuff like NBT.

entity.nearbyEntities

List of entities that the entity believes is nearby.

Events

Behaviors

"move"

Emitted when server calculates new position for the entity (DOES NOT APPLY TO PLAYER!)

  • old (u): Where the entity came from
  • onGround (u): If the entity is on the ground

Default: Send entity relative-move or teleport packets to all nearby players

Cancelled: Set entity position to old position

Methods

entity.getData(pluginName)

Gets object that stores data, personalized per plugin. Returns null if plugin does not exist.

Shortcut for: entity.pluginData[pluginName];

entity.getOthers()

Get every other entity other than self

entity.getOtherPlayers()

Gets every player other than self (all players if entity is not a player)

entity.getNearby()

Gets all entities nearby (within entity.viewDistance)

entity.getNearbyPlayers()

Gets all nearby players regardless of what client thinks

entity.nearbyPlayers()

Gets all nearby players that client can see

entity.takeDamage({sound='game.player.hurt', damage=1, velocity=new Vec3(0,0,0), maxVelocity=new Vec3(4, 4, 4), animation=true})

  • sound: Sound to play (default is game.player.hurt)
  • damage: Damage to deal (default is based off player's weapon, player's potions, attackEntity's potions, and attackedEntity armor)
  • velocity: Which way should attackedEntity move when hit
  • maxVelocity: maxVelocity from consecutive hits
  • animation: Play death/hit animation

Low level Methods

entity._writeOthers(packetName, packetFields)

Writes to all other players on server

entity._writeOthersNearby(packetName, packetFields)

Writes to all players within viewDistance