Triangle.js Docs
    Preparing search index...

    Class Engine

    Index

    Constructors

    Properties

    board: Board
    dynamic: {
        garbageCap: IncreaseTracker;
        garbageMultiplier: IncreaseTracker;
        gravity: IncreaseTracker;
    }
    events: EventEmitter<Engine.Events> = ...
    falling: Tetromino
    frame: number
    gameOptions: Engine.GameOptions
    glock: number
    handling: Handling
    held: Engine.Mino | null
    holdLocked: boolean
    igeHandler: IGEHandler
    input: {
        firstInputTime: number;
        keys: {
            hold: boolean;
            rotate180: boolean;
            rotateCCW: boolean;
            rotateCW: boolean;
            softDrop: boolean;
        };
        lastPieceTime: number;
        lastShift: number;
        lShift: { arr: number; das: number; dir: -1; held: boolean };
        rShift: { arr: number; das: number; dir: 1; held: boolean };
        time: { locked: boolean; prev: number; start: number; zero: boolean };
    }
    lastSpin: SpinType | null
    lastWasClear: boolean
    multiplayer?: {
        options: MultiplayerOptions;
        passthrough: { network: boolean; replay: boolean; travel: boolean };
        targets: number[];
    }
    practice: {
        lastPiece: EngineSnapshot | null;
        redo: EngineSnapshot[];
        retry: boolean;
        retryIter: number;
        undo: EngineSnapshot[];
    }
    queue: Queue
    resCache: {
        garbage: { received: OutgoingGarbage[]; sent: number[] };
        keys: Key[];
        lastLock: number;
        pieces: number;
    }
    spike: { count: number; timer: number }
    state: number
    stats: {
        b2b: number;
        combo: number;
        garbage: { attack: number; cleared: number; receive: number; sent: number };
        lines: number;
        pieces: number;
    }
    stock: number
    subframe: number
    time: { frameOffset: number }
    colorMap: {
        bomb: ChalkInstance;
        gb: ChalkInstance;
        i: ChalkInstance;
        j: ChalkInstance;
        l: ChalkInstance;
        o: ChalkInstance;
        s: ChalkInstance;
        t: ChalkInstance;
        z: ChalkInstance;
    } = ...

    Accessors

    • get currentSpike(): number

      Returns number

    • get dynamicStats(): { apm: number; pps: number; surgePower: number; vs: number }

      Returns { apm: number; pps: number; surgePower: number; vs: number }

    • get kickTable(): | {
          additional_offsets: {};
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          i_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          i2_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          i3_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          i5_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          l3_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          oo_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          preview_overrides: {};
          spawn_rotation: {};
      }
      | {
          additional_offsets: {};
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          i_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          i2_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          i3_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          i5_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          l3_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          oo_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          preview_overrides: {};
          spawn_rotation: {};
      }
      | {
          additional_offsets: {};
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          i_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          i2_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          i3_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          i5_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          l3_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          oo_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          preview_overrides: {};
          spawn_rotation: {};
      }
      | {
          additional_offsets: {};
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          i_kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          preview_overrides: {};
          spawn_rotation: {};
      }
      | {
          additional_offsets: {
              i: number[][];
              j: number[][];
              l: number[][];
              o: number[][];
              s: number[][];
              t: number[][];
              z: number[][];
          };
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          kicks: {
              "01": never[];
              "02": never[];
              "03": never[];
              "10": never[];
              "12": never[];
              "13": never[];
              "20": never[];
              "21": never[];
              "23": never[];
              "30": never[];
              "31": never[];
              "32": never[];
          };
          preview_overrides: { j: number[][]; l: number[][]; t: number[][] };
          spawn_rotation: {
              i: number;
              j: number;
              l: number;
              o: number;
              s: number;
              t: number;
              z: number;
          };
      }
      | {
          additional_offsets: {
              i: number[][];
              i1: number[][];
              j: number[][];
              l: number[][];
              o: number[][];
              s: number[][];
              t: number[][];
              z: number[][];
          };
          center_column: number[][];
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              s: string;
              t: string;
              z: string;
          };
          kicks: {
              "01": number[][];
              "02": number[][];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": number[][];
              "20": number[][];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": number[][];
              "32": number[][];
          };
          preview_overrides: { j: number[][]; l: number[][]; t: number[][] };
          spawn_rotation: {
              i: number;
              j: number;
              l: number;
              o: number;
              s: number;
              t: number;
              z: number;
          };
      }
      | {
          additional_offsets: {
              i: number[][];
              i1: number[][];
              j: number[][];
              l: number[][];
              o: number[][];
              s: number[][];
              t: number[][];
              z: number[][];
          };
          allow_o_kick: boolean;
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          i_kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          kicks: {
              "01": number[][];
              "02": never[];
              "03": number[][];
              "10": number[][];
              "12": number[][];
              "13": never[];
              "20": never[];
              "21": number[][];
              "23": number[][];
              "30": number[][];
              "31": never[];
              "32": number[][];
          };
          preview_overrides: {};
          spawn_rotation: {};
      }
      | {
          additional_offsets: {};
          colorMap: {
              d: string;
              g: string;
              gb: string;
              gbd: string;
              i: string;
              i1: string;
              i2: string;
              i3: string;
              i5: string;
              j: string;
              l: string;
              l3: string;
              o: string;
              oo: string;
              s: string;
              t: string;
              z: string;
          };
          kicks: {
              "01": never[];
              "02": never[];
              "03": never[];
              "10": never[];
              "12": never[];
              "13": never[];
              "20": never[];
              "21": never[];
              "23": never[];
              "30": never[];
              "31": never[];
              "32": never[];
          };
          preview_overrides: {};
          spawn_rotation: {};
      }

      Returns
          | {
              additional_offsets: {};
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              i_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              i2_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              i3_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              i5_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              l3_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              oo_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              preview_overrides: {};
              spawn_rotation: {};
          }
          | {
              additional_offsets: {};
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              i_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              i2_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              i3_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              i5_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              l3_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              oo_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              preview_overrides: {};
              spawn_rotation: {};
          }
          | {
              additional_offsets: {};
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              i_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              i2_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              i3_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              i5_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              l3_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              oo_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              preview_overrides: {};
              spawn_rotation: {};
          }
          | {
              additional_offsets: {};
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              i_kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              preview_overrides: {};
              spawn_rotation: {};
          }
          | {
              additional_offsets: {
                  i: number[][];
                  j: number[][];
                  l: number[][];
                  o: number[][];
                  s: number[][];
                  t: number[][];
                  z: number[][];
              };
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              kicks: {
                  "01": never[];
                  "02": never[];
                  "03": never[];
                  "10": never[];
                  "12": never[];
                  "13": never[];
                  "20": never[];
                  "21": never[];
                  "23": never[];
                  "30": never[];
                  "31": never[];
                  "32": never[];
              };
              preview_overrides: { j: number[][]; l: number[][]; t: number[][] };
              spawn_rotation: {
                  i: number;
                  j: number;
                  l: number;
                  o: number;
                  s: number;
                  t: number;
                  z: number;
              };
          }
          | {
              additional_offsets: {
                  i: number[][];
                  i1: number[][];
                  j: number[][];
                  l: number[][];
                  o: number[][];
                  s: number[][];
                  t: number[][];
                  z: number[][];
              };
              center_column: number[][];
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  s: string;
                  t: string;
                  z: string;
              };
              kicks: {
                  "01": number[][];
                  "02": number[][];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": number[][];
                  "20": number[][];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": number[][];
                  "32": number[][];
              };
              preview_overrides: { j: number[][]; l: number[][]; t: number[][] };
              spawn_rotation: {
                  i: number;
                  j: number;
                  l: number;
                  o: number;
                  s: number;
                  t: number;
                  z: number;
              };
          }
          | {
              additional_offsets: {
                  i: number[][];
                  i1: number[][];
                  j: number[][];
                  l: number[][];
                  o: number[][];
                  s: number[][];
                  t: number[][];
                  z: number[][];
              };
              allow_o_kick: boolean;
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              i_kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              kicks: {
                  "01": number[][];
                  "02": never[];
                  "03": number[][];
                  "10": number[][];
                  "12": number[][];
                  "13": never[];
                  "20": never[];
                  "21": number[][];
                  "23": number[][];
                  "30": number[][];
                  "31": never[];
                  "32": number[][];
              };
              preview_overrides: {};
              spawn_rotation: {};
          }
          | {
              additional_offsets: {};
              colorMap: {
                  d: string;
                  g: string;
                  gb: string;
                  gbd: string;
                  i: string;
                  i1: string;
                  i2: string;
                  i3: string;
                  i5: string;
                  j: string;
                  l: string;
                  l3: string;
                  o: string;
                  oo: string;
                  s: string;
                  t: string;
                  z: string;
              };
              kicks: {
                  "01": never[];
                  "02": never[];
                  "03": never[];
                  "10": never[];
                  "12": never[];
                  "13": never[];
                  "20": never[];
                  "21": never[];
                  "23": never[];
                  "30": never[];
                  "31": never[];
                  "32": never[];
              };
              preview_overrides: {};
              spawn_rotation: {};
          }

    • set kickTable(
          value:
              | "none"
              | "SRS"
              | "SRS+"
              | "SRS-X"
              | "TETRA-X"
              | "NRS"
              | "ARS"
              | "ASC",
      ): void

      Parameters

      • value: "none" | "SRS" | "SRS+" | "SRS-X" | "TETRA-X" | "NRS" | "ARS" | "ASC"

      Returns void

    • get kickTableName(): | "none"
      | "SRS"
      | "SRS+"
      | "SRS-X"
      | "TETRA-X"
      | "NRS"
      | "ARS"
      | "ASC"

      Returns "none" | "SRS" | "SRS+" | "SRS-X" | "TETRA-X" | "NRS" | "ARS" | "ASC"

    • get text(): string

      Returns string

    • get toppedOut(): boolean

      Returns boolean

    Methods

    • Returns void

    • Return an engine with the same config. Does not preserve state.

      Returns Engine.Engine

    • Parameters

      • blocks: [x: number, y: number][]

      Returns any[]

    • Returns boolean

    • Returns boolean

    • Parameters

      Returns { data: any[]; h: number; w: number }

    • Parameters

      Returns { data: [number, number, number][]; h: number; w: number }

    • Parameters

      • _ihs: boolean = false
      • ignoreBlockout: boolean = false

      Returns boolean

    • Returns void

    • Parameters

      • piece: Engine.Mino
      • ignoreBlockout: boolean = false
      • isHold: boolean = false

      Returns void

    • Returns boolean

    • Returns boolean

    • Parameters

      • ignoreBlockout: boolean = false
      • isHold: boolean = false

      Returns void

    • Parameters

      Returns void

      Engine.onQueuePieces is deprecated and no longer functional. Switch to Engine.events.on("queue.add", (pieces) => {}) instead.

    • Type Parameters

      • T extends Key | "dasLeft" | "dasRight"

      Parameters

      • key: T

      Returns boolean | void | LockRes

    • Returns false | undefined

    • Returns void

    • Returns void

    • Returns boolean

    • Returns boolean

    • Returns boolean

    • Parameters

      • __namedParameters: { isUndoRedo?: boolean } = {}

      Returns EngineSnapshot

    • Returns boolean

    • Parameters

      Returns {
          garbage: { received: OutgoingGarbage[]; sent: number[] };
          keys: Key[];
          lastLock: number;
          pieces: number;
      }

    • Returns false | undefined

    • Returns void

    • Parameters

      • __namedParameters: { isHold: boolean }

      Returns void