Skip to content

Entities

Greg edited this page Feb 20, 2024 · 20 revisions

Entity is a broad category for everything that exists in the game world, with a second sub-category Character for Player and NPC entities that can move. The main Entity types are:

  • Blue - Players
  • Green - NPCs (Non-Player Characters)
  • Orange - Objects (GameObjects)
  • Purple - Floor items

Screenshot 2024-02-20 171650

Note

Item's are considered a part of interfaces not entities, for more info see Inventories.

Players

Players are the characters controlled by people, they are used to explore the world, interact with other entities, and hold information about what they have collected and accomplished so far.

Player Data includes:

Data Description
Account name The username used to log into the game.
Password hash Encrypted value used to verify a correct password.
Index The number between 1-2048 a particular player is in the current game world.
Tile The current position of the player represented as an x, y, level coordinate.
Inventory Various stores of Items from equipment to shops.
Variables Progress and tracking data for all types of content.
Experience Progress gained in skilling towards a Level.
Levels Boundaries of skilling experience which unlock new content.
Friends List of befriended players that can be messaged directly.
Ignores List of players who's messages will be hidden.
Client The network connection between the persons Game Client and the game server.
Viewport A store of the entities in the visibile surrounding area.
Body The players appearance with/without equipment.
Visuals The players general appearance.
Instructions Instructions send by the Client or Bot controller.
Options Possible interactions other entities can have with this player.
Interfaces All the Interfaces the player's Client currently has opened.
Collision Strategy for how the player can move about the game world.
ActionQueue List of Queues currently in progress for the player.
Soft Timer Timers that are current counting down for the player.
Timers Pausable Timer that is counting down for the player.
Steps List of tiles the player plans on walking to in the future.

Bots

As Void is not currently hosted online and have other people playing it suppliments players with a number of bot controlled players to make the world feel more alive and active even when playing offline and locally.

Finding players

Most code used throughout the game will already have access to the Player in question, in the situations where one player needs to find or reference another player they can be searched for in the worlds list of Players.

The Players list can be accessed from any script using:

val players: Players by inject()

Or from any function using:

val players: Players = get()

You can search for a player by name, index, Tile or Zone:

val player = players.get(42) // Get player at an index

val player = players.get("Cow31337Killer") // Get a specific player by name

val playersUnder = players[Tile(3200, 3200)] // Get all players under a tile

val playersNearby = players[Zone(402, 403)] // Get all players in 8x8 area

Adding players

There should be no need to add new players as it is already handled by the LoginServer, if you do happen to need access, see PlayerAccountLoader.

Non-Player Characters

NPCs are characters in the game for Players to interact with, talk to for quests, information or shops, and fight. NPCs that can be attacked and fought in combat are typically referred to as Monsters.

Game Objects

Floor Items

Clone this wiki locally