Skip to content

@lands.io/mod-sdk / Game

Interface: Game

The main game interface - provides access to all game state. Mods receive this in action contexts and lifecycle hooks.

Hierarchy

Game

Table of contents

Methods

Methods

addExecution

addExecution(...exec): void

Parameters

Name Type
...exec Execution[]

Returns

void


bfs

bfs(tile, filter): Set\<number>

Breadth-first search from a tile

Parameters

Name Type
tile number
filter (gm: GameMap, tile: number) => boolean

Returns

Set\<number>

Inherited from

GameMap.bfs


config

config(): Config

Returns

Config


displayMessage

displayMessage(message, type, playerID): void

Parameters

Name Type
message string
type MessageType
playerID null | string

Returns

void


euclideanDist

euclideanDist(c1, c2): number

Parameters

Name Type
c1 number
c2 number

Returns

number

Inherited from

GameMap.euclideanDist


forEachTile

forEachTile(fn): void

Iterate over all tiles

Parameters

Name Type
fn (tile: number) => void

Returns

void

Inherited from

GameMap.forEachTile


hasOwner

hasOwner(ref): boolean

Parameters

Name Type
ref number

Returns

boolean

Inherited from

GameMap.hasOwner


hasPlayer

hasPlayer(id): boolean

Parameters

Name Type
id string

Returns

boolean


height

height(): number

Returns

number

Inherited from

GameMap.height


inSpawnPhase

inSpawnPhase(): boolean

Returns

boolean


isLand

isLand(ref): boolean

Terrain queries

Parameters

Name Type
ref number

Returns

boolean

Inherited from

GameMap.isLand


isOcean

isOcean(ref): boolean

Parameters

Name Type
ref number

Returns

boolean

Inherited from

GameMap.isOcean


isShore

isShore(ref): boolean

Parameters

Name Type
ref number

Returns

boolean

Inherited from

GameMap.isShore


isWater

isWater(ref): boolean

Parameters

Name Type
ref number

Returns

boolean

Inherited from

GameMap.isWater


manhattanDist

manhattanDist(c1, c2): number

Parameters

Name Type
c1 number
c2 number

Returns

number

Inherited from

GameMap.manhattanDist


modState

modState(): ModState

Returns

ModState


neighbors

neighbors(ref): number[]

Spatial queries

Parameters

Name Type
ref number

Returns

number[]

Inherited from

GameMap.neighbors


numLandTiles

numLandTiles(): number

Returns

number

Inherited from

GameMap.numLandTiles


owner

owner(ref): Player | TerraNullius

Parameters

Name Type
ref number

Returns

Player | TerraNullius


ownerID

ownerID(ref): number

Ownership queries

Parameters

Name Type
ref number

Returns

number

Inherited from

GameMap.ownerID


player

player(id): Player

Parameters

Name Type
id string

Returns

Player


playerBySmallID

playerBySmallID(id): Player | TerraNullius

Parameters

Name Type
id number

Returns

Player | TerraNullius


players

players(): Player[]

Returns

Player[]


ref

ref(x, y): number

Convert x,y coordinates to a tile reference

Parameters

Name Type
x number
y number

Returns

number

Inherited from

GameMap.ref


terraNullius

terraNullius(): TerraNullius

Returns

TerraNullius


terrainType

terrainType(ref): TerrainType

Parameters

Name Type
ref number

Returns

TerrainType

Inherited from

GameMap.terrainType


ticks

ticks(): number

Returns

number


unitInfo

unitInfo(type): UnitInfo

Parameters

Name Type
type UnitType

Returns

UnitInfo


units

units(...types): Unit[]

Parameters

Name Type
...types UnitType[]

Returns

Unit[]


width

width(): number

Map dimensions

Returns

number

Inherited from

GameMap.width


x

x(ref): number

Get x coordinate from tile reference

Parameters

Name Type
ref number

Returns

number

Inherited from

GameMap.x


y

y(ref): number

Get y coordinate from tile reference

Parameters

Name Type
ref number

Returns

number

Inherited from

GameMap.y


Source Code

View full implementation
/**
 * The main game interface - provides access to all game state.
 * Mods receive this in action contexts and lifecycle hooks.
 */
export interface Game extends GameMap {
  // Players
  player(id: PlayerID): Player;
  players(): Player[];
  hasPlayer(id: PlayerID): boolean;
  playerBySmallID(id: number): Player | TerraNullius;
  terraNullius(): TerraNullius;
  owner(ref: TileRef): Player | TerraNullius;

  // Game state
  ticks(): Tick;
  inSpawnPhase(): boolean;
  config(): Config;

  // Units
  units(...types: UnitType[]): Unit[];
  unitInfo(type: UnitType): UnitInfo;

  // Executions
  addExecution(...exec: Execution[]): void;

  // Messages
  displayMessage(
    message: string,
    type: MessageType,
    playerID: PlayerID | null
  ): void;

  // Mod state
  modState(): ModState;
}