koishi-plugin-beatsaber-bot
Version:
一个 用于 BeatSaber 的 koishi Bot 插件
113 lines (112 loc) • 2.18 kB
TypeScript
export interface BSOR {
frames: BSORFrame[];
heights: BSORHeight[];
info: BSORInfo;
notes: BSORNote[];
pauses: BSORPauses[];
walls: BSORWall[];
}
interface position {
x: number;
y: number;
z: number;
}
interface rotation {
w: number;
x: number;
y: number;
z: number;
}
interface Pos {
position: position;
rotation: rotation;
}
interface BSORFrame {
fps: number;
head: Pos;
left: Pos;
right: Pos;
time: number;
}
type BSORHeight = {
[key: string]: any;
};
interface BSORInfo {
controller: string;
difficulty: string;
environment: string;
failTime: number;
gameVersion: string;
hash: string;
height: number;
hmd: string;
jumpDistance: string;
leftHanded: boolean;
mapper: string;
mode: string;
modifiers: string;
platform: string;
playerID: string;
playerName: string;
score: number;
songName: string;
speed: number;
startTime: number;
timestamp: string;
trackingSysytem: string;
version: string;
[key: string]: any;
}
export interface BSORNote {
eventTime: number;
eventType: number;
noteCutInfo: NoteCutInfo;
noteID: number;
spawnTime: number;
[key: string]: any;
}
interface BSORPauses {
duration: any;
time: number;
[key: string]: any;
}
interface BSORWall {
[key: string]: any;
}
export interface NoteCutInfo {
afterCutRating: number;
beforeCutRating: number;
cutAngle: number;
cutDirDeviation: number;
cutDistanceToCenter: number;
cutNormal: CutNormal;
cutPoint: CutPoint;
directionOK: boolean;
saberDir: SaberDir;
saberSpeed: number;
saberType: number;
saberTypeOK: boolean;
speedOK: boolean;
timeDeviation: number;
wasCutTooSoon: boolean;
[property: string]: any;
}
export interface CutNormal {
x: number;
y: number;
z: number;
[property: string]: any;
}
export interface CutPoint {
x: number;
y: number;
z: number;
[property: string]: any;
}
export interface SaberDir {
x: number;
y: number;
z: number;
[property: string]: any;
}
export {};