blockbench-types 5.1.0-beta.3-next.2 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -30
- package/custom/animation.d.ts +256 -256
- package/custom/animation_controller.d.ts +124 -124
- package/custom/blockbench.d.ts +73 -73
- package/custom/canvas.d.ts +307 -307
- package/custom/codec.d.ts +182 -182
- package/custom/copy_paste.d.ts +42 -42
- package/custom/cube.d.ts +151 -151
- package/custom/desktop.d.ts +73 -73
- package/custom/display_mode.d.ts +137 -137
- package/custom/edit_session.d.ts +37 -37
- package/custom/global.d.ts +168 -168
- package/custom/group.d.ts +113 -113
- package/custom/interface.d.ts +78 -78
- package/custom/io.d.ts +12 -12
- package/custom/keyframe.d.ts +94 -94
- package/custom/libs.d.ts +13 -13
- package/custom/menu.d.ts +136 -136
- package/custom/mesh.d.ts +196 -196
- package/custom/misc.d.ts +199 -199
- package/custom/molang.d.ts +159 -159
- package/custom/outliner.d.ts +158 -158
- package/custom/painter.d.ts +69 -69
- package/custom/preview.d.ts +137 -137
- package/custom/preview_scene.d.ts +120 -120
- package/custom/screencam.d.ts +71 -71
- package/custom/spline_mesh.d.ts +189 -189
- package/custom/start_screen.d.ts +14 -14
- package/custom/texture_group.d.ts +68 -68
- package/custom/texture_layers.d.ts +117 -117
- package/custom/textures.d.ts +515 -515
- package/custom/timeline.d.ts +66 -66
- package/custom/toolbars.d.ts +221 -221
- package/custom/undo.d.ts +208 -208
- package/custom/util/version_util.d.ts +32 -32
- package/custom/util.d.ts +235 -235
- package/custom/uveditor.d.ts +3 -3
- package/custom/validator.d.ts +99 -99
- package/documentation.md +12 -12
- package/generated/global_types.d.ts +47 -0
- package/generated/io/formats/bedrock.d.ts +4 -0
- package/generated/io/formats/bedrock_old.d.ts +4 -0
- package/generated/io/formats/collada.d.ts +4 -0
- package/generated/io/formats/fbx.d.ts +17 -0
- package/generated/io/formats/gltf.d.ts +6 -0
- package/generated/io/formats/java_block.d.ts +4 -0
- package/generated/io/formats/modded_entity.d.ts +139 -0
- package/generated/io/formats/obj.d.ts +12 -0
- package/generated/io/formats/optifine_jem.d.ts +3 -0
- package/generated/io/formats/optifine_jpm.d.ts +3 -0
- package/generated/io/formats/skin.d.ts +22 -0
- package/index.d.ts +2 -2
- package/package.json +39 -39
- package/tsconfig.json +19 -19
- package/type_config.json +46 -46
package/custom/painter.d.ts
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
/// <reference types="./blockbench"/>
|
|
2
|
-
/**
|
|
3
|
-
* A global namespace containing various functionality for Blockbench's 2D and 3D paint tools and texture editor
|
|
4
|
-
*/
|
|
5
|
-
declare namespace Painter {
|
|
6
|
-
const currentPixel: ArrayVector2
|
|
7
|
-
const brushChanges: boolean
|
|
8
|
-
let current: any
|
|
9
|
-
const selection: any
|
|
10
|
-
const mirror_painting: boolean
|
|
11
|
-
const lock_alpha: boolean
|
|
12
|
-
const erase_mode: boolean
|
|
13
|
-
const default_brush_presets: any[]
|
|
14
|
-
|
|
15
|
-
function edit(
|
|
16
|
-
texture: Texture,
|
|
17
|
-
callback: (canvas: HTMLCanvasElement) => void,
|
|
18
|
-
options: TextureEditOptions
|
|
19
|
-
): void
|
|
20
|
-
function setAlphaMatrix(texture: Texture, x: number, y: number, val: number): void
|
|
21
|
-
function getAlphaMatrix(texture: Texture, x: number, y: number): number
|
|
22
|
-
|
|
23
|
-
function combineColors(base: RGBAColor, added: RGBAColor, opacity: number): RGBAColor
|
|
24
|
-
function blendColors(
|
|
25
|
-
base: RGBAColor,
|
|
26
|
-
added: RGBAColor,
|
|
27
|
-
opacity: number,
|
|
28
|
-
blend_mode: string
|
|
29
|
-
): RGBAColor
|
|
30
|
-
function getMirrorElement(element: OutlinerElement, symmetry_axes: number[]): void
|
|
31
|
-
function updateNslideValues(): void
|
|
32
|
-
function getBlendModeCompositeOperation(): string
|
|
33
|
-
function getCanvas(texture: Texture): HTMLCanvasElement
|
|
34
|
-
function scanCanvas(
|
|
35
|
-
ctx: CanvasRenderingContext2D,
|
|
36
|
-
x: number,
|
|
37
|
-
y: number,
|
|
38
|
-
w: number,
|
|
39
|
-
h: number,
|
|
40
|
-
cb: ((px: number, py: number, color: [r: number, g: number, b: number, a: number]) => [number, number, number, number] | void)
|
|
41
|
-
): void
|
|
42
|
-
function getPixelColor(ctx: CanvasRenderingContext2D, x: number, y: number): void
|
|
43
|
-
function modifyCanvasSection(
|
|
44
|
-
ctx: CanvasRenderingContext2D,
|
|
45
|
-
x: number,
|
|
46
|
-
y: number,
|
|
47
|
-
w: number,
|
|
48
|
-
h: number,
|
|
49
|
-
cb: () => void
|
|
50
|
-
): void
|
|
51
|
-
function editCircle(
|
|
52
|
-
ctx: CanvasRenderingContext2D,
|
|
53
|
-
x: number,
|
|
54
|
-
y: number,
|
|
55
|
-
r: number,
|
|
56
|
-
softness: number,
|
|
57
|
-
editPx: (RGBAColor: any, opacity: number, px: number, py: number) => RGBAColor
|
|
58
|
-
): void
|
|
59
|
-
function editSquare(
|
|
60
|
-
ctx: CanvasRenderingContext2D,
|
|
61
|
-
x: number,
|
|
62
|
-
y: number,
|
|
63
|
-
r: number,
|
|
64
|
-
softness: number,
|
|
65
|
-
editPx: (RGBAColor: any, opacity: number, px: number, py: number) => RGBAColor
|
|
66
|
-
): void
|
|
67
|
-
function openBrushOptions(): void
|
|
68
|
-
function loadBrushPreset(preset: any): void
|
|
69
|
-
}
|
|
1
|
+
/// <reference types="./blockbench"/>
|
|
2
|
+
/**
|
|
3
|
+
* A global namespace containing various functionality for Blockbench's 2D and 3D paint tools and texture editor
|
|
4
|
+
*/
|
|
5
|
+
declare namespace Painter {
|
|
6
|
+
const currentPixel: ArrayVector2
|
|
7
|
+
const brushChanges: boolean
|
|
8
|
+
let current: any
|
|
9
|
+
const selection: any
|
|
10
|
+
const mirror_painting: boolean
|
|
11
|
+
const lock_alpha: boolean
|
|
12
|
+
const erase_mode: boolean
|
|
13
|
+
const default_brush_presets: any[]
|
|
14
|
+
|
|
15
|
+
function edit(
|
|
16
|
+
texture: Texture,
|
|
17
|
+
callback: (canvas: HTMLCanvasElement) => void,
|
|
18
|
+
options: TextureEditOptions
|
|
19
|
+
): void
|
|
20
|
+
function setAlphaMatrix(texture: Texture, x: number, y: number, val: number): void
|
|
21
|
+
function getAlphaMatrix(texture: Texture, x: number, y: number): number
|
|
22
|
+
|
|
23
|
+
function combineColors(base: RGBAColor, added: RGBAColor, opacity: number): RGBAColor
|
|
24
|
+
function blendColors(
|
|
25
|
+
base: RGBAColor,
|
|
26
|
+
added: RGBAColor,
|
|
27
|
+
opacity: number,
|
|
28
|
+
blend_mode: string
|
|
29
|
+
): RGBAColor
|
|
30
|
+
function getMirrorElement(element: OutlinerElement, symmetry_axes: number[]): void
|
|
31
|
+
function updateNslideValues(): void
|
|
32
|
+
function getBlendModeCompositeOperation(): string
|
|
33
|
+
function getCanvas(texture: Texture): HTMLCanvasElement
|
|
34
|
+
function scanCanvas(
|
|
35
|
+
ctx: CanvasRenderingContext2D,
|
|
36
|
+
x: number,
|
|
37
|
+
y: number,
|
|
38
|
+
w: number,
|
|
39
|
+
h: number,
|
|
40
|
+
cb: ((px: number, py: number, color: [r: number, g: number, b: number, a: number]) => [number, number, number, number] | void)
|
|
41
|
+
): void
|
|
42
|
+
function getPixelColor(ctx: CanvasRenderingContext2D, x: number, y: number): void
|
|
43
|
+
function modifyCanvasSection(
|
|
44
|
+
ctx: CanvasRenderingContext2D,
|
|
45
|
+
x: number,
|
|
46
|
+
y: number,
|
|
47
|
+
w: number,
|
|
48
|
+
h: number,
|
|
49
|
+
cb: () => void
|
|
50
|
+
): void
|
|
51
|
+
function editCircle(
|
|
52
|
+
ctx: CanvasRenderingContext2D,
|
|
53
|
+
x: number,
|
|
54
|
+
y: number,
|
|
55
|
+
r: number,
|
|
56
|
+
softness: number,
|
|
57
|
+
editPx: (RGBAColor: any, opacity: number, px: number, py: number) => RGBAColor
|
|
58
|
+
): void
|
|
59
|
+
function editSquare(
|
|
60
|
+
ctx: CanvasRenderingContext2D,
|
|
61
|
+
x: number,
|
|
62
|
+
y: number,
|
|
63
|
+
r: number,
|
|
64
|
+
softness: number,
|
|
65
|
+
editPx: (RGBAColor: any, opacity: number, px: number, py: number) => RGBAColor
|
|
66
|
+
): void
|
|
67
|
+
function openBrushOptions(): void
|
|
68
|
+
function loadBrushPreset(preset: any): void
|
|
69
|
+
}
|
package/custom/preview.d.ts
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
/// <reference types="./blockbench"/>
|
|
2
|
-
interface AnglePreset {
|
|
3
|
-
position: ArrayVector3
|
|
4
|
-
target?: ArrayVector3
|
|
5
|
-
rotation?: ArrayVector3
|
|
6
|
-
projection: 'unset' | 'orthographic' | 'perspective'
|
|
7
|
-
zoom?: number
|
|
8
|
-
focal_length?: number
|
|
9
|
-
fov?: number
|
|
10
|
-
aspect_ratio?: number
|
|
11
|
-
lockedAngle?: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface PreviewOptions {
|
|
15
|
-
id: string
|
|
16
|
-
antialias?: boolean
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
type RaycastResult = {
|
|
20
|
-
type: 'element' | 'keyframe' | 'vertex' | 'cube' | 'line' | 'none'
|
|
21
|
-
event: PointerEvent | MouseEvent | TouchEvent
|
|
22
|
-
cube?: Cube
|
|
23
|
-
intersects?: any[]
|
|
24
|
-
face?: string
|
|
25
|
-
vertex?: any
|
|
26
|
-
keyframe?: _Keyframe
|
|
27
|
-
element?: OutlinerElement
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
type SplitScreenMode = 'single'|'double_horizontal'|'double_vertical'|'quad'|'triple_left'|'triple_right'|'triple_top'|'triple_bottom'
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Previews are 3D viewports, that can either be used as a viewport for the user, or as an offscreen view to record media.
|
|
34
|
-
*/
|
|
35
|
-
declare class Preview extends Deletable {
|
|
36
|
-
constructor(options: PreviewOptions)
|
|
37
|
-
|
|
38
|
-
id: string
|
|
39
|
-
canvas: HTMLCanvasElement
|
|
40
|
-
height: number
|
|
41
|
-
width: number
|
|
42
|
-
aspect_ratio?: number
|
|
43
|
-
node: HTMLElement
|
|
44
|
-
label: HTMLLabelElement
|
|
45
|
-
/**
|
|
46
|
-
* True if the preview is in orthographic camera mode
|
|
47
|
-
*/
|
|
48
|
-
isOrtho: boolean
|
|
49
|
-
/**
|
|
50
|
-
* Angle, when in a specific side view
|
|
51
|
-
*/
|
|
52
|
-
angle: null | number
|
|
53
|
-
default_angle?: AnglePreset
|
|
54
|
-
readonly camera: THREE.PerspectiveCamera | THREE.OrthographicCamera
|
|
55
|
-
camPers: THREE.PerspectiveCamera
|
|
56
|
-
camOrtho: THREE.OrthographicCamera
|
|
57
|
-
controls: any
|
|
58
|
-
annotations: any
|
|
59
|
-
renderer: THREE.WebGLRenderer
|
|
60
|
-
background: {
|
|
61
|
-
name: string
|
|
62
|
-
image: any
|
|
63
|
-
size: number
|
|
64
|
-
x: number
|
|
65
|
-
y: number
|
|
66
|
-
lock: boolean
|
|
67
|
-
}
|
|
68
|
-
raycaster: THREE.Raycaster
|
|
69
|
-
|
|
70
|
-
mouse: THREE.Vector2
|
|
71
|
-
|
|
72
|
-
split_screen: {
|
|
73
|
-
before: undefined | null
|
|
74
|
-
enabled: boolean
|
|
75
|
-
lazyLoadPreview: () => void
|
|
76
|
-
mode: string
|
|
77
|
-
previews: Preview[]
|
|
78
|
-
setMode(mode: string): void
|
|
79
|
-
updateSize(): void
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
raycast(event: MouseEvent): false | RaycastResult
|
|
83
|
-
render(): void
|
|
84
|
-
setProjectionMode(orthographic: boolean): this
|
|
85
|
-
setFOV(fov: number): void
|
|
86
|
-
setLockedAngle(angle: number): this
|
|
87
|
-
|
|
88
|
-
loadAnglePreset(angle_preset: AnglePreset): this
|
|
89
|
-
/**
|
|
90
|
-
* Opens a dialog to create and save a new angle preset
|
|
91
|
-
*/
|
|
92
|
-
newAnglePreset(): this
|
|
93
|
-
|
|
94
|
-
getFacingDirection(): 'north' | 'south' | 'east' | 'west'
|
|
95
|
-
getFacingHeight(): 'up' | 'middle' | 'down'
|
|
96
|
-
|
|
97
|
-
occupyTransformer(): this
|
|
98
|
-
showContextMenu(event: Event | HTMLElement): this
|
|
99
|
-
loadBackground(): void
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* List of all previews
|
|
103
|
-
*/
|
|
104
|
-
static all: Preview[]
|
|
105
|
-
/**
|
|
106
|
-
* The last used preview
|
|
107
|
-
*/
|
|
108
|
-
static selected: Preview
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Utility regarding split screen preview mode
|
|
112
|
-
*/
|
|
113
|
-
static split_screen: {
|
|
114
|
-
/**
|
|
115
|
-
* Whether the split screen is enabled
|
|
116
|
-
*/
|
|
117
|
-
enabled: boolean
|
|
118
|
-
/**
|
|
119
|
-
* The current split screen mode
|
|
120
|
-
*/
|
|
121
|
-
mode: SplitScreenMode
|
|
122
|
-
previews: Preview[]
|
|
123
|
-
lazyLoadPreview(index: number, camera_preset): Preview
|
|
124
|
-
/**
|
|
125
|
-
* Set a split screen mode
|
|
126
|
-
*/
|
|
127
|
-
setMode(mode: SplitScreenMode = 'single')
|
|
128
|
-
/**
|
|
129
|
-
* Update the size of the split screens
|
|
130
|
-
*/
|
|
131
|
-
updateSize()
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
declare const DefaultCameraPresets: AnglePreset[]
|
|
136
|
-
|
|
137
|
-
declare function animate(): void
|
|
1
|
+
/// <reference types="./blockbench"/>
|
|
2
|
+
interface AnglePreset {
|
|
3
|
+
position: ArrayVector3
|
|
4
|
+
target?: ArrayVector3
|
|
5
|
+
rotation?: ArrayVector3
|
|
6
|
+
projection: 'unset' | 'orthographic' | 'perspective'
|
|
7
|
+
zoom?: number
|
|
8
|
+
focal_length?: number
|
|
9
|
+
fov?: number
|
|
10
|
+
aspect_ratio?: number
|
|
11
|
+
lockedAngle?: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface PreviewOptions {
|
|
15
|
+
id: string
|
|
16
|
+
antialias?: boolean
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type RaycastResult = {
|
|
20
|
+
type: 'element' | 'keyframe' | 'vertex' | 'cube' | 'line' | 'none'
|
|
21
|
+
event: PointerEvent | MouseEvent | TouchEvent
|
|
22
|
+
cube?: Cube
|
|
23
|
+
intersects?: any[]
|
|
24
|
+
face?: string
|
|
25
|
+
vertex?: any
|
|
26
|
+
keyframe?: _Keyframe
|
|
27
|
+
element?: OutlinerElement
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type SplitScreenMode = 'single'|'double_horizontal'|'double_vertical'|'quad'|'triple_left'|'triple_right'|'triple_top'|'triple_bottom'
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Previews are 3D viewports, that can either be used as a viewport for the user, or as an offscreen view to record media.
|
|
34
|
+
*/
|
|
35
|
+
declare class Preview extends Deletable {
|
|
36
|
+
constructor(options: PreviewOptions)
|
|
37
|
+
|
|
38
|
+
id: string
|
|
39
|
+
canvas: HTMLCanvasElement
|
|
40
|
+
height: number
|
|
41
|
+
width: number
|
|
42
|
+
aspect_ratio?: number
|
|
43
|
+
node: HTMLElement
|
|
44
|
+
label: HTMLLabelElement
|
|
45
|
+
/**
|
|
46
|
+
* True if the preview is in orthographic camera mode
|
|
47
|
+
*/
|
|
48
|
+
isOrtho: boolean
|
|
49
|
+
/**
|
|
50
|
+
* Angle, when in a specific side view
|
|
51
|
+
*/
|
|
52
|
+
angle: null | number
|
|
53
|
+
default_angle?: AnglePreset
|
|
54
|
+
readonly camera: THREE.PerspectiveCamera | THREE.OrthographicCamera
|
|
55
|
+
camPers: THREE.PerspectiveCamera
|
|
56
|
+
camOrtho: THREE.OrthographicCamera
|
|
57
|
+
controls: any
|
|
58
|
+
annotations: any
|
|
59
|
+
renderer: THREE.WebGLRenderer
|
|
60
|
+
background: {
|
|
61
|
+
name: string
|
|
62
|
+
image: any
|
|
63
|
+
size: number
|
|
64
|
+
x: number
|
|
65
|
+
y: number
|
|
66
|
+
lock: boolean
|
|
67
|
+
}
|
|
68
|
+
raycaster: THREE.Raycaster
|
|
69
|
+
|
|
70
|
+
mouse: THREE.Vector2
|
|
71
|
+
|
|
72
|
+
split_screen: {
|
|
73
|
+
before: undefined | null
|
|
74
|
+
enabled: boolean
|
|
75
|
+
lazyLoadPreview: () => void
|
|
76
|
+
mode: string
|
|
77
|
+
previews: Preview[]
|
|
78
|
+
setMode(mode: string): void
|
|
79
|
+
updateSize(): void
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
raycast(event: MouseEvent): false | RaycastResult
|
|
83
|
+
render(): void
|
|
84
|
+
setProjectionMode(orthographic: boolean): this
|
|
85
|
+
setFOV(fov: number): void
|
|
86
|
+
setLockedAngle(angle: number): this
|
|
87
|
+
|
|
88
|
+
loadAnglePreset(angle_preset: AnglePreset): this
|
|
89
|
+
/**
|
|
90
|
+
* Opens a dialog to create and save a new angle preset
|
|
91
|
+
*/
|
|
92
|
+
newAnglePreset(): this
|
|
93
|
+
|
|
94
|
+
getFacingDirection(): 'north' | 'south' | 'east' | 'west'
|
|
95
|
+
getFacingHeight(): 'up' | 'middle' | 'down'
|
|
96
|
+
|
|
97
|
+
occupyTransformer(): this
|
|
98
|
+
showContextMenu(event: Event | HTMLElement): this
|
|
99
|
+
loadBackground(): void
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* List of all previews
|
|
103
|
+
*/
|
|
104
|
+
static all: Preview[]
|
|
105
|
+
/**
|
|
106
|
+
* The last used preview
|
|
107
|
+
*/
|
|
108
|
+
static selected: Preview
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Utility regarding split screen preview mode
|
|
112
|
+
*/
|
|
113
|
+
static split_screen: {
|
|
114
|
+
/**
|
|
115
|
+
* Whether the split screen is enabled
|
|
116
|
+
*/
|
|
117
|
+
enabled: boolean
|
|
118
|
+
/**
|
|
119
|
+
* The current split screen mode
|
|
120
|
+
*/
|
|
121
|
+
mode: SplitScreenMode
|
|
122
|
+
previews: Preview[]
|
|
123
|
+
lazyLoadPreview(index: number, camera_preset): Preview
|
|
124
|
+
/**
|
|
125
|
+
* Set a split screen mode
|
|
126
|
+
*/
|
|
127
|
+
setMode(mode: SplitScreenMode = 'single')
|
|
128
|
+
/**
|
|
129
|
+
* Update the size of the split screens
|
|
130
|
+
*/
|
|
131
|
+
updateSize()
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
declare const DefaultCameraPresets: AnglePreset[]
|
|
136
|
+
|
|
137
|
+
declare function animate(): void
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
/// <reference types="./blockbench"/>
|
|
2
|
-
interface PreviewModelCubeTemplate {
|
|
3
|
-
position: ArrayVector3
|
|
4
|
-
size: ArrayVector3
|
|
5
|
-
origin?: ArrayVector3
|
|
6
|
-
rotation?: ArrayVector3
|
|
7
|
-
faces: {
|
|
8
|
-
north?: { uv: ArrayVector4 }
|
|
9
|
-
east?: { uv: ArrayVector4 }
|
|
10
|
-
west?: { uv: ArrayVector4 }
|
|
11
|
-
south?: { uv: ArrayVector4 }
|
|
12
|
-
up?: { uv: ArrayVector4 }
|
|
13
|
-
down?: { uv: ArrayVector4 }
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
interface PreviewModelOptions {
|
|
18
|
-
condition?: ConditionResolvable
|
|
19
|
-
cubes: PreviewModelCubeTemplate[]
|
|
20
|
-
/**
|
|
21
|
-
* Source of the model's texture
|
|
22
|
-
*/
|
|
23
|
-
texture?: string
|
|
24
|
-
/**
|
|
25
|
-
* Model tint color
|
|
26
|
-
*/
|
|
27
|
-
color?: string
|
|
28
|
-
/**
|
|
29
|
-
* Enable shading on the material
|
|
30
|
-
*/
|
|
31
|
-
shading?: boolean
|
|
32
|
-
/**
|
|
33
|
-
* THREE.JS material render side
|
|
34
|
-
*/
|
|
35
|
-
render_side?: number
|
|
36
|
-
texture_size?: [number, number]
|
|
37
|
-
onUpdate?(): void
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
declare class PreviewModel extends Deletable {
|
|
41
|
-
constructor(id: string, options: PreviewModelOptions)
|
|
42
|
-
|
|
43
|
-
static models: {
|
|
44
|
-
[id: string]: PreviewModel
|
|
45
|
-
}
|
|
46
|
-
static getActiveModels(): PreviewModel[]
|
|
47
|
-
|
|
48
|
-
id: string
|
|
49
|
-
model_3d: THREE.Object3D
|
|
50
|
-
cubes: PreviewModelCubeTemplate[]
|
|
51
|
-
texture?: string
|
|
52
|
-
color?: string
|
|
53
|
-
shading: boolean
|
|
54
|
-
render_side: number
|
|
55
|
-
texture_size: [number, number]
|
|
56
|
-
onUpdate?: () => void
|
|
57
|
-
/**
|
|
58
|
-
* Enables the model in the preview
|
|
59
|
-
*/
|
|
60
|
-
enable(): void
|
|
61
|
-
/**
|
|
62
|
-
* Disables the model in the preview
|
|
63
|
-
*/
|
|
64
|
-
disable(): boolean
|
|
65
|
-
/**
|
|
66
|
-
* Update the appearance and visibility of the model
|
|
67
|
-
*/
|
|
68
|
-
update(): void
|
|
69
|
-
buildModel(): void
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
interface PreviewSceneOptions {
|
|
73
|
-
name?: string
|
|
74
|
-
description?: string
|
|
75
|
-
category?: string
|
|
76
|
-
light_color?: string
|
|
77
|
-
light_side?: number
|
|
78
|
-
condition?: ConditionResolvable
|
|
79
|
-
preview_models?: string[]
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
declare class PreviewScene extends Deletable {
|
|
83
|
-
constructor(id: string, options: PreviewSceneOptions)
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* All preview scenes, listed by ID
|
|
87
|
-
*/
|
|
88
|
-
static scenes: Record<string, PreviewScene>
|
|
89
|
-
/**
|
|
90
|
-
* The currently active scene
|
|
91
|
-
*/
|
|
92
|
-
static active: PreviewScene | null
|
|
93
|
-
/**
|
|
94
|
-
* The URL to the source repository that scenes are pulled from
|
|
95
|
-
*/
|
|
96
|
-
static source_repository: string
|
|
97
|
-
static menu_categories: {
|
|
98
|
-
[category_id: string]: {
|
|
99
|
-
[id: string]: string
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
id: string
|
|
104
|
-
name: string
|
|
105
|
-
description: string
|
|
106
|
-
category?: string
|
|
107
|
-
light_color: string
|
|
108
|
-
light_side: number
|
|
109
|
-
condition?: ConditionResolvable
|
|
110
|
-
preview_models: string[]
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Selects this preview scene
|
|
114
|
-
*/
|
|
115
|
-
select(): void
|
|
116
|
-
/**
|
|
117
|
-
* Unselects this preview scene
|
|
118
|
-
*/
|
|
119
|
-
unselect(): void
|
|
120
|
-
}
|
|
1
|
+
/// <reference types="./blockbench"/>
|
|
2
|
+
interface PreviewModelCubeTemplate {
|
|
3
|
+
position: ArrayVector3
|
|
4
|
+
size: ArrayVector3
|
|
5
|
+
origin?: ArrayVector3
|
|
6
|
+
rotation?: ArrayVector3
|
|
7
|
+
faces: {
|
|
8
|
+
north?: { uv: ArrayVector4 }
|
|
9
|
+
east?: { uv: ArrayVector4 }
|
|
10
|
+
west?: { uv: ArrayVector4 }
|
|
11
|
+
south?: { uv: ArrayVector4 }
|
|
12
|
+
up?: { uv: ArrayVector4 }
|
|
13
|
+
down?: { uv: ArrayVector4 }
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface PreviewModelOptions {
|
|
18
|
+
condition?: ConditionResolvable
|
|
19
|
+
cubes: PreviewModelCubeTemplate[]
|
|
20
|
+
/**
|
|
21
|
+
* Source of the model's texture
|
|
22
|
+
*/
|
|
23
|
+
texture?: string
|
|
24
|
+
/**
|
|
25
|
+
* Model tint color
|
|
26
|
+
*/
|
|
27
|
+
color?: string
|
|
28
|
+
/**
|
|
29
|
+
* Enable shading on the material
|
|
30
|
+
*/
|
|
31
|
+
shading?: boolean
|
|
32
|
+
/**
|
|
33
|
+
* THREE.JS material render side
|
|
34
|
+
*/
|
|
35
|
+
render_side?: number
|
|
36
|
+
texture_size?: [number, number]
|
|
37
|
+
onUpdate?(): void
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
declare class PreviewModel extends Deletable {
|
|
41
|
+
constructor(id: string, options: PreviewModelOptions)
|
|
42
|
+
|
|
43
|
+
static models: {
|
|
44
|
+
[id: string]: PreviewModel
|
|
45
|
+
}
|
|
46
|
+
static getActiveModels(): PreviewModel[]
|
|
47
|
+
|
|
48
|
+
id: string
|
|
49
|
+
model_3d: THREE.Object3D
|
|
50
|
+
cubes: PreviewModelCubeTemplate[]
|
|
51
|
+
texture?: string
|
|
52
|
+
color?: string
|
|
53
|
+
shading: boolean
|
|
54
|
+
render_side: number
|
|
55
|
+
texture_size: [number, number]
|
|
56
|
+
onUpdate?: () => void
|
|
57
|
+
/**
|
|
58
|
+
* Enables the model in the preview
|
|
59
|
+
*/
|
|
60
|
+
enable(): void
|
|
61
|
+
/**
|
|
62
|
+
* Disables the model in the preview
|
|
63
|
+
*/
|
|
64
|
+
disable(): boolean
|
|
65
|
+
/**
|
|
66
|
+
* Update the appearance and visibility of the model
|
|
67
|
+
*/
|
|
68
|
+
update(): void
|
|
69
|
+
buildModel(): void
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
interface PreviewSceneOptions {
|
|
73
|
+
name?: string
|
|
74
|
+
description?: string
|
|
75
|
+
category?: string
|
|
76
|
+
light_color?: string
|
|
77
|
+
light_side?: number
|
|
78
|
+
condition?: ConditionResolvable
|
|
79
|
+
preview_models?: string[]
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
declare class PreviewScene extends Deletable {
|
|
83
|
+
constructor(id: string, options: PreviewSceneOptions)
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* All preview scenes, listed by ID
|
|
87
|
+
*/
|
|
88
|
+
static scenes: Record<string, PreviewScene>
|
|
89
|
+
/**
|
|
90
|
+
* The currently active scene
|
|
91
|
+
*/
|
|
92
|
+
static active: PreviewScene | null
|
|
93
|
+
/**
|
|
94
|
+
* The URL to the source repository that scenes are pulled from
|
|
95
|
+
*/
|
|
96
|
+
static source_repository: string
|
|
97
|
+
static menu_categories: {
|
|
98
|
+
[category_id: string]: {
|
|
99
|
+
[id: string]: string
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
id: string
|
|
104
|
+
name: string
|
|
105
|
+
description: string
|
|
106
|
+
category?: string
|
|
107
|
+
light_color: string
|
|
108
|
+
light_side: number
|
|
109
|
+
condition?: ConditionResolvable
|
|
110
|
+
preview_models: string[]
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Selects this preview scene
|
|
114
|
+
*/
|
|
115
|
+
select(): void
|
|
116
|
+
/**
|
|
117
|
+
* Unselects this preview scene
|
|
118
|
+
*/
|
|
119
|
+
unselect(): void
|
|
120
|
+
}
|