@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¶
- addExecution
- bfs
- config
- displayMessage
- euclideanDist
- forEachTile
- hasOwner
- hasPlayer
- height
- inSpawnPhase
- isLand
- isOcean
- isShore
- isWater
- manhattanDist
- modState
- neighbors
- numLandTiles
- owner
- ownerID
- player
- playerBySmallID
- players
- ref
- terraNullius
- terrainType
- ticks
- unitInfo
- units
- width
- x
- y
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¶
config¶
▸ config(): Config
Returns¶
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¶
forEachTile¶
▸ forEachTile(fn): void
Iterate over all tiles
Parameters¶
| Name | Type |
|---|---|
fn |
(tile: number) => void |
Returns¶
void
Inherited from¶
hasOwner¶
▸ hasOwner(ref): boolean
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
boolean
Inherited from¶
hasPlayer¶
▸ hasPlayer(id): boolean
Parameters¶
| Name | Type |
|---|---|
id |
string |
Returns¶
boolean
height¶
▸ height(): number
Returns¶
number
Inherited from¶
inSpawnPhase¶
▸ inSpawnPhase(): boolean
Returns¶
boolean
isLand¶
▸ isLand(ref): boolean
Terrain queries
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
boolean
Inherited from¶
isOcean¶
▸ isOcean(ref): boolean
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
boolean
Inherited from¶
isShore¶
▸ isShore(ref): boolean
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
boolean
Inherited from¶
isWater¶
▸ isWater(ref): boolean
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
boolean
Inherited from¶
manhattanDist¶
▸ manhattanDist(c1, c2): number
Parameters¶
| Name | Type |
|---|---|
c1 |
number |
c2 |
number |
Returns¶
number
Inherited from¶
modState¶
▸ modState(): ModState
Returns¶
neighbors¶
▸ neighbors(ref): number[]
Spatial queries
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
number[]
Inherited from¶
numLandTiles¶
▸ numLandTiles(): number
Returns¶
number
Inherited from¶
owner¶
▸ owner(ref): Player | TerraNullius
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
ownerID¶
▸ ownerID(ref): number
Ownership queries
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
number
Inherited from¶
player¶
▸ player(id): Player
Parameters¶
| Name | Type |
|---|---|
id |
string |
Returns¶
playerBySmallID¶
▸ playerBySmallID(id): Player | TerraNullius
Parameters¶
| Name | Type |
|---|---|
id |
number |
Returns¶
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¶
terraNullius¶
▸ terraNullius(): TerraNullius
Returns¶
terrainType¶
▸ terrainType(ref): TerrainType
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
Inherited from¶
ticks¶
▸ ticks(): number
Returns¶
number
unitInfo¶
▸ unitInfo(type): UnitInfo
Parameters¶
| Name | Type |
|---|---|
type |
UnitType |
Returns¶
units¶
▸ units(...types): Unit[]
Parameters¶
| Name | Type |
|---|---|
...types |
UnitType[] |
Returns¶
Unit[]
width¶
▸ width(): number
Map dimensions
Returns¶
number
Inherited from¶
x¶
▸ x(ref): number
Get x coordinate from tile reference
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
number
Inherited from¶
y¶
▸ y(ref): number
Get y coordinate from tile reference
Parameters¶
| Name | Type |
|---|---|
ref |
number |
Returns¶
number
Inherited from¶
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;
}