blockbench-types 5.1.0 → 5.2.0-beta.0-next.1
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 +71 -73
- package/custom/canvas.d.ts +307 -307
- package/custom/codec.d.ts +182 -182
- package/custom/copy_paste.d.ts +43 -42
- package/custom/cube.d.ts +151 -151
- package/custom/desktop.d.ts +61 -73
- package/custom/display_mode.d.ts +137 -137
- package/custom/edit_session.d.ts +38 -37
- package/custom/global.d.ts +182 -168
- package/custom/group.d.ts +113 -113
- package/custom/interface.d.ts +83 -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 +137 -136
- package/custom/mesh.d.ts +196 -196
- package/custom/misc.d.ts +188 -199
- package/custom/molang.d.ts +159 -159
- package/custom/outliner.d.ts +158 -158
- package/custom/painter.d.ts +70 -69
- package/custom/preview.d.ts +147 -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/texture_group.d.ts +68 -68
- package/custom/textures.d.ts +524 -515
- package/custom/timeline.d.ts +66 -66
- package/custom/toolbars.d.ts +222 -221
- package/custom/undo.d.ts +209 -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/animations/mirror_animating.d.ts +7 -0
- package/generated/api.d.ts +6 -0
- package/generated/file_system.d.ts +1 -1
- package/generated/formats/standards/obj.d.ts +9 -11
- package/generated/interface/actions.d.ts +6 -3
- package/generated/interface/form.d.ts +2 -1
- package/generated/interface/resize_lines.d.ts +2 -0
- package/generated/interface/settings.d.ts +6 -2
- package/generated/interface/start_screen.d.ts +62 -42
- package/generated/io/project.d.ts +9 -1
- package/generated/lib/CanvasFrame.d.ts +1 -0
- package/generated/main.d.ts +1 -1
- package/generated/modeling/mesh/proportional_edit.d.ts +15 -13
- package/generated/modeling/mirror_modeling.d.ts +4 -0
- package/generated/modeling/weight_paint.d.ts +11 -0
- package/generated/texturing/layers.d.ts +140 -0
- package/generated/util/state_memory.d.ts +1 -1
- package/index.d.ts +2 -2
- package/package.json +39 -39
- package/tsconfig.json +19 -19
- package/type_config.json +45 -46
- package/custom/start_screen.d.ts +0 -15
- package/custom/texture_layers.d.ts +0 -117
- package/generated/global_types.d.ts +0 -47
- package/generated/io/formats/bedrock.d.ts +0 -4
- package/generated/io/formats/bedrock_old.d.ts +0 -4
- package/generated/io/formats/collada.d.ts +0 -4
- package/generated/io/formats/fbx.d.ts +0 -17
- package/generated/io/formats/gltf.d.ts +0 -6
- package/generated/io/formats/java_block.d.ts +0 -4
- package/generated/io/formats/modded_entity.d.ts +0 -139
- package/generated/io/formats/obj.d.ts +0 -12
- package/generated/io/formats/optifine_jem.d.ts +0 -3
- package/generated/io/formats/optifine_jpm.d.ts +0 -3
- package/generated/io/formats/skin.d.ts +0 -22
package/documentation.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
Welcome to the reference documentation for Blockbench!
|
|
3
|
-
|
|
4
|
-
This documentation is automatically generated from the comments and typescript types of the latest Blockbench release.
|
|
5
|
-
|
|
6
|
-
The documentation is mainly intended for plugin creators. You can find guides on how to get started with plugin development on the Blockbench wiki: [Creating a Plugin - Blockbench Wiki](https://www.blockbench.net/wiki/docs/plugin)
|
|
7
|
-
|
|
8
|
-
### Navigation
|
|
9
|
-
|
|
10
|
-
The documentation in the sidebar is divided into two categories: `custom` and `generated`. This separation is mostly irrelevant when reading types, it just stems from the fact that some code is written directly in Typescript, while other code is still written in Javascript with custom types. In some cases, there may be duplicated references between the two, in that case you can usually reference the one in `custom`.
|
|
11
|
-
|
|
12
|
-
You should be able to find any class and variable via the search function.
|
|
1
|
+
|
|
2
|
+
Welcome to the reference documentation for Blockbench!
|
|
3
|
+
|
|
4
|
+
This documentation is automatically generated from the comments and typescript types of the latest Blockbench release.
|
|
5
|
+
|
|
6
|
+
The documentation is mainly intended for plugin creators. You can find guides on how to get started with plugin development on the Blockbench wiki: [Creating a Plugin - Blockbench Wiki](https://www.blockbench.net/wiki/docs/plugin)
|
|
7
|
+
|
|
8
|
+
### Navigation
|
|
9
|
+
|
|
10
|
+
The documentation in the sidebar is divided into two categories: `custom` and `generated`. This separation is mostly irrelevant when reading types, it just stems from the fact that some code is written directly in Typescript, while other code is still written in Javascript with custom types. In some cases, there may be duplicated references between the two, in that case you can usually reference the one in `custom`.
|
|
11
|
+
|
|
12
|
+
You should be able to find any class and variable via the search function.
|
package/generated/api.d.ts
CHANGED
|
@@ -34,12 +34,15 @@ export declare const Blockbench: {
|
|
|
34
34
|
version: string;
|
|
35
35
|
operating_system: string;
|
|
36
36
|
platform: string;
|
|
37
|
+
browser: string;
|
|
37
38
|
flags: any[];
|
|
38
39
|
drag_handlers: {};
|
|
39
40
|
events: {};
|
|
40
41
|
openTime: Date;
|
|
41
42
|
setup_successful: null | true;
|
|
42
43
|
argv: string[];
|
|
44
|
+
queries: Record<string, string | boolean>;
|
|
45
|
+
startup_count: number;
|
|
43
46
|
/**
|
|
44
47
|
* @deprecated Use Undo.initEdit and Undo.finishEdit instead
|
|
45
48
|
*/
|
|
@@ -117,12 +120,15 @@ declare const global: {
|
|
|
117
120
|
version: string;
|
|
118
121
|
operating_system: string;
|
|
119
122
|
platform: string;
|
|
123
|
+
browser: string;
|
|
120
124
|
flags: any[];
|
|
121
125
|
drag_handlers: {};
|
|
122
126
|
events: {};
|
|
123
127
|
openTime: Date;
|
|
124
128
|
setup_successful: null | true;
|
|
125
129
|
argv: string[];
|
|
130
|
+
queries: Record<string, string | boolean>;
|
|
131
|
+
startup_count: number;
|
|
126
132
|
/**
|
|
127
133
|
* @deprecated Use Undo.initEdit and Undo.finishEdit instead
|
|
128
134
|
*/
|
|
@@ -10,7 +10,7 @@ declare global {
|
|
|
10
10
|
* The resource identifier group, used to allow the file dialog (open and save) to remember where it was last used
|
|
11
11
|
*/
|
|
12
12
|
export type ResourceID = string | 'texture' | 'minecraft_skin' | 'dev_plugin' | 'animation' | 'animation_particle' | 'animation_audio' | 'theme' | 'model' | 'gltf' | 'obj' | 'preview_background' | 'screenshot' | 'palette';
|
|
13
|
-
type ReadType = 'buffer' | 'binary' | 'text' | 'image' | 'none';
|
|
13
|
+
export type ReadType = 'buffer' | 'binary' | 'text' | 'image' | 'none';
|
|
14
14
|
export interface ReadOptions {
|
|
15
15
|
readtype?: ReadType | ((file: string) => ReadType);
|
|
16
16
|
errorbox?: boolean;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
declare
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
let down: number[];
|
|
10
|
-
}
|
|
1
|
+
declare var _obj_export: any;
|
|
2
|
+
declare namespace cube_face_normals {
|
|
3
|
+
let north: number[];
|
|
4
|
+
let east: number[];
|
|
5
|
+
let south: number[];
|
|
6
|
+
let west: number[];
|
|
7
|
+
let up: number[];
|
|
8
|
+
let down: number[];
|
|
11
9
|
}
|
|
12
|
-
|
|
10
|
+
declare var codec: Codec;
|
|
13
11
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import MolangParser from "molangjs";
|
|
2
2
|
import tinycolor from "tinycolor2";
|
|
3
|
-
export declare const BarItems:
|
|
3
|
+
export declare const BarItems: any;
|
|
4
4
|
type SubKeybind = {
|
|
5
5
|
name: string;
|
|
6
6
|
keybind?: Keybind;
|
|
@@ -580,7 +580,7 @@ declare const global: {
|
|
|
580
580
|
structure: {};
|
|
581
581
|
save(): void;
|
|
582
582
|
};
|
|
583
|
-
BarItems:
|
|
583
|
+
BarItems: any;
|
|
584
584
|
};
|
|
585
585
|
declare global {
|
|
586
586
|
type BarItem = import('./actions').BarItem;
|
|
@@ -605,6 +605,9 @@ declare global {
|
|
|
605
605
|
const BarText: typeof global.BarText;
|
|
606
606
|
type ColorPicker = import('./actions').ColorPicker;
|
|
607
607
|
const ColorPicker: typeof global.ColorPicker;
|
|
608
|
-
const BarItems:
|
|
608
|
+
const BarItems: BarItemRegistry;
|
|
609
|
+
interface BarItemRegistry {
|
|
610
|
+
[key: string]: BarItem;
|
|
611
|
+
}
|
|
609
612
|
}
|
|
610
613
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Filesystem } from "../file_system";
|
|
1
2
|
import { EventSystem } from "../util/event_system";
|
|
2
|
-
type ReadType =
|
|
3
|
+
type ReadType = Filesystem.ReadType;
|
|
3
4
|
export declare enum FormInputType {
|
|
4
5
|
Text = "text",
|
|
5
6
|
Password = "password",
|
|
@@ -9,6 +9,7 @@ interface ResizeLineOptions {
|
|
|
9
9
|
horizontal?: boolean;
|
|
10
10
|
condition: ConditionResolvable;
|
|
11
11
|
width?: number;
|
|
12
|
+
parent_element?: HTMLElement;
|
|
12
13
|
get: (this: ResizeLine) => number;
|
|
13
14
|
set: (this: ResizeLine, original: number, difference: number) => void;
|
|
14
15
|
reset?: (this: ResizeLine) => void;
|
|
@@ -19,6 +20,7 @@ export interface ResizeLine extends ResizeLineOptions {
|
|
|
19
20
|
export declare class ResizeLine implements ResizeLineOptions {
|
|
20
21
|
before?: number;
|
|
21
22
|
node: HTMLDivElement;
|
|
23
|
+
parent_element: HTMLElement;
|
|
22
24
|
constructor(id: string, data: ResizeLineOptions);
|
|
23
25
|
update(): void;
|
|
24
26
|
setPosition(data: ResizeLinePositionData): void;
|
|
@@ -118,7 +118,9 @@ export declare const Settings: {
|
|
|
118
118
|
open: boolean;
|
|
119
119
|
items: Record<string, Setting>;
|
|
120
120
|
}>;
|
|
121
|
-
stored: Record<string,
|
|
121
|
+
stored: Record<string, {
|
|
122
|
+
value: SettingsValue;
|
|
123
|
+
}>;
|
|
122
124
|
dialog: Dialog | null;
|
|
123
125
|
addCategory(id: string, data: {
|
|
124
126
|
name?: string;
|
|
@@ -157,7 +159,9 @@ declare const globals: {
|
|
|
157
159
|
open: boolean;
|
|
158
160
|
items: Record<string, import("./settings").Setting>;
|
|
159
161
|
}>;
|
|
160
|
-
stored: Record<string,
|
|
162
|
+
stored: Record<string, {
|
|
163
|
+
value: SettingsValue;
|
|
164
|
+
}>;
|
|
161
165
|
dialog: Dialog | null;
|
|
162
166
|
addCategory(id: string, data: {
|
|
163
167
|
name?: string;
|
|
@@ -1,47 +1,67 @@
|
|
|
1
|
-
declare
|
|
1
|
+
export declare const StartScreen: {
|
|
2
|
+
loaders: {};
|
|
3
|
+
vue: null | (Vue & any);
|
|
4
|
+
open(): void;
|
|
5
|
+
updateThumbnails(model_paths?: string[]): void;
|
|
6
|
+
addSection: typeof addStartScreenSection;
|
|
7
|
+
};
|
|
8
|
+
interface StartScreenTextSegment {
|
|
9
|
+
text: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
list?: string[];
|
|
12
|
+
click?: () => void;
|
|
13
|
+
}
|
|
14
|
+
interface StartScreenFeature {
|
|
15
|
+
image: string;
|
|
16
|
+
title: string;
|
|
2
17
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @param {string} id Identifier
|
|
5
|
-
* @param {object} data
|
|
6
|
-
* @param {object} data.graphic
|
|
7
|
-
* @param {'icon'|string} data.graphic.type
|
|
8
|
-
* @param {string} [data.graphic.icon]
|
|
9
|
-
* @param {string} [data.graphic.source]
|
|
10
|
-
* @param {number} [data.graphic.width]
|
|
11
|
-
* @param {number} [data.graphic.height]
|
|
12
|
-
* @param {number} [data.graphic.aspect_ratio] Section aspect ratio
|
|
13
|
-
* @param {string} [data.graphic.description] Markdown string
|
|
14
|
-
* @param {string} [data.graphic.text_color]
|
|
15
|
-
* @param {Array.<{text: String, {type}: [String], [list]: Array.String, {click}: [Function]}>} data.text
|
|
16
|
-
* @param {'vertical'|'horizontal'} data.layout
|
|
17
|
-
* @param {Array} data.features
|
|
18
|
-
* @param {boolean} data.closable
|
|
19
|
-
* @param {Function} data.click
|
|
20
|
-
* @param {string} data.color
|
|
21
|
-
* @param {string} data.text_color
|
|
22
|
-
* @param {boolean} data.last
|
|
23
|
-
* @param {string} data.insert_after
|
|
24
|
-
* @param {string} data.insert_before
|
|
25
|
-
* @returns
|
|
18
|
+
* Markdown supported text
|
|
26
19
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
20
|
+
text: string;
|
|
21
|
+
}
|
|
22
|
+
export interface StartScreenSection {
|
|
23
|
+
graphic?: {
|
|
24
|
+
type: 'icon' | string;
|
|
25
|
+
icon?: string;
|
|
26
|
+
source?: string;
|
|
27
|
+
width?: number;
|
|
28
|
+
height?: number;
|
|
29
|
+
aspect_ratio?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Markdown string
|
|
32
|
+
*/
|
|
33
|
+
description?: string;
|
|
34
|
+
text_color?: string;
|
|
40
35
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
text?: StartScreenTextSegment[];
|
|
37
|
+
layout?: 'vertical' | 'horizontal';
|
|
38
|
+
features?: StartScreenFeature[];
|
|
39
|
+
closable?: boolean;
|
|
40
|
+
click?: Function;
|
|
41
|
+
color?: string;
|
|
42
|
+
text_color?: string;
|
|
43
|
+
last?: boolean;
|
|
44
|
+
insert_after?: string;
|
|
45
|
+
insert_before?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Adds a section to the start screen
|
|
49
|
+
*/
|
|
50
|
+
export declare function addStartScreenSection(id: string, data: StartScreenSection): {
|
|
51
|
+
delete(): void;
|
|
52
|
+
};
|
|
53
|
+
declare const global: {
|
|
54
|
+
StartScreen: {
|
|
55
|
+
loaders: {};
|
|
56
|
+
vue: null | (Vue & any);
|
|
57
|
+
open(): void;
|
|
58
|
+
updateThumbnails(model_paths?: string[]): void;
|
|
59
|
+
addSection: typeof import("./start_screen").addStartScreenSection;
|
|
60
|
+
};
|
|
61
|
+
addStartScreenSection: typeof import("./start_screen").addStartScreenSection;
|
|
62
|
+
};
|
|
63
|
+
declare global {
|
|
64
|
+
const StartScreen: typeof global.StartScreen;
|
|
65
|
+
const addStartScreenSection: typeof global.addStartScreenSection;
|
|
45
66
|
}
|
|
46
|
-
|
|
47
67
|
export {};
|
|
@@ -112,7 +112,7 @@ export declare class ModelProject {
|
|
|
112
112
|
get nodes_3d(): Record<UUID, THREE.Object3D>;
|
|
113
113
|
getDisplayName(with_extension?: boolean): string;
|
|
114
114
|
getFileExtension(): string;
|
|
115
|
-
getProjectMemory(): RecentProjectData;
|
|
115
|
+
getProjectMemory(): import("../desktop").RecentProjectData;
|
|
116
116
|
getMultiFileRuleset(): MultiFileRuleset | undefined;
|
|
117
117
|
getUVWidth(texture?: Texture): number;
|
|
118
118
|
getUVHeight(texture?: Texture): number;
|
|
@@ -158,5 +158,13 @@ declare global {
|
|
|
158
158
|
const updateTabBarVisibility: typeof global.updateTabBarVisibility;
|
|
159
159
|
const updateProjectResolution: typeof global.updateProjectResolution;
|
|
160
160
|
const setStartScreen: typeof global.setStartScreen;
|
|
161
|
+
interface BarItemRegistry {
|
|
162
|
+
project_window: Action;
|
|
163
|
+
close_project: Action;
|
|
164
|
+
duplicate_project: Action;
|
|
165
|
+
convert_project: Action;
|
|
166
|
+
switch_tabs: Action;
|
|
167
|
+
tab_overview: Action;
|
|
168
|
+
}
|
|
161
169
|
}
|
|
162
170
|
export {};
|
|
@@ -3,6 +3,7 @@ export declare class CanvasFrame {
|
|
|
3
3
|
ctx: CanvasRenderingContext2D;
|
|
4
4
|
constructor();
|
|
5
5
|
constructor(width: number, height: number);
|
|
6
|
+
constructor(source: HTMLCanvasElement | HTMLImageElement);
|
|
6
7
|
get width(): number;
|
|
7
8
|
get height(): number;
|
|
8
9
|
createCanvas(width: number, height: number): void;
|
package/generated/main.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ import "./interface/about";
|
|
|
40
40
|
import "./interface/action_control";
|
|
41
41
|
import "./copy_paste";
|
|
42
42
|
import "./undo";
|
|
43
|
-
import './desktop.
|
|
43
|
+
import './desktop.ts';
|
|
44
44
|
import "./interface/setup_settings";
|
|
45
45
|
import "./interface/settings_window";
|
|
46
46
|
import "./edit_sessions";
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
declare
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
selection: string;
|
|
9
|
-
};
|
|
10
|
-
calculateWeights(mesh: Mesh): void;
|
|
11
|
-
editVertices(mesh: Mesh, per_vertex: (vkey: string, blend: number) => void): void;
|
|
1
|
+
export declare const ProportionalEdit: {
|
|
2
|
+
vertex_weights: {};
|
|
3
|
+
config: {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
range: number;
|
|
6
|
+
falloff: string;
|
|
7
|
+
selection: string;
|
|
12
8
|
};
|
|
9
|
+
calculateWeights(mesh: Mesh): void;
|
|
10
|
+
editVertices(mesh: Mesh, per_vertex: (vkey: string, blend: number) => void): void;
|
|
11
|
+
};
|
|
12
|
+
declare global {
|
|
13
|
+
interface BarItemRegistry {
|
|
14
|
+
proportional_editing_range: NumSlider;
|
|
15
|
+
proportional_editing: Toggle;
|
|
16
|
+
}
|
|
13
17
|
}
|
|
14
|
-
|
|
15
|
-
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface BarItemRegistry {
|
|
3
|
+
opacity_slider: NumSlider;
|
|
4
|
+
weight_brush: Tool;
|
|
5
|
+
slider_weight_brush_size: NumSlider;
|
|
6
|
+
slider_weight_brush_limit: NumSlider;
|
|
7
|
+
weight_brush_xray: Toggle;
|
|
8
|
+
weight_brush_blend_mode: BarSelect;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Property } from "../util/property";
|
|
2
|
+
interface TextureLayerData {
|
|
3
|
+
name?: string;
|
|
4
|
+
in_limbo?: boolean;
|
|
5
|
+
offset?: ArrayVector2;
|
|
6
|
+
scale?: ArrayVector2;
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
opacity?: number;
|
|
10
|
+
visible?: boolean;
|
|
11
|
+
blend_mode?: LayerBlendMode;
|
|
12
|
+
image_data?: ImageData;
|
|
13
|
+
data_url?: string;
|
|
14
|
+
}
|
|
15
|
+
type LayerBlendMode = 'default' | 'set_opacity' | 'color' | 'multiply' | 'add' | 'darken' | 'lighten' | 'screen' | 'overlay' | 'difference' | 'alpha_mask';
|
|
16
|
+
/**
|
|
17
|
+
* Texture layers always belong to a texture and represent the layers of the texture. Each layer has its own HTML canvas and canvas context
|
|
18
|
+
*/
|
|
19
|
+
export declare class TextureLayer {
|
|
20
|
+
name: string;
|
|
21
|
+
uuid: UUID;
|
|
22
|
+
texture: Texture;
|
|
23
|
+
canvas: HTMLCanvasElement;
|
|
24
|
+
ctx: CanvasRenderingContext2D;
|
|
25
|
+
in_limbo: boolean;
|
|
26
|
+
img: HTMLImageElement;
|
|
27
|
+
menu?: Menu;
|
|
28
|
+
/**
|
|
29
|
+
* Layer offset from the top left corner of the texture to the top left corner of the layer
|
|
30
|
+
*/
|
|
31
|
+
offset: ArrayVector2;
|
|
32
|
+
/**
|
|
33
|
+
* Layer scale. This is only used by the layer transform tool and should be applied and reset to 1x1 before doing further changes
|
|
34
|
+
*/
|
|
35
|
+
scale: ArrayVector2;
|
|
36
|
+
opacity: number;
|
|
37
|
+
visible: boolean;
|
|
38
|
+
blend_mode: LayerBlendMode;
|
|
39
|
+
static properties: Record<string, Property<any>>;
|
|
40
|
+
constructor(data: TextureLayerData, texture?: Texture, uuid?: UUID);
|
|
41
|
+
get width(): number;
|
|
42
|
+
get height(): number;
|
|
43
|
+
get scaled_width(): number;
|
|
44
|
+
get scaled_height(): number;
|
|
45
|
+
get size(): number[];
|
|
46
|
+
get selected(): boolean;
|
|
47
|
+
extend(data: TextureLayerData): void;
|
|
48
|
+
/**
|
|
49
|
+
* Selects the layer
|
|
50
|
+
*/
|
|
51
|
+
select(): void;
|
|
52
|
+
clickSelect(event: any): void;
|
|
53
|
+
showContextMenu(event: MouseEvent): void;
|
|
54
|
+
/**
|
|
55
|
+
* Remove the layer
|
|
56
|
+
* @param undo Create an undo point and update the texture
|
|
57
|
+
*/
|
|
58
|
+
remove(undo?: boolean): void;
|
|
59
|
+
getUndoCopy(image_data: boolean): any;
|
|
60
|
+
getSaveCopy(): any;
|
|
61
|
+
/**
|
|
62
|
+
* Set the layer into a limbo state, where clicking Place or clicking next to the layer will place it on the layer below
|
|
63
|
+
*/
|
|
64
|
+
setLimbo(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Resolves the limbo state by turning the limbo layer into a full layer, or merging it into the layer below
|
|
67
|
+
* @param keep_separate If true, the layer is kept as a separate layer
|
|
68
|
+
*/
|
|
69
|
+
resolveLimbo(keep_separate: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* Set the layer size. This resizes the canvas, which discards the layer content
|
|
72
|
+
*/
|
|
73
|
+
setSize(width: number, height: number): this;
|
|
74
|
+
/**
|
|
75
|
+
* Toggle layer visibility. This creates an undo point
|
|
76
|
+
*/
|
|
77
|
+
toggleVisibility(): this;
|
|
78
|
+
/**
|
|
79
|
+
* Scroll the layer panel list to
|
|
80
|
+
*/
|
|
81
|
+
scrollTo(): this;
|
|
82
|
+
/**
|
|
83
|
+
* Add the layer to the associated texture above the previously selected layer, select this layer, and scroll the layer panel list to it
|
|
84
|
+
*/
|
|
85
|
+
addForEditing(): this;
|
|
86
|
+
/**
|
|
87
|
+
* Merge this texture onto the texture below
|
|
88
|
+
* @param undo Create an undo entry
|
|
89
|
+
*/
|
|
90
|
+
mergeDown(undo?: boolean): void;
|
|
91
|
+
/**
|
|
92
|
+
* Expand the layer to include the listed pixels
|
|
93
|
+
* @param points
|
|
94
|
+
*/
|
|
95
|
+
expandTo(...points: ArrayVector2[]): void;
|
|
96
|
+
/**
|
|
97
|
+
* Flip the texture along an axis
|
|
98
|
+
* @param axis Flip axis, where 0 is X and 1 is Y
|
|
99
|
+
* @param undo Create an undo entry
|
|
100
|
+
*/
|
|
101
|
+
flip(axis: 0 | 1, undo: boolean): void;
|
|
102
|
+
/**
|
|
103
|
+
* Rotate the layer around itself in 90 degree steps
|
|
104
|
+
* @param angle Angle in degrees
|
|
105
|
+
* @param undo Create an undo entry
|
|
106
|
+
*/
|
|
107
|
+
rotate(angle: number, undo: boolean): void;
|
|
108
|
+
/**
|
|
109
|
+
* Centers the layer on the texture
|
|
110
|
+
*/
|
|
111
|
+
center(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Open the properties dialog
|
|
114
|
+
*/
|
|
115
|
+
propertiesDialog(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Get all layers of the active texture
|
|
118
|
+
*/
|
|
119
|
+
static all: TextureLayer[];
|
|
120
|
+
/**
|
|
121
|
+
* Get the selected layer
|
|
122
|
+
*/
|
|
123
|
+
static selected: TextureLayer | null;
|
|
124
|
+
}
|
|
125
|
+
declare global {
|
|
126
|
+
interface BarItemRegistry {
|
|
127
|
+
layer_opacity: NumSlider;
|
|
128
|
+
layer_blend_mode: BarSelect;
|
|
129
|
+
selection_tool: Tool;
|
|
130
|
+
create_empty_layer: Action;
|
|
131
|
+
import_layer: Action;
|
|
132
|
+
enable_texture_layers: Action;
|
|
133
|
+
disable_texture_layers: Action;
|
|
134
|
+
layer_to_texture_size: Action;
|
|
135
|
+
merge_layer_down: Action;
|
|
136
|
+
crop_layer_to_selection: Action;
|
|
137
|
+
opacity_slider: NumSlider;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export {};
|
package/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/// <reference types="./custom/blockbench"/>
|
|
2
|
-
/// <reference types="./generated/main"/>
|
|
1
|
+
/// <reference types="./custom/blockbench"/>
|
|
2
|
+
/// <reference types="./generated/main"/>
|
package/package.json
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "blockbench-types",
|
|
3
|
-
"version": "5.
|
|
4
|
-
"description": "Blockbench typescript types",
|
|
5
|
-
"main": "",
|
|
6
|
-
"types": "./index.d.ts",
|
|
7
|
-
"typeScriptVersion": "5.8",
|
|
8
|
-
"keywords": [
|
|
9
|
-
"blockbench"
|
|
10
|
-
],
|
|
11
|
-
"author": "JannisX11",
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/JannisX11/blockbench/issues"
|
|
14
|
-
},
|
|
15
|
-
"repository": {
|
|
16
|
-
"type": "git",
|
|
17
|
-
"url": "https://github.com/JannisX11/blockbench"
|
|
18
|
-
},
|
|
19
|
-
"homepage": "https://blockbench.net",
|
|
20
|
-
"dependencies": {
|
|
21
|
-
"@babel/types": "^7.20.7",
|
|
22
|
-
"@types/dompurify": "^3.0.5",
|
|
23
|
-
"@types/jquery": "^3.5.32",
|
|
24
|
-
"@types/prismjs": "^1.26.0",
|
|
25
|
-
"@types/three": "^0.129.2",
|
|
26
|
-
"@types/tinycolor2": "^1.4.6",
|
|
27
|
-
"dompurify": "^3.0.1",
|
|
28
|
-
"electron": "^40.8.0",
|
|
29
|
-
"prismjs": "^1.29.0",
|
|
30
|
-
"tinycolor2": "^1.6.0",
|
|
31
|
-
"typescript": "^5.8.3",
|
|
32
|
-
"vue": "2.7.14",
|
|
33
|
-
"wintersky": "^1.3.0"
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@types/node": "^18.14.6",
|
|
37
|
-
"prettier": "^2.8.3"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "blockbench-types",
|
|
3
|
+
"version": "5.2.0-beta.0-next.1",
|
|
4
|
+
"description": "Blockbench typescript types",
|
|
5
|
+
"main": "",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"typeScriptVersion": "5.8",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"blockbench"
|
|
10
|
+
],
|
|
11
|
+
"author": "JannisX11",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/JannisX11/blockbench/issues"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/JannisX11/blockbench"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://blockbench.net",
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@babel/types": "^7.20.7",
|
|
22
|
+
"@types/dompurify": "^3.0.5",
|
|
23
|
+
"@types/jquery": "^3.5.32",
|
|
24
|
+
"@types/prismjs": "^1.26.0",
|
|
25
|
+
"@types/three": "^0.129.2",
|
|
26
|
+
"@types/tinycolor2": "^1.4.6",
|
|
27
|
+
"dompurify": "^3.0.1",
|
|
28
|
+
"electron": "^40.8.0",
|
|
29
|
+
"prismjs": "^1.29.0",
|
|
30
|
+
"tinycolor2": "^1.6.0",
|
|
31
|
+
"typescript": "^5.8.3",
|
|
32
|
+
"vue": "2.7.14",
|
|
33
|
+
"wintersky": "^1.3.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^18.14.6",
|
|
37
|
+
"prettier": "^2.8.3"
|
|
38
|
+
}
|
|
39
|
+
}
|
package/tsconfig.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"include": [
|
|
3
|
-
"custom/**/*",
|
|
4
|
-
"generated/**/*",
|
|
5
|
-
],
|
|
6
|
-
"compilerOptions": {
|
|
7
|
-
"target": "ES2022",
|
|
8
|
-
"useDefineForClassFields": true,
|
|
9
|
-
"module": "ES2022",
|
|
10
|
-
"moduleResolution": "Node",
|
|
11
|
-
"jsx": "preserve",
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
"isolatedModules": true,
|
|
14
|
-
"esModuleInterop": true,
|
|
15
|
-
"lib": ["ES2023", "DOM", "DOM.Iterable"],
|
|
16
|
-
"skipLibCheck": true,
|
|
17
|
-
"noEmit": true
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"include": [
|
|
3
|
+
"custom/**/*",
|
|
4
|
+
"generated/**/*",
|
|
5
|
+
],
|
|
6
|
+
"compilerOptions": {
|
|
7
|
+
"target": "ES2022",
|
|
8
|
+
"useDefineForClassFields": true,
|
|
9
|
+
"module": "ES2022",
|
|
10
|
+
"moduleResolution": "Node",
|
|
11
|
+
"jsx": "preserve",
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"esModuleInterop": true,
|
|
15
|
+
"lib": ["ES2023", "DOM", "DOM.Iterable"],
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"noEmit": true
|
|
18
|
+
}
|
|
19
|
+
}
|