MineJSv0.5.1

EntitiesManager

Source: entity.ts:4


Constructors

new EntitiesManager(state: SharedState): EntitiesManager

Parameters

Returns

EntitiesManager


Properties

entityToSection: Map<number, string>

A map mapping entity ID to section key.

sections: Map<string, Set<number>>

Split chunks into 16x16x16 sections, so each chunk sections will contain a set of entities

A key is {chunkSectionX}:{chunkSectionY}:{chunkSectionZ}

Methods

add(entityId: number, x: number, y: number, z: number): void

Add an entity (represented by ID)

Parameters

  • entityId (number)
  • x (number)
  • y (number)
  • z (number)

Returns

  • void

queryAABB(queryBB: AABB, exclude: number[]): AABB[]

Query the entity in the section that intersec with BB

Parameters

  • queryBB (AABB) — The querying bounding box
  • exclude (number[], default: "[]")

Returns

remove(entityId: number): void

Remove entity

Parameters

  • entityId (number)

Returns

  • void

update(entityId: number, x: number, y: number, z: number): void

Update entity position

Parameters

  • entityId (number)
  • x (number)
  • y (number)
  • z (number)

Returns

  • void

wipe(): void

Clear data

Returns

  • void

Static Methods

getSectionKey(x: number, y: number, z: number): string

Convert real-world position into section key

Parameters

  • x (number)
  • y (number)
  • z (number)

Returns

  • string