mirror of
https://github.com/danbulant/flying-squid
synced 2026-06-14 12:01:12 +00:00
161 lines
No EOL
3.5 KiB
Markdown
161 lines
No EOL
3.5 KiB
Markdown
# Entity
|
|
|
|
Is a [prismarine-entity](https://github.com/PrismarineJS/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 |