UNPKG

figura-ts

Version:

Lua Types for the Minecraft Mod Figura

177 lines 7.04 kB
declare function vec(this: void,x: number,y: number): FiguraVec2 declare function vec(this: void,x: number,y: number,z: number): FiguraVec3 declare function vec(this: void,x: number,y: number,z: number,w: number): FiguraVec4 /** @noSelf **/ declare namespace vectors { export function vec(this: void,x: number,y: number): FiguraVec2 export function vec2(this: void,x: number,y: number): FiguraVec2 export function vec(this: void,x: number,y: number,z: number): FiguraVec3 export function vec3(this: void,x: number,y: number,z: number): FiguraVec3 export function vec(this: void,x: number,y: number,z: number,w: number): FiguraVec4 export function vec4(this: void,x: number,y: number,z: number,w: number): FiguraVec4 export function hexToRGB(this: void,hex: string): FiguraVec3 export function hsvToRGB(this: void,hsv: FiguraVec3): FiguraVec3 export function hsvToRGB(this: void,h: number,s: number,v: number): FiguraVec3 export function intToRGB(this: void,color: number): FiguraVec3 export function rgbToHSV(this: void,rgb: FiguraVec3): FiguraVec3 export function rgbToHSV(this: void,r: number,g: number,b: number): FiguraVec3 export function rgbToHex(this: void,rgb: FiguraVec3): string export function rgbToHex(this: void,r: number,g: number,b: number): string export function rgbToInt(this: void,rgb: FiguraVec3): number export function rgbToInt(this: void,r: number,g: number,b: number): number export function angleToDir(this: void,vec: FiguraVec2): FiguraVec3 export function angleToDir(this: void,pitch: number,yaw: number): FiguraVec3 export function rotateAroundAxis(this: void,angle: number,vec: FiguraVec3,axis: FiguraVec3): FiguraVec3 export function rotateAroundAxis(this: void,angle: number,x: number,y: number,z: number,axis: FiguraVec3): FiguraVec3 export function rotateAroundAxis(this: void,angle: number,vec: FiguraVec3,axisX: number,axisY: number,axisZ: number): FiguraVec3 export function rotateAroundAxis(this: void,angle: number,x: number,y: number,z: number,axisX: number,axisY: number,axisZ: number): FiguraVec3 export function toCameraSpace(this: void,vec: FiguraVec3): FiguraVec3 export function toCameraSpace(this: void,x: number,y: number,z: number): FiguraVec3 export function worldToScreenSpace(this: void,vec: FiguraVec3): FiguraVec4 export function worldToScreenSpace(this: void,x: number,y: number,z: number): FiguraVec4 } interface IFiguraVector<Itself extends FiguraAnyVector,Matrix extends FiguraAnyMatrix> { ADD: LuaAdditionMethod<Itself | number,Itself> SUB: LuaSubtractionMethod<Itself | number,Itself> MUL: LuaMultiplicationMethod<Itself | number | Matrix,Itself> DIV: LuaDivisionMethod<Itself | number,Itself> MOD: LuaModuloMethod<Itself | number,Itself> UNM: LuaNegationMethod<Itself> LEN: LuaLengthMethod<number> LT: LuaLessThanMethod<Itself,boolean> } declare interface FiguraVec2 extends IFiguraVector<FiguraVec2,FiguraMat2> { [1]: number [2]: number x: number r: number y: number g: number set(x: number,y: number): this reset(): this set(vec: FiguraVec2): this add(vec: FiguraVec2): this add(x: number,y: number): this sub(vec: FiguraVec2): this sub(x: number,y: number): this offset(factor: number): this mul(vec: FiguraVec2): this mul(x: number,y: number): this div(vec: FiguraVec2): this div(x: number,y: number): this reduce(vec: FiguraVec2): this reduce(x: number,y: number): this scale(factor: number): this unpack(): LuaMultiReturn<[number,number]> transform(mat: FiguraMat2): this lengthSquared(): number copy(): this dot(vec: FiguraVec2): this normalize(): this normalized(): this clampLength(min: number,max: number): this clamped(min: number,max: number): this length(): number toDeg(): this toRad(): this floor(): this ceil(): this applyFunc(func: (value: number,index: 1 | 2) => number): this augmented(): FiguraVec3 augmented(value: number): FiguraVec3 } declare interface FiguraVec3 extends IFiguraVector<FiguraVec3,FiguraMat3> { [1]: number [2]: number [3]: number x: number r: number y: number g: number z: number b: number reset(): this set(vec: FiguraVec3): this set(x: number,y: number,z: number): this add(vec: FiguraVec3): this add(x: number,y: number,z: number): this sub(vec: FiguraVec3): this sub(x: number,y: number,z: number): this offset(factor: number): this mul(vec: FiguraVec3): this mul(x: number,y: number,z: number): this div(vec: FiguraVec3): this div(x: number,y: number,z: number): this reduce(vec: FiguraVec3): this reduce(x: number,y: number,z: number): this scale(factor: number): this unpack(): LuaMultiReturn<[number,number,number]> transform(mat: FiguraMat3): this lengthSquared(): number copy(): this dot(vec: FiguraVec3): number normalize(): this normalized(): this clampLength(min: number,max: number): this clamped(min: number,max: number): this length(): number toRad(): this toDeg(): this floor(): this ceil(): this applyFunc(func: (value: number,index: 1 | 2 | 3) => number): this augmented(): FiguraVec4 augmented(value: number): FiguraVec4 cross(other: FiguraVec3): this crossed(other: FiguraVec3): this } declare interface FiguraVec4 extends IFiguraVector<FiguraVec4,FiguraMat4> { [1]: number [2]: number [3]: number [4]: number x: number r: number y: number g: number z: number b: number w: number a: number reset(): this set(vec: FiguraVec4): this set(x: number,y: number,z: number,w: number): this add(vec: FiguraVec4): this add(x: number,y: number,z: number,w: number): this sub(vec: FiguraVec4): this sub(x: number,y: number,z: number,w: number): this offset(factor: number): this mul(vec: FiguraVec4): this mul(x: number,y: number,z: number,w: number): this div(vec: FiguraVec4): this div(x: number,y: number,z: number,w: number): this reduce(vec: FiguraVec4): this reduce(x: number,y: number,z: number,w: number): this scale(factor: number): this unpack(): LuaMultiReturn<[number,number,number,number]> transform(mat: FiguraMat4): this lengthSquared(): number copy(): this dot(vec: FiguraVec4): this normalize(): this normalized(): this clampLength(min: number,max: number): this clamped(min: number,max: number): this length(): number toRad(): this toDeg(): this floor(): this ceil(): this applyFunc(func: (value: number,index: 1 | 2 | 3 | 4) => number): this } declare type FiguraAnyVector = FiguraVec2 | FiguraVec3 | FiguraVec4