/ cli / source / datapack / geometry / Interfaces.ts
Interfaces.ts
 1  export const enum GeometryType {
 2      PointCircle = 'pointCircle',
 3      PointSquare = 'pointSquare',
 4      SpawnTerritory = 'spawnTerritory'
 5  }
 6  
 7  export type GeometryParameters = Record<string, number>
 8  
 9  export interface CircleGeometryParameters extends GeometryParameters {
10      minRadius: number
11      maxRadius: number
12      stepIncrement: number
13  }
14  
15  export interface SquareGeometryParameters extends GeometryParameters {
16      xLength: number
17      yLength: number
18      xIncrement: number
19      yIncrement: number
20  }
21  
22  /*
23      Special use for spawn territories which are not part of normal
24      geometries (drops/moves), however are used as geometry points for spawn position.
25   */
26  export interface TerritoryPointsParameters extends GeometryParameters {
27      minX: number
28      minY: number
29      maxX: number
30      maxY: number
31      distance: number
32      centerX: number
33      centerY: number
34      size: number
35  }
36  
37  export interface IGeometryGenerator {
38      getName() : string
39      generatePoints() : Buffer
40      getParameters() : GeometryParameters
41      getType() : GeometryType
42      getSize() : number
43  }